预期的响应代码为235,但得到的代码为535,laravel使用office365 smtp发送电子邮件

时间:2018-11-14 11:12:09

标签: laravel email office365 sendmail

我想使用laravel应用程序中的office365 smtp凭据发送电子邮件。我在.env文件中对电子邮件设置进行了如下更改:

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

当我尝试发送电子邮件时,出现类似

的错误
Failed to authenticate on SMTP server with username \"info@omoyyc.com\" using 2 possible authenticators. Authenticator LOGIN returned Swift_TransportException: Expected response code 235 but got code \"535\", with message \"535 Incorrect authentication data\r\n\"

我的电子邮件发送代码如下

Mail::send(array(), array(), function ($m) use ($templatecontent) {
        $m->from('customerservice@****.com', 'TEST');
        $m->to('test@gmail.com', 'Test')
                ->subject($templatecontent['subject'])
                ->setBody($templatecontent['content'], 'text/html');
    });

任何人都可以指导我解决什么问题以及如何解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

我有同样的问题。 我使用了 Gmail SMTP ,并启用了安全性较低的应用程序禁用了双重身份验证的功能,但没有任何效果。就像@jessij提到的那样,令人惊讶的是,在双引号中设置密码有效

.env文件中执行以下操作:

Replace: MAIL_PASSWORD=yourpassword
With: MAIL_PASSWORD="yourpassword"

答案 1 :(得分:1)

我不知道原因是否与OP相同,但是我遇到了相同的错误。我通过用双引号将密码括起来来解决此问题。

我假设当密码包含特殊字符时解析失败。

答案 2 :(得分:0)

如果您的密码包含特殊字符,如“john@#3398”,请将其放入“”。然后使用

清除你的php artisan缓存
php artisan config:cache

然后开始您的php artisan serve

答案 3 :(得分:-1)

我的问题是老兄,但我的问题已解决,可以尝试:

  1. 转到https://myaccount.google.com/security#connectedapps
  2. 查看“安全”菜单->“具有帐户访问权限的应用”菜单。
  3. 您必须打开“允许安全程度较低的应用程序”选项。

如果您已经执行了此步骤,请重试您的项目。如果仍然无法使用,请继续执行以下步骤:

  1. 访问https://accounts.google.com/UnlockCaptcha
  2. 单击继续按钮

好运伙计!