我需要发送超过2000封邮件,我正在使用Swift Mailer库。
我们有自己的服务器,它有SMTP和sendmail传输。我正在使用SMTP:
$transport = Swift_SmtpTransport::newInstance('localhost', 25);
所有邮件都可以发送给少数人,但我担心在发送群发邮件时我们会被禁止。 我真的不知道“被禁止”是什么意思以及它看起来如何,但我担心后果。
那么,是否存在这样的“禁令”以及如何以正确的方式使用Swift Mailer实现群发邮件?
P.S。:我的代码如下:
// Create the Transport
$transport = Swift_SmtpTransport::newInstance('localhost', 25);
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance($message_theme)
->setFrom(array($sender => $name))
->setTo($emails)
->setBody($message_text,"text/html")
;
try {
// Send the message
$result = $mailer->send($message);
}
catch(Exception $e) {
echo "Error: ".$e->getMessage();
}
答案 0 :(得分:3)
因为我希望你不要将它用于垃圾邮件!!!
以下是一些可以做的事情:
答案 1 :(得分:2)
确实存在黑名单/灰名单,并且您可以实施一些最佳做法以避免这些问题。对于2,000封电子邮件,只要您的标题是合法的,您的正文中没有任何可疑内容,并且您的收件人位于不同的域中,您不应该遇到此问题。但是,正如khomyakoshka所提到的,上面的代码是不正确的,您应该使用循环来发送每封电子邮件。这样可以避免将整个邮件列表暴露给每个用户。
其他一些最佳做法:
1)Swiftmailer提供插件(http://swiftmailer.org/docs/plugins.html),可帮助您发送批量电子邮件。特别值得注意的是Throttler和AntiFlood插件。
2)如果您打算修改邮件内容以定制收件人,请考虑使用Decorator插件(也在插件页面上提到)来执行此任务。
希望这些提示有所帮助。