Laravel Office365预期响应代码为250,但代码为“”,并带有消息“”

时间:2018-12-05 14:53:45

标签: laravel smtp office365 swiftmailer

需要在我的Laravel应用程序上设置Mail的帮助。

我的.env文件:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=*****@*****.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls

这将返回以下错误:

Expected response code 250 but got code "", with message ""

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,事实证明Office 365不允许您在邮件发送功能中使用与from文件中使用的设置不同的.env设置。

我想根据通过提交表单的请求输入的任何数据来设置from的名称和电子邮件地址,以便在CRM系统中捕获它们,并且抛出了同样的异常。不确定这是否对您有帮助,但这就是我解决问题的方式。

以下是我在控制器中的代码作为示例:


$data = [
   'name' => $request->get('name'),
   'surname' => $request->get('surname'),
   'email' => $request->get('email'),
   'phone' => $request->get('phone'),
    'subject' => $request->get('message-subject')
];

$from = $data['name'] . ' ' . $data['surname'];
            Mail::send('mail.mymail', compact('data'), function($message) use ($request, $data, $from) {
                                $message->to('example@companyiworkfor.com', 'Some Company I Work For')->subject('Website Contact Form');
                                $message->from($data['email'], $from);
// Office 365 won't let you use a different from address here,so use same email as per your .env
            });