我正在尝试使用php向多个用户发送电子邮件,但遇到一些问题。我可以向该电子邮件地址发送邮件,但是它在to字段中显示了所有电子邮件地址。 我希望它循环播放,并将电子邮件分别发送给每个用户。

我的PHP代码是

在这里,我从MYSQL获取所有信息。

$r=mysql_query("SELECT * FROM user WHERE USER_ID='$user_id");
$r=mysql_fetch_array($r);
$emailfrom=$r['EMAIL_FROM'];
$emailpriority=$r['EMAIL_PRIORITY'];
$emailsubject=$r['EMAIL_SUBJECT'];
$emailto=$r['EMAIL_TO']; --> data stored here is the email addresses of the users.

它也已经格式化->例如:test1 @ test.com,test2 @ test.com,test3 @ test.com等

电子邮件标题

$subject = "$emailsubject";
$mailer = "$emailfrom";
$headers = "From: $mailer \r\n";
$headers .= "Reply-To: $mailer\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Importance: $emailpriority\r\n";

mail($emailto, $subject, $message, $headers); 

提前非常感谢您。

===============>>#1 票数:1 已采纳

首先使用explode()将字符串$emailto中的每个地址解析为数组的成员。 由于您的字符串是逗号分隔的,因此您需要将字符串','作为第一个参数传递:

$addresses = explode(',', $emailto);

这将产生一个地址数组,您可以遍历每个迭代并分别执行mail()

foreach ($addresses as $recipient) {
    mail($recipient, $subject, $message, $headers); 
}

===============>>#2 票数:0

您可以按照zeantsoi所说的那样进行遍历 ,也可以使用PHPMailer库,它更适合您的要求。

您可以在此处参考文档。

  ask by user3303594 translate from so

未解决问题?本站智能推荐: