Laravel Queue,与tcp的连接://smtp.office365.com:587 Timed Out

时间:2017-05-04 08:10:31

标签: php laravel tcp smtp office365

我正在使用Microsoft outlook SMTP详细信息从我的网站向其他用户发送电子邮件。

我配置了队列/作业功能来发送电子邮件。

SMTP设置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=info@abcxyz.com
MAIL_PASSWORD=abcyxz45
MAIL_FROM_NAME=ABC Mailer
MAIL_FROM_EMAIL=info@abcxyz.com
MAIL_ENCRYPTION=tls

调度职位代码

$job    =   new SendReportEmail($job_data);
$this->dispatch($job);

邮件发送代码

class SendReportEmail extends Job implements SelfHandling, ShouldQueue
{
    use InteractsWithQueue, SerializesModels;

    var $data   =   null;

    public function __construct($data)
    {
        $this->data =   $data;
    }

    public function handle()
    {

        $response           =   $this->data['response'];
        $EntrepreneurPdf    =   $response->pdf;

        Mail::send('emailTemplates.imResults', ['response' => $response], function ($message) use ($response, $EntrepreneurPdf)  {

            $message->subject($response->subject);
            $message->to($response->provider_email);

            $this->checkForEntrepreneurReportAttachment($response, $message, $EntrepreneurPdf);

        });
    }
}

当我运行此命令以执行排队作业

php artisan queue:listen --timeout=300

进程已启动,有时我遇到错误,因此由于错误并且一次又一次排队尝试,我多次收到同样的电子邮件。

Processed: Illuminate\Queue\CallQueuedHandler@call


  [Swift_TransportException]                            
  Connection to tcp://smtp.office365.com:587 Timed Out

什么和哪里可以成为问题?

1 个答案:

答案 0 :(得分:0)

在服务器上尝试ping smtp

telnet smtp.office365.com 587