一、 邮箱配置
我使用的163邮箱做的发送,需登录163邮箱开启POP3和SMTP服务,以及生成授权密码。
打开SMTP服务之后,还需要开启授权密码并设置。
二、 Laravel配置
只需要配置.env即可。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=你的163邮箱地址
MAIL_PASSWORD=你的163邮箱地址对应的授权密码(不是登录密码)| 腾讯企业邮是邮箱密码
MAIL_ENCRYPTION=ssl | 腾讯企业邮是tls
MAIL_FROM_ADDRESS="你的163邮箱地址 | 腾讯企业邮是需要这项和MAIL_USERNAME一模一样的"
MAIL_FROM_NAME="你期望的发件人名称"
端口465是使用了ssl;MAIL_ENCRYPTION不填的话,端口是25;注意MAIL_PASSWORD是授权密码,不是登录密码!
例如:
三、 编码
新建一个或在需要调用发送邮件的controller,里面需要发邮件的函数增加:
use IlluminateSupportFacadesMail;
// 在函数内,例如post获得email地址之后调用:
//发送邮件
$to = $request['email'];//发送方
$subject = '通知';//邮件标题
Mail::send(
'sendMail',//模板文件
['content' => $user_num,'url'=>'http://www.1707laravel.com/login'],//模板页面的内容
//function后边将邮件设置为对象,同时use了相应的参数
function ($obj) use($to, $subject) {
//用邮件对象执行发送的功能
$obj->to($to)->subject($subject);
}
);
例如:
第一个参数emails.test是view下的blade文件,用来显示邮件内容;第二参数是传给view文件的变量;第三个参数是闭包函数,用来配置收件人地址和邮件名称等。
新建文件:./resources/views/emails/test.blade.php
例如:
或者比较简单的不需要任何模板的写法:
例如: