部署后邮件不起作用

时间:2017-09-16 17:12:14

标签: laravel heroku mailgun

我正在建设laravel项目,我使用mailgun发送电子邮件。在当地它工作得很好。在heroku上部署后,它不会发送任何电子邮件。

services.php

'mailgun' => [
'domain' => env('sandbox.....'),
'secret' => env('key-.......'),

mail.php

driver' => env('MAIL_DRIVER', 'mailgun'),

'host' => env('MAIL_HOST', 'smtp.mailgun.org'),

'port' => env('MAIL_PORT', 587),

'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'example@example.com'),
    'name' => env('MAIL_FROM_NAME', 'shop'),
],

'encryption' => env('MAIL_ENCRYPTION', ''),

试着查看heroku logs,但看不到有关邮件的任何内容,所以我真的不明白。我能错过什么?

1 个答案:

答案 0 :(得分:0)

部署我的应用时遇到了同样的问题。我提出了以下检查点,因此它适用于Heroku的生产。我对你的问题的赌注是4号。

  1. 确保您已正确设置验证域(mailgun - > domains - >已验证的域名& dns - 全部为绿色)。
  2. 确保您更新Heroku中的env变量以使用经过验证的域(heroku - > settings - >显示配置变量)应包含字段:MAILGUN_API_KEYMAILGUN_DOMAINMAILGUN_SMTP_PASSWORDMAILGUN_SMTP_LOGINMAILGUN_SMTP_SERVERMAILGUN_SMTP_PORT具有适当的值。
  3. 确保您已清除授权收件人列表(mailgun - >域名 - >授权收件人) - 这样每个人都可以收到您的电子邮件。
  4. 确保您已清除IP白名单列表(mailgun - >帐户概述 - >帐户设置 - >安全性 - > IP白名单)或包含您的Heroku应用程序的IP。请注意,这一点不是关于域的IP管理,而是关于您的mailgun帐户。
  5. 在我的情况下,唯一的ip是我的localhost ip(对于dev),它阻止了Heroku部署的应用程序发送电子邮件。