Php Heroku部署上的Laravel 5.4邮件错误
我在Heroku部署了一个Laravel应用程序。我不知道如何配置邮件。这就是我使用Php Heroku部署上的Laravel 5.4邮件错误,php,laravel,email,heroku,Php,Laravel,Email,Heroku,我在Heroku部署了一个Laravel应用程序。我不知道如何配置邮件。这就是我使用config\mail.php所做的 <?php return [ 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'from' => [ '
config\mail.php所做的
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'myemail@gmail.com'),
'name' => env('MAIL_FROM_NAME', 'My App'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => 'myemail@gmail.com',
'password' => 'mypassword',
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
我的.env
在这里,我搜索了这个问题,但没有一个有效
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
您是否在heroku仪表板或使用命令行更新了环境变量
据我所知,heroku不从.env读取变量。因此,Swiftmailer使用的是config/mail.php中的凭据,而不是.env文件中的凭据
所以它在试图欺骗我们
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
而不是
MAIL_HOST=smtp.gmail.com
此外,错误显示的是@email.com
而不是@gmail.com
您是否在某个地方有打字错误?在Heroku“转到设置”中,单击“显示配置变量”按钮,并将配置变量添加为.env文件邮件部分
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
在我的情况下,它可以正常工作请确保将所有信息添加到heroku设置项目中,因为heroku不读取该文件,因为它是一个较旧的问题版本控制是相关的。当您尝试此操作时,此操作适用的发布版本。提高采收率。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls