laravel8 发送email验证
一、开启POP3和SMTP服务
1.
2.
3.到这一步会提示验证,按照提示发送短信通过验证:
4.短信发送成功,会出现如下提示、也就代表配置成功。你需要记录密钥,这个东西会在配置中用:
对 Laravel 框架中邮件发送的配置文件进行修改:
.env
1 MAIL_DRIVER=smtp 2 MAIL_HOST=smtp.qq.com 3 MAIL_PORT=465 4 MAIL_USERNAME=邮箱 5 MAIL_FROM_ADDRESS=邮箱 6 MAIL_FROM_NAME="发件人名称" 7 MAIL_PASSWORD=授权码 8 MAIL_ENCRYPTION=ssl //加密方式 ssl / stl
config/mail.php 文件:
return [ ‘driver’ => env(‘MAIL_DRIVER’, ‘smtp’), ‘host’ => env(‘MAIL_HOST’, ‘smtp.mailgun.org’), ‘port’ => env(‘MAIL_PORT’, 587), ‘from’ => [ ‘address’ => env(“MAIL_USERNAME”, “”), ‘name’ => env(“MAIL_FROM_NAME”) ], ‘encryption’ => env(‘MAIL_ENCRYPTION’), ‘username’ => env(‘MAIL_USERNAME’), ‘password’ => env(‘MAIL_PASSWORD’), ‘sendmail’ => ‘/usr/sbin/sendmail -bs’, ‘pretend’ => env(‘MAIL_PRETEND’, false), ];
创建控制器、配置路由
编辑控制器、加入以下代码:
use Illuminate\Support\Facades\Mail;
public function sendMail()
{ $code = mt_rand(1000,9999); Session::put('email',$code); $to = request()->input('email'); //收件人邮箱 $name = '尊敬的用户你的验证码为'.$code; //发送内容 // Mail::send()的返回值为空,所以可以其他方法进行判断 // Mail::send();需要传三个参数; // 第一个为引用的模板 // 第二个为给模板传递的变量(邮箱发送的文本内容) // 第三个为一个闭包,参数绑定Mail类的一个实例。 $to = 'itlaowen@qq.com'; //收件人邮箱 Mail::send('view视图',['name'=>$name],function($message) use ($to){
$message ->to($to)->subject('邮件测试'); //subject("邮件标题") }); // 返回的一个错误数组,利用此可以判断是否发送成功
dd(Mail::failures());
//如果为0则发送成功
}
创建view
{{$name}}
6、报错:stream_socket_client() 、certificate verify failed
具体报错如下:
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
原因:
php openssl 没有加载 ca 证书 , 去下载个 ca 证书然后添加进去即可
解决:
查看phpinfo()、检查openssl.cafile的文件是否存在
不存在的话进行如下操作
1、找到自己的 php 的安装目录 2、进入目录:cd php/etc/ 3、下载 ca 证书:wget http://curl.haxx.se/ca/cacert.pem 4、查看目录:pwd 5、编辑 php.ini:vim php.ini 6、修改 openssl.cafile 的路径 openssl.cafile=/usr/local/php/etc/cacert.pem
解决laravel 8 发送邮件提示: cannot sendmessage without a sender address
这是因为我们需要去修改一下 mail.php 配置文件 打开 config/mail.php 找到 from 配置项 ‘from’ => [‘address’ => null, ‘name’ => null] 我们需要配置发件地址,和显示的昵称,把这两项配置好了就ok啦~
————————————————
版权声明:本文为CSDN博主「多喝烫水i。」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/alashren/article/details/117533206
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)