实验使用邮箱的126,QQ邮箱
需要注意的是:需要开启POP3和SMTP服务。开启方式如下:
QQ中当开启成功会生成密钥,这个东西会在配置中用到
同理,其他邮箱也一样需要在设置中开启
开始进行配置
.env
中的变量
MAIL_DRIVER=
MAIL_HOST=smtp.126.com
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
-
MAIL_USERNAME
表示邮箱账号,比如abcd@126.com -
MAIL_PASSWORD
表示邮箱开启POP3|SMTP服务时给的密钥。注意不是邮箱登陆时的密码
mail.php
中的配置
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.1126.com'),
'port' => env('MAIL_PORT', 25),
'from' => ['address' => '18010029423@163.com','name' => '发件人'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
]
-
driver
用于配置默认的邮件发送驱动,一般使用smtp -
host
是邮箱所在主机,比如我们使用126邮箱,对应值是smtp.126.com,使用QQ邮箱的话,对应值是smtp.qq.com。 -
port
用于配置邮箱发送服务端口号,比如一般默认值是25,但如果设置SMTP使用SSL加密,该值为465。 -
from
配置项包含address和name,前者表示发送邮箱,后者表示发送邮件使用的用户名。 -
encryption
表示加密类型,可以设置为null表示不使用任何加密,也可以设置为tls或ssl。 -
username
表示邮箱账号,比如yaojinbu@163.com -
password
表示邮箱开启POP3|SMTP服务时给的密钥。
发送代码编写
基本发送模板
Mail::send('email_register', ['m3_email' => $m3_email], function ($m) use ($m3_email) {
//$m->from('hello@app.com', 'Your Application');
$m->to($m3_email->to, '尊敬的用户')
->cc($m3_email->cc)
->subject($m3_email->subject);
第一个参数邮件发送给用户的视图,邮件显示的内容
第二个参数必须是数组,数组里的数据供视图来使用
第三个参数,一个闭包函数,传入相应的数据使用
创建视图
# email_register.blade.php
邮箱验证<br/>
{{$m3_email->content}}
这样就可以发送一封邮件了
发送纯文本邮件
Mail::raw('你好,我是PHP程序!', function ($message) {
$to = '282584778@qq.com';
$message ->to($to)->subject('纯文本信息邮件测试');
});