1

如果我使用正常命令和正确的 SMTP 配置从本地 PC 通过 MAMP Pro在Laravel 5.8.*中运行我的项目php artisan make:auth,我无法通过我的外部邮件服务器使用 Mamp 从本地 PC 发送确认邮件。

然后总是出现此错误代码:

Swift_TransportException

预期响应代码 354,但得到代码“554”,消息“554 5.5.1 错误:没有有效的收件人

Laravel 存储/day.log:

[2019-03-11 14:25:20] local.ERROR:预期响应代码 354,但得到代码“554”,消息“554 5.5.1 错误:没有有效的收件人”{“userId”:9,“异常” :"[object] (Swift_TransportException(code: 554): 预期的响应代码 354,但得到代码 \"554\",消息 \"554 5.5.1 错误:在 /Users/***** 处没有有效的收件人\" /Developer/Laravel-Project/Laravel-System/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:457) [stacktrace]

但是,这仅出现在我的笔记本电脑上,而我的网络服务器上的 MAMP 一切正常。

在我的 .env 文件中,它看起来像这样:

MAIL_DRIVER=smtp
MAIL_HOST=mail.my-external-mail-server.com
MAIL_PORT=587
MAIL_USERNAME=alias@my-domain.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls

在我的 cofig/mail.php 中:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'mail.my-external-mail-server.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'alias@my-domain.com', 'name' => 'my-domain.com'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('alias@my-domain.com'),
'password' => env('********'),
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => ['theme' => 'default',
'paths' => [resource_path('/views/vendor/mail'),],],

这些设置也适用make:auth于我自己的服务器上的 Laravel 的正常命令和我自己的邮件服务器,但是每当我在本地 PC 上使用 MAMP 测试它时,就会出现上述错误消息。

有谁知道它是什么?是否只能通过有效的 SSL 连接发送邮件?我怎样才能避免这个错误?

4

1 回答 1

1

我自己找到了答案!!!

注意:请先检查与配置相关的邮件是否通过 SMTP 服务器从其他位置发送。例如另一个服务器或另一个本地开发环境。

任何有相同错误的人都应该检查这些条目。

将端口加密更改为:

MAIL_PORT=465
#AND
MAIL_ENCRYPTION=ssl

然后在项目根文件夹中执行以下命令:

php artisan config:cache
php artisan config:clear
php artisan cache:clear
于 2019-03-12T12:46:30.670 回答