一封电子邮件转发到多个电子邮件地址
Posted
技术标签:
【中文标题】一封电子邮件转发到多个电子邮件地址【英文标题】:One email to forward to multiple email addresses 【发布时间】:2013-07-29 14:50:43 【问题描述】:我希望创建一封电子邮件 (example@domain.com) 以转发到数据库中的所有电子邮件地址。
人们可以向 example@domain.com 发送电子邮件,然后该电子邮件将被发送到预定义的电子邮件地址列表。它需要包括对附件的支持。
我意识到这根本不安全,因此将此电子邮件地址开放给任何人使用,但这是我们组织希望做的事情。
在 php 服务器上执行此操作的最佳方法是什么?
谢谢。
【问题讨论】:
我认为你宁愿设置一个邮件列表/邮件别名,让邮件服务器处理它。 这可能更容易通过邮件转发服务完成。如果您确实需要从数据库更新此列表,请使用 postmarkapp 或一些电子邮件接收服务在收到电子邮件时调用您的服务器 【参考方案1】:这可以在 PHP Server 中实现,因为您必须深入了解以下内容:
电子邮件管道
电子邮件标题
MIME 电子邮件附件
邮件列表管理
【讨论】:
【参考方案2】:虽然以您提到的方式向很多人发送电子邮件并不是一个好主意......
你可以使用PHP的“邮件”功能:
$to = "user1@domain.com, user2@domain.com"; //(Comma separated list of emails)
$from = "noreply@domain.com";
$subject = "Hello";
$message = "Hello there!";
$headers = "From: ". $from . "\r\n".
"Reply-To: ".$from . "\r\n";
//send it
mail($to, $subject, $message, $headers);
【讨论】:
【参考方案3】:while($row = mysql_fetch_array($emails))
$addresses[] = $row['address'];
$to = implode(", ", $addresses);
然后使用邮件功能发送邮件... mail($to, $subject, $message, $headers);
【讨论】:
【参考方案4】:您对查询的表述方式有点令人困惑,但您似乎有一个托管服务器,它将接收到域电子邮件的电子邮件。然后,您希望将这些电子邮件自动转发到收件人列表。看起来您想调查(假设您提到 sendmail)linux 邮件服务和自动转发。您可能正在查看 postfix 并可能使用 procmailrc 来捕获和重定向服务器上的传入邮件。
我以前用 procmailrc 做过这个,但这真的取决于处理传入邮件的服务。
按照@George 的建议调用CLI PHP 脚本然后从数据库中读取您的收件人并进行发送没有问题。
【讨论】:
【参考方案5】:虽然 Arthur 的回答是有道理的,而且很可能会奏效,但我最终发现我的主机拥有我一直在寻找的功能。对于那些想知道的人,它被称为discussion lists。
【讨论】:
以上是关于一封电子邮件转发到多个电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mailkit 或 mimekit 向多个收件人发送一封电子邮件