在laravel中获取220错误的邮件功能

时间:2018-03-01 15:47:30

标签: php laravel email smtp

在我的laravel项目中,我配置了一个邮件文件,如下所示。并在AbstractSmtpTransport.php第383行中收到错误 Swift_TransportException: 预期的响应代码220但得到代码" 502",消息" 502命令未实现 "

mail.php文件

<?php

return [
    'driver' => env('MAIL_DRIVER'),
    'host' => env('MAIL_HOST'),
    'port' => env('MAIL_PORT', 587), 
    'from' => [
        'address' => 'alfiza@adaptit.co.uk',
        'name' => 'oData',
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'stream' => [
        'ssl' => [
            'allow_self_signed' => true,
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ],

];

.env文件

APP_ENV=local
APP_KEY=base64:FB3usUpI/uPm6VLzx2yR0xHcE61ZxHU6MC6QCBk6wHE=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

OCONNECT_URL=http://localhost:8001/
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=odata_demo2
DB_USERNAME=root
DB_PASSWORD=root

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls

我是否需要在我的ini中添加任何扩展名?在我的另一个桌面系统中,它工作得非常好。但是当我进入我的笔记本电脑时,发送电子邮件时显示错误为220.我也在这里发现了同样的问题(在stackover flo中对我不起作用。请帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您使用的是本地主机上未启用的加密MAIL_ENCRYPTION=tls

在env文件中使用MAIL_ENCRYPTION=null作为localhost,或者如果gmail需要,则为localhost启用它(tls)。