laravel 5.2 和邮枪

laravel 5.2 and mailgun

这应该是非常简单的东西,但是所有的教程都太旧了,我真的不知道其中一半是什么:

config/mail.ph

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => null, 'name' => null],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',

所以在我的 .env 文件中我有:

MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=(Default SMTP Login <- found in mailgun)
MAIL_PASSWORD=(Default Password <- found in mailgun)

我相信这些都很好。接下来 config/services.php 我有

'mailgun' => [
    'domain' => env('MAILGUN_DOMAIN'),
    'secret' => env('MAILGUN_SECRET'),
],

然后在我的 .env 文件中:

MAILGUN_DOMAIN=(API Base URL <- found in mailgun)
MAILGUN_SECRET=(API Key <- found in mailgun)

但是当我 运行 artisan queue:listen 我得到错误:

Client error: `POST https://api.mailgun.net/v3/-API Base URL-/messages.mime` resulted in a `404 NOT FOUND` response. 

其中 -API Base URL- 是我的 .env 文件中 MAILGUN_DOMAIN 变量的值

我尝试将我的域名 mail.mydomain.com 放在 MAILGUN_DOMAIN 中,但随后我收到了激活我的帐户的消息,尽管该帐户已经过验证,因此我相信它是活动的。

我尝试将 MAILGUN_DOMAIN 留空,然后我得到了

`POST https://api.mailgun.net/v3//messages.mime` resulted in a `404 NOT FOUND` 

所以,我的结论是 ...v3//messages.mime 之间应该有一些东西,但我不知道是什么。

编辑:

我找到了这个:

https://laracasts.com/discuss/channels/laravel/laravel-and-mailgun-1

我似乎可以删除 MAIL_USERNAMEMAIL_PASSWORD,但我不知道在哪里可以找到此 sandboxxxxxxxx 代码。

正确输入的是你在mailgun中设置的域名。在我的例子中是 mail.mydomain.com.

但是,我从来没有费心去激活帐户(你需要给他们你的 phone 号码,所以这很可能是我跳过它的原因)所以我收到了这条消息。现在问题已经解决了。