php邮件多个收件人

时间:2010-07-21 03:12:18

标签: php email

我可以通过在邮件程序中定义ID来向一个电子邮件ID发送电子邮件,但是当用户在表单中键入“mssage and email id”时,我无法理解如何发送给多个收件人。例如 - 我正在显示一个包含两个文本区域的表单 - 一个用于电子邮件ID,另一个用于自定义消息。因此,当他们点击发送时,我想从该文本区域获取电子邮件ID,并将该消息发送给这些ID。我还没弄清楚如何逗号/空格分隔电子邮件,但会在谷歌搜索中尝试。

感谢

4 个答案:

答案 0 :(得分:4)

to函数的mail()参数文档说明:

Receiver, or receivers of the mail.

The formatting of this string must comply with » RFC 2822. Some examples are:

    * user@example.com
    * user@example.com, anotheruser@example.com
    * User <user@example.com>
    * User <user@example.com>, Another User <anotheruser@example.com>

http://php.net/manual/en/function.mail.php

更新

我遇到过使用PHP发送邮件这个很棒的教程: http://articles.sitepoint.com/article/advanced-email-php

答案 1 :(得分:3)

使用像PHPMailer这样的东西(免费,易于安装,易于使用)要容易得多,如果你必须做任何“适度”复杂的事情,比如电子邮件的多个收件人。它会在一个漂亮的界面背后隐藏所有丑陋的细节。不要担心标题语法和诸如此类的东西,你只需要执行以下操作:

$mail = new PHPMailer();
$mail->AddAddress('address1@example.com');
$mail->AddAddress('address2@someotherplace.com');
etc...

答案 2 :(得分:1)

用逗号分隔他们的地址。

答案 3 :(得分:0)

在做了一些搜索之后,我得到了这个答案来发送多个分号分隔的地址(出于某种原因,我在这段代码中用逗号尝试失败了,但我用分号很好)。

如果有人正在寻找JS验证以检查输入的ID

var emailRegex = /^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$/;

当我收集以分号分隔的电子邮件ID时,我不得不替换;用,

$emails_tosend = preg_replace('/;/', ',', $emailid);

$ email id - 从表单中收集

所以在完成上述更换后,我只需使用邮件中的正常“to”发送给多个收件人。

$to = "$emails_tosend";
mail ($to, $subject, $message, $headers);

希望这会有所帮助,而且很明显。我可以解释是否有人需要更多澄清。谢谢你的帮助。