大家, 我正在使用电子邮件系统通过PHP的SMTP协议发送电子邮件, 一切顺利,现在我可以毫无问题地发送消息了,我有很多问题,我希望我能找到解决方案, 1-我使用phpmailer库向用户发送电子邮件,但是我无法控制并获得发送电子邮件的结果,因为我通过一个SMTP连接发送了大约10封电子邮件。 这是我的发送代码
docker exec -it app_container_name bash
ping mysql-docker-container
if(!$ mail-> Send())条件每次即使电子邮件错误也返回true。它的工作原理类似于测试SMTP连接是否建立,我想知道用户是否收到了电子邮件。
我的第二个问题是,我有3000多个邮件地址,我想同时向他们发送电子邮件,这是该过程需要很长时间,而且我必须等待很长时间才能完成,我该怎么做呢?
答案 0 :(得分:0)
要发送到列表,请使用the mailing list example provided with PHPMailer作为起点。另请参阅the wiki article about sending to lists。
为了获得最佳性能,您想要提交到本地或附近的邮件服务器,然后由该服务器负责继续传递。某些邮件可能无法传递,在这种情况下,您将需要依靠退回处理程序;当邮件发送失败时,它将返回到Return-path
地址,您可以通过在PHPMailer中设置Sender
属性来控制该地址(默认情况下,它使用您的From
地址)。请注意,作为发件人,您应该从不自己设置return-path
标头;那就是接收服务器的工作。
但是要警告:处理反弹非常不愉快;因为退回邮件在正常使用中相当“看不见”,所以这意味着它们在质量上极其可变。例如,某些Microsoft Exchange服务器的退回可能会忽略邮件退回的地址!您可以使用VERP addressing来帮助您识别原始收件人地址,甚至单个邮件,以解决这种情况(以及配置错误的邮件服务器的许多其他缺点)。无论您如何处理,都需要在邮件服务器上保持良好的口语。使用外部服务来处理这样的发送不一定更好,因为它们面临着完全相同的问题,尽管至少它们可以处理很多退回处理的不愉快情况。
仅供参考,我运行https://smartmessages.net,这是一个电子邮件营销服务;它是围绕PHPMailer构建的(这部分是我成为维护者的原因),并且我们可以每秒发送300条消息(使用非常好的邮件服务器),因此使用PHPMailer完全可以实现不错的吞吐量。