我需要每隔一天最多发送大约300封批量电子邮件,因此我正在考虑使用PHP mail()函数为我创建一个PHP应用程序。
我需要能够在邮件正文中包含与其网站上的域名/链接相对应的变量,并且只发送一次电子邮件,这就是为什么我不使用Mailchimp,因为我不想取消订阅按钮或电子邮件中的任何类似内容。
使用PHP mail()是否可行,我是否应该做些什么来避免被列入黑名单?
答案 0 :(得分:1)
使用PHP的mail()
函数绝对可以实现这一点。
但是,如果您计划使用HTML格式的电子邮件,我强烈建议您使用其中一个准备好的库。我最喜欢的是SwiftMailer。
当涉及到黑名单时,最好的选择之一是:
后者可以通过以下方法之一完成:
示例强>
foreach($recipients as $rcp) {
mail($rcp, 'subject', 'content');
sleep(rand(1,20));
}
这将从您的队列中发送一条消息,并在两者之间留下1到20秒的不同延迟。
如果您使用此类方法,请确保正确配置了最长执行时间,否则脚本将在一定时间后死亡。
ini_set('max_execution_time', '3600');
这将使您的脚本最多运行一小时。
您的其他选择:
在这种情况下,您可以将当前收件人写入文件,并在每次执行脚本时增加该计数器。
我认为在你的情况下,以前的方法会更合适。
请注意
在某些情况下发送批量或垃圾邮件可能是非法的。正如您在问题的评论中所讨论的那样,您应始终在邮件中提供取消订阅选项(例如链接)。
另请注意,很难判断哪些收件人服务器使用哪种方法来识别可疑客户端/客户端主机。使用上面提供的方法并不能保证目标服务器不会将您列入黑名单。