【问题标题】:Sending email to array of recipients on php在php上向收件人数组发送电子邮件
【发布时间】:2014-05-13 09:26:02
【问题描述】:

我希望向多个收件人发送电子邮件,但我无法这样做.. 这是我的代码。

using print_r() statement
Array
(
    [selectedvalue] => Array
        (
            [0] => muralidego@gmail.com
            [1] => muralidego@yahoo.com
            [2] => ezhil@emirates.net.ae
        )
}

我想在邮件中使用这些电子邮件($mailDO->toEmail)

mail($mailDO->toEmail, $mailDO->subject, $mailDO->message, $headers); 

请帮帮我...谢谢。

【问题讨论】:

  • implode(',', $emails)for-loop
  • 使用foreach($urarray["selectedvalue"] as $key=>$val){ mail($val, $mailDO->subject, $mailDO->message, $headers); }
  • @u_mulder,然后所有收件人也可以看到其他人的电子邮件。会引起隐私的骚动;)
  • 是的,这就是为什么我提到 for-loop 作为另一个选项
  • @u_mulder,你刚刚编辑了那个。 -_-

标签: php mysql email


【解决方案1】:

使用foreach

foreach($yourarr['selectedvalue'] as $email)
{
 mail($email, $mailDO->subject, $mailDO->message, $headers); 
}

【讨论】:

    【解决方案2】:

    您可以像Shankar has posted 一样执行foreach 循环,也可以将它们作为另一个cc 添加到您的标题中。

    $headers .= 'Cc: muralidego@yahoo.com' . "\r\n";
    $headers .= 'Cc: ezhil@emirates.net.ae' . "\r\n";
    

    或者如果你不想让他们知道,那么你可以这样做:

    $headers .= 'Bcc: muralidego@yahoo.com' . "\r\n";
    $headers .= 'Bcc: ezhil@emirates.net.ae' . "\r\n";
    

    【讨论】:

    • 如果这是正确的,您可以投票+标记为正确吗? :) @muralidego
    【解决方案3】:

    您需要将所有电子邮件地址组合成一个字符串,以便与 mail() 一起使用。

    mail(implode(',',$yourarr['selectedvalue']),$mailDO->subject, $mailDO->message, $headers);
    

    根据您暗示您正在使用 MySQL 的标签。在这种情况下,您已经可以将其作为查询的一部分进行处理:

    SELECT GROUP_CONCAT(DISTINCT email SEPARATOR ",") FROM your_table WHERE somerule=1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2021-07-19
      • 2012-05-18
      • 1970-01-01
      相关资源
      最近更新 更多