Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 Laravel 5:发送电子邮件_Php_Email_Smtp_Laravel 5 - Fatal编程技术网

Php Laravel 5:发送电子邮件

Php Laravel 5:发送电子邮件,php,email,smtp,laravel-5,Php,Email,Smtp,Laravel 5,我正在尝试在laravel应用程序中发送电子邮件。 这是我的.env文件: MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=ehsan.sani91@gmail.com MAIL_PASSWORD=********** MAIL_ENCRYPTION=tls 下面是Mail::send方法: Mail::send('email', ['name' => "EE"], function($m){

我正在尝试在laravel应用程序中发送电子邮件。 这是我的
.env
文件:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=ehsan.sani91@gmail.com
MAIL_PASSWORD=**********
MAIL_ENCRYPTION=tls
下面是
Mail::send
方法:

Mail::send('email', ['name' => "EE"], function($m){
            $m->to('ee@dx.com', 'Malik')->subject('Subjet of the email');
        });
下面是错误:

Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. s16sm7748968wib.16 - gsmtp"

有什么帮助吗?

GMail SMTP需要加密。尝试更改设置,如下所示

 MAIL_PORT=465
 MAIL_ENCRYPTION=ssl

嗯,我明白了。事实上,该电子邮件未经身份验证,因为该电子邮件在登录后需要移动电话身份验证。更改为其他只需要登录凭据的电子邮件地址,它就起作用了

.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@host.com
MAIL_PASSWORD=yourpassword
MAIL_ENCRYPTION=tls

我犯了以下错误: 我实际上没有包括

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

返回mail.php中的数组。我确实在mail.php中包含了我的主机、端口、用户名和密码,但没有包含加密方法(我只在.env文件中包含了加密方法),因此尝试上述解决方案确实会改变错误消息的结果,造成更大的混乱,但没有解决问题。希望这对别人有帮助

如果上述注释无效,请尝试清除缓存:

php artisan cache:clear
php artisan config:clear

可能是端口错误,您可以查看此网页

您在哪里使用此代码,本地还是服务器?如果您指的是Mail::send(---)代码,则我在Controller中使用它。我的意思是。。。本地主机或服务器上的u r!?这只是一个身份验证错误。我建议遵循错误消息
5305.7.0的说明,必须首先发出STARTTLS命令。s16sm7748968wib.16-gsmtp
。谷歌快速获取此…-我希望它没有任何帮助,给出了错误:AbstractSmtpTransport.php第383行中的Swift_TransportException:预期响应代码250,但得到代码“530”,消息是“530 5.7.0必须首先发出STARTTLS命令。w8SM2071929WJA.15-gsmtp”您的驱动程序设置是什么
'driver'=>env('MAIL_driver','smtp'))
在邮件配置中??这是驱动程序设置:
'driver'=>env('mail\u driver','smtp')
这是主机:
'host'=>env('mail\u host','smtp.gmail.com')
这是端口:
'port'=>env('mail\u port',465)
在邮件配置文件中,您的
.env
文件
邮件主机
应为:
邮件主机=smtp.gmail.com
env()
函数将尝试从
.env
加载变量,或使用默认值:
env('KEY','The default')
。(这是给带着同样问题来到这里的人的)这是一个建议还是一个答案?请提供详细的答案和解释。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。