PHP邮件多个收件人

3
我可以通过在邮件程序中定义电子邮件地址来向一个电子邮件地址发送电子邮件,但我不知道如何在用户在表单中输入“消息和电子邮件地址”时发送给多个收件人。例如- 我展示了一个带有两个文本区域的表单-一个用于电子邮件地址,另一个用于自定义消息。因此,当他们单击发送时,我想从该文本区域获取电子邮件地址并将该消息发送到这些地址。我还没有弄清楚如何用逗号/空格分隔电子邮件地址,但会在Google搜索中尝试。

谢谢


我已经添加了一个链接,你可能会发现它很有用的教程。 - George Marian
4个回答

4

你好,感谢,我成功发送了多封邮件,并计划在稍后整理代码后进行发布。现在我遇到了使用cron自动发送电子邮件的问题。这是我需要的 - 当管理员发送电子邮件时,我需要将消息、电子邮件和事件日期存储在数据库中。现在,我正在尝试设置一个cron作业,从带有这些id的表中发送电子邮件,以提醒我已经存在的消息。我不熟悉cron作业脚本编写,请问有人可以帮助我指导正确的编写脚本并放置在cron表中吗?谢谢。 - JDesigns
我同意你的观点,正如我在另一个问题中提到的那样,一旦我完成了基于答案和评论的工作,我肯定会给予信用。可能会有一些延迟,但我从不失信。我稍后会发布我的cron job问题。谢谢。我已经将它作为一个问题添加在这里:https://dev59.com/4nA75IYBdhLWcg3wT3H8 - JDesigns

3

如果你需要处理一些稍微复杂的事情,比如给多个收件人发送邮件,使用像PHPMailer(免费、易于安装、易于使用)这样的工具会更加容易。它将在一个漂亮的界面后面为你隐藏所有丑陋的细节。你只需要做类似这样的事情,而不用担心头部语法等问题:

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

+1 是个好主意,不过我认为了解幕后发生的事情是必要的。 - George Marian

1

用逗号分隔他们的地址。


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);

希望这有所帮助并且清晰易懂。如果有人需要更多的解释,我可以进行说明。感谢大家的帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接