Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Heroku部署上的Laravel 5.4邮件错误_Php_Laravel_Email_Heroku - Fatal编程技术网

Php Heroku部署上的Laravel 5.4邮件错误

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' => [ '

我在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' => [
        '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