我希望创建一封电子邮件 (example@domain.com) 以转发到数据库中的所有电子邮件地址。
人们可以通过电子邮件发送到 example@domain.com,然后该电子邮件将被发送到预定义的电子邮件地址列表。它需要包括对附件的支持。
我意识到这根本不安全,并让这个电子邮件地址对任何人开放,但这是我们组织希望做的。
在 PHP 服务器上执行此操作的最佳方法是什么?
谢谢。
我希望创建一封电子邮件 (example@domain.com) 以转发到数据库中的所有电子邮件地址。
人们可以通过电子邮件发送到 example@domain.com,然后该电子邮件将被发送到预定义的电子邮件地址列表。它需要包括对附件的支持。
我意识到这根本不安全,并让这个电子邮件地址对任何人开放,但这是我们组织希望做的。
在 PHP 服务器上执行此操作的最佳方法是什么?
谢谢。
您对查询的措辞有点令人困惑,但似乎您有一个托管服务器,它将接收到域电子邮件的电子邮件。然后,您希望将这些电子邮件自动转发到收件人列表。看起来您想调查(假设您提到 sendmail)linux 邮件服务和自动转发。您可能正在查看 postfix 并可能使用 procmailrc 来捕获和重定向服务器上的传入邮件。
我以前用 procmailrc 做过这个,但这真的取决于什么服务正在处理传入的邮件。
按照@George 的建议调用CLI PHP 脚本然后从数据库中读取您的收件人并进行发送是没有问题的。
这可以在 PHP Server 中实现,因为您必须深入了解以下内容:
电子邮件管道
电子邮件标题
MIME 电子邮件附件
邮件列表管理
虽然以您提到的方式向很多人发送电子邮件并不是一个好主意......
您可以使用 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);
while($row = mysql_fetch_array($emails))
{
$addresses[] = $row['address'];
}
$to = implode(", ", $addresses);
然后使用邮件功能发送邮件 ... mail($to, $subject, $message, $headers);
虽然亚瑟的回答是有道理的,而且很可能会奏效,但我最终发现我的主人拥有我一直在寻找的功能,隐藏在其中。对于那些想知道的人,它被称为讨论列表。