简体   繁体   English

未使用PHPMailer发送的群发邮件

[英]Mass mails not sent using PHPMailer

I need to send over 1000 mails and I am using PHPMailer for it. 我需要发送1000封邮件,并且我正在使用PHPMailer。 I am sending mails as HTML and using SMTP. 我正在以HTML格式发送邮件并使用SMTP。

My code looks like: 我的代码如下:

while($count<1000)  
{
    try{
    if($count%20==0)
    {               
        $mail = new PHPMailer;

        $mail->SMTPDebug = true;                               // Enable verbose debug output
        //$mail->SMTPDebug = 3;

        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = 'localhost';          // Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        $mail->Username = 'username';                 // SMTP username
        $mail->Password = 'password';                           // SMTP password
        //$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        //$mail->Port = 587;                                 // TCP port to connect to
        $mail->Timeout = 200;   
        $mail->SMTPKeepAlive = true;                                
        $mail->setFrom(username, sender);

        $mail->isHTML(true);                          // Set email format to HTML

        $mail->Subject = $subject;      
    }
            $msg = htmlspecialchars_decode($message);
            $msg = substr($msg,0,-14);
            $mail->Body  = $msg;

            $mail->addAddress(emails);

            if($mail->send())
            {
                $flag="1";
            }
            $count++;
            $mail->ClearAddresses();
            $mail->Smtpclose();
    }catch (phpmailerException $e) {
      echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
      echo $e->getMessage(); //Boring error messages from anything else!
    }
}

Atmost 20 mails are only sent at a time. 一次最多只能发送20封邮件。 Is it because mails may contain spam? 是因为邮件可能包含垃圾邮件?

Suggest you to delay your loop, you can use sleep . 建议您延迟循环,可以使用sleep I think you can send 5 per second with no problem, but you need to check with your email provider. 我认为您每秒可以发送5个邮件,但是您需要向电子邮件提供商咨询。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM