我正在使用 PHPMailer 通过我们公司的 Gmail 帐户通过 SMTP 发送邮件的网站上开发软件。使用该软件,客户注册该网站并收到收据和视频票。每位客户在注册时会收到两封单独的电子邮件。然后,在活动开始之前,我们要重新发送所有视频门票。
我想知道发送电子邮件的限制是什么。我们可以使用 PHPMailer 通过 SMTP 每分钟、每小时、每天发送多少封电子邮件?
谢谢。
更新:
我们将 Google Apps 用于企业
好的,我直接联系了谷歌以获得答案,这是他们的回复:
感谢您的留言。
我们了解到,您对 Google Apps for Business 发送限制有疑问。正如我们在http://support.google.com/a/bin/answer.py?hl=en&answer=166852上的帮助中心文章中所述,每日限制是 24 小时内 2000 条消息,而不是一天。一般来说,我们的服务器可以容忍每秒一条消息,直到达到发送限制。我们真的没有每小时或每分钟的发送限制。如果您发送消息太快,您可能会受到速率限制,但该帐户不应锁定。
通过速率限制,因为通常每秒一条消息,如果您尝试每秒发送太多消息,您可能会收到一条消息,告诉您无法发送消息,或者您必须等待才能发送消息。
因此,在他们回复后,我们对 1,000 封电子邮件进行了测试。我们会发送一封电子邮件,等待发送确认,等待 2 秒,然后发送下一封。这导致在大约 55 分钟内成功发送所有 1,000 封电子邮件,每封电子邮件之间的间隔为 3-4 秒。下面是我们使用的代码。
<?php
require("PHPMailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = 'USERNAME';
$mail->Password = 'PASSWORD';
$mail->From = "goto@email.com";
$mail->FromName = "Gmail Test";
$mail->AddAddress("me@email.com");
for($i=0; $i<=1000; $i++){
$date = date("H:i:s m/d/Y");
$mail->Subject = "$date";
$mail->Body = "Test $i of PHPMailer.";
if(!$mail->Send()){
echo "Error sending: " . $mail->ErrorInfo;
break;
}else{
echo "$i. E-mail sent => $date<BR>";
sleep(2);
continue;
}
}
?>