使用PHPMailer

时间:2018-01-12 17:39:14

标签: php email smtp phpmailer

我需要发送超过1000封邮件,我正在使用PHPMailer。 我发送邮件为HTML并使用SMTP。

我的代码如下:

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!
    }
}

每次只发送20封邮件。 是因为邮件可能包含垃圾邮件吗?

1 个答案:

答案 0 :(得分:0)

建议您延迟循环,可以使用sleep。 我认为你可以每秒发送5个没问题,但你需要咨询你的电子邮件提供商。