简体   繁体   中英

send unique email content to multiple recipients using php mysql

I wanted to send unique confirmation link to multiple users, that user list get from the database mysql. I tried using the following code, but it send only the first user not all.

<?php

  $get_ref_q = mysql_query("select * from $referal_details where ser_fk='$last_insert_id'");
  $get_last_ref_value = mysql_num_rows($get_ref_q);

  $z=1;
  if($get_last_ref_value > 0)
  {
    //$user_email = array();
    while($sel_per_fet = mysql_fetch_assoc($get_ref_q))
    {

      $rf_name = $sel_per_fet['rf_name'];
      $dy_link = $sel_per_fet['dy_link'];

      $user_email = $sel_per_fet['rf_email'];

      $userhtml = '<html>
        <body style="width:100%; font-family:Arial; font-size:13px; line-height:22px; background:#fff;  position:relative;color:#555555; margin:0px; padding:0px;">

          <div style="margin:0 auto; width:600px;">
            <div style="background:#fff; width:594px; float:left;border:#2fb25d 3px solid;">
              <div style="padding:27px; width:540px; float:left;text-align:center; border-bottom:#2fb25d 3px solid;">

              </div>
              <div style="background:#fff; padding:44px 34px; width:526px; float:left;">
                <h1 style="color:#000; font-size:20px; font-family:Arial; font-weight:normal; margin-bottom:20px;">
Dear '.$rf_name.' <br />
                </h1>

                <p>Vetri has refered you for this servey</p>
                <p>please find your servey link</p>
                <p><a href="'.$uri.'/index.php?token='.$dy_link.'">'.$uri.'/index.php?token='.$dy_link.'</a></p>

              </div>
            </div>
          </div>

        </body>
      </html>';

      $user_subject = 'Vetri has refered you for this servey';
      $user_message = $userhtml;
      $user_headers  .= 'MIME-Version: 1.0' . "\r\n";
      $user_headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
      $user_headers .= "From: Servey <$comp_email> \r\n";
      mail($user_email,$user_subject,$user_message,$user_headers,"-f$comp_email");
      $z++;
    }
  }
?>

Note: I already have $last_insert_id value. I wanted to send unique email content to each users, not the common contend. Thanks in advance.

Your code looks good - apart from one tiny issue:

$user_headers  .= 'MIME-Version: 1.0' . "\r\n";
---------------^

This line does not need the . , and it is likely that subsequent emails are adding more and more identical headers to $user_headers , causing subsequent messages to fail.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM