我有一个已经开始发送邮件的工作邮件脚本。我们需要向大约 5,000 个电子邮件地址发送一封电子邮件。不过我有一些问题。
1.) 发送速度非常慢。我猜是嵌入?图片有 300+kb 大,它应该像那样减慢发送速度吗?邮件每分钟发送 3 封电子邮件。如果我们要将电子邮件发送给 5000 个收件人,这将花费大量时间。代码是这样的:
$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
$mail->Body = 'Embedded Image: <img src="cid:my-attach">
2.) 我们已经注册了一个 smtp,它不会限制我们每天发送 100 封电子邮件。这有点像随用随付,它会跟踪发送的消息。当我检查日志时,有重复的消息。有一些收件人被发送了两次,奇怪的是它只是尝试发送两次邮件然后移动到下一个电子邮件地址。问题在于它消耗了我们对 smtp 服务的限制,并且还在邮件中添加了太多队列,这使得发送时间更长。我的发送代码是这样的:
if(isset($fromaddress)){
do{
$mail->AddAddress($row['email']);
$mail->Send();
$mail->ClearAddresses();
}
while ($row = mysql_fetch_array ($result));
}
我的查询类似于:
SELECT * from email where id > 200
您可能想知道我的查询。由于连接问题,我需要从超时的地方发送邮件,所以我创建了一个 id 列,并将该数字指定为邮件发送到的最后一个电子邮件地址的 id。我不知道这是否明智,但这就是我目前所拥有的。有什么建议么?