我可以通过在邮件程序中定义ID来向一个电子邮件ID发送电子邮件,但是当用户在表单中键入“mssage and email id”时,我无法理解如何发送给多个收件人。例如 - 我正在显示一个包含两个文本区域的表单 - 一个用于电子邮件ID,另一个用于自定义消息。因此,当他们点击发送时,我想从该文本区域获取电子邮件ID,并将该消息发送给这些ID。我还没弄清楚如何逗号/空格分隔电子邮件,但会在谷歌搜索中尝试。
感谢
答案 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);
希望这会有所帮助,而且很明显。我可以解释是否有人需要更多澄清。谢谢你的帮助。