laravel - 如何通过 gmail smtp 使用 laravel 发送邮件?
问题描述
我想在我的网站上创建联系我们页面,我已经使用 mailtrap 成功地做到了,但是当我想使用 gmail smtp 服务器发送时,我什么也没有收到,也没有错误。这是我的 .env 邮件配置:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=myemail
MAIL_PASSWORD=my_app_password
MAIL_ENCRYPTION=ssl
和我用来发送电子邮件的代码:
$obj=new \stdClass();
$obj->contenu=$request->input('contenu');
$obj->objet=$request->input('objet');
$obj->email=$request->input('email');
$data=array('contenu'=>$obj->contenu,'email'=>$obj->email);
Mail::send("front.contactUs",$data,function ($message) use ($obj){
$message->from($obj->email);
$message->to('salondesbelleslettres@gmail.com')
->subject($obj->objet);
});
if(count(Mail::failures())>0){
return redirect()->back()->with('error','Votre demande na pas ete soumise');
}else{
return redirect()->back()->with('success','Merci de Nous Avoir Contacté');
}
谢谢。
解决方案
需要将您的.env
文件更改为以下内容:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls
编辑完成后,.env
请在终端中输入此命令以清除缓存:
php artisan config:cache
您需要生成应用程序密码,您可以在.env
文件中使用该应用程序密码。
如何生成应用密码:
转到您的Google 帐户
在左侧导航面板上,单击安全性。
在登录Google面板上,点击应用密码。(注意:如果您无法访问该页面,两步验证是:未为您的帐户设置,仅设置安全密钥)
在底部,单击选择应用程序并选择您正在使用的应用程序。
- 单击选择设备并选择您正在使用的设备。
- 点击生成
- 按照说明在您的设备上输入应用程序密码(黄色栏中的 16 个字符代码)。
- 单击完成。
完成后,您将不会再看到该应用程序密码代码。
注意:您可能无法为不太安全的应用程序创建应用程序密码。
推荐阅读
- kubernetes - 如何为redis部署设置环境变量?
- arrays - 使用键等值将数组转换为对象
- asp.net - 带有 HTTPS 的 Docker Swarm ASP.NET API
- c# - 使用 C# 在 Word 中更改颜色、大小、字体和 co
- java - Java中Redis缓存的单元测试
- node.js - 如何将图像作为 REST API 响应发送?要遵循哪些准则?
- python - 如何实施储蓄?
- python - 查找使用 OpenCV 检测到的轮廓的坐标(X,Y)
- data-visualization - 如何在画面中打开/关闭地理地图点?
- mongodb - 从远程主机连接到 Docker 容器内的 Mongo Router