一封电子邮件转发到多个电子邮件地址

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。

【讨论】:

以上是关于一封电子邮件转发到多个电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

转发入站电子邮件 sendgrid

使用 Mailkit 或 mimekit 向多个收件人发送一封电子邮件

ASP.NET C# 电子邮件附件在发送到多个电子邮件地址时最终变为 0 字节

使用 python 转发 html 电子邮件

CakePHP:向多个地址发送电子邮件

TestFlight:使用多个设备