在 laravel 5.2 上使用 mailgun - 无法验证我的沙盒帐户

Using mailgun on laravel 5.2 - failed to authenticate my sandbox account

我正在使用集成了 mailgun 的 Laravel 5.2。试图通过 SMTP 发送电子邮件但由于错误而未能成功:

Failed to authenticate on SMTP server with username "postmaster@sandboxe56d93c917b144e98a4f07d1dbf2683a.mailgun.org" using 3 possible authenticators

我正在我的本地主机上开发应用程序,并设置了虚拟主机(即 app.dev.local),所以我必须使用沙盒帐户进行所有测试。

这些是 laravel 的 config/mail.php:

'driver' => env('MAIL_DRIVER', 'mailgun'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => null, 'name' => null],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => 'postmaster@sandboxe56d93c917b144e98a4f07d1dbf2xxxx.mailgun.org',
'password' => 'mypassword'

service.php的配置

'mailgun' => [
    'domain' => 'sandboxe56d93c917b144e98a4f07d1dbf2xxxx.mailgun.org',
    'secret' => 'key-63sztbx99h-qdhp7j3-gp6346jsxxxx',
],

一切看起来都很好,因为我直接从我的沙盒帐户的 mailgun 仪表板复制,但由于身份验证失败,该应用程序仍然无法发送电子邮件。

有人知道这里发生了什么吗?

试试端口 2525 也许吧?您可以在当前 587 所在的 config/mail.php 文件中编辑它,或者通过在您的 .env 文件中设置它:

MAIL_PORT=2525

小修正

检查 .env 文件中的 MAIL_DRIVER、MAIL_HOST、MAIL_PORT 值。如果您在 .env 文件中设置了此参数,则函数 env 调用将从该本地化中获取值。