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


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

我使用的是集成了mailgun的Laravel 5.2。试图通过SMTP发送电子邮件,但由于以下错误而无法成功:

无法使用用户名在SMTP服务器上进行身份验证"postmaster@sandboxe56d93c917b144e98a4f07d1dbf2683a.mailgun.org"使用3个可能的验证器

我正在本地主机上开发应用程序,并设置了虚拟主机(即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调用将从该本地化中获取值。