测试使用邮箱163、QQ邮箱
QQ邮箱需要注意:需要开启POP3/SMTP服务。
开启成功后生成秘钥,秘钥在配置中用到相当于密码,生成秘钥方法
如果需要记录发邮箱记录时,你需要进行此配置
config/mail.php
.env
mail.php与.env中
‘from‘ => [
‘address‘ => env(‘MAIL_FROM_ADDRESS‘, ‘与.env中MAIL_USERNAME保持一致‘),
],
MAIL_USERNAME=address
driver
用于配置默认的邮件发送驱动,Laravel支持多种邮件驱动方式,包括smtp、Mailgun、Maildrill、Amazon SES、mail和sendmail,Mailgun和Amazon SES都是收费的Maildrill目前不支持中国区用户,这三个都是第三方邮件服务。mail驱动使用PHP提供的mail函数发送,sendmail驱动通过Sendmail/Postfix(Linux)提供的命令发送邮件,smtp驱动通过支持ESMTP的SMTP发送邮件。host
是邮箱所在主机,比如我们使用163邮箱,对应值是smtp.163.com
,使用QQ邮箱的话,对应值是smtp.qq.com
。port
用于配置邮箱发送服务端口号,比如一般默认值是25,但如果设置SMTP使用SSL加密,该值为465。from
配置项包含address和name,前者表示发送邮箱,后者表示发送邮件使用的用户名。encryption
表示加密类型,可以设置为null表示不使用任何加密,也可以设置为tls或ssl。username
表示邮箱账号,比如*****@163.com
password
表示上述邮箱登录对应登录密码。注意QQ邮箱的话应该开启POP3|SMTP服务时给的密钥。sendmail
是在设置driver为sendmail时使用,用于指定sendmail命令路径。<?php namespace App\Http\Controllers; use Elasticsearch\ClientBuilder; use App\Jobs\Queue; use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Mail; class TextController extends Controller { public function send(){ $name = ‘***‘; // Mail::send()的返回值为空,所以可以其他方法进行判断 Mail::send(‘text‘,[‘name‘=>$name],function($message){ $to = ‘876662521@qq.com‘; $message ->to($to)->subject(‘测试邮箱‘); }); // 返回的一个错误数组,利用此可以判断是否发送成功 dd(Mail::failures()); } }
Mail::send();需要传三个参数,第一个为引用的模板,第二个为给模板传递的变量,第三个为一个闭包,参数绑定Mail类的一个实例。
Mailer::send文档
Mailer:: failures文档
在resresources/views/下创建一个text.blade.php
{{$name}}你好,这是一封测试文件。
最后url地址栏访问测试即可
原文:https://www.cnblogs.com/BrokenHeart/p/10809482.html