1、配置首先要安装邮箱插件
composer require phpmailer/phpmailer
2、配置QQ邮件参数
在config/app.php中配置
'email'=>[
'Username'=>'111111@qq.com',
'Password'=>'11111',//授权码
'CharSet'=>'utf8',
'host'=>'smtp.qq.com',
'SMTPSecure'=>'ssl',
'port'=>'465',
'SMTPDebug'=>0
]
3、类中编写函数
/**
* @param $toemail 接收人qq
* @param $fromuser 祝福发布人qq
* @param $info 祝福内容
* @param $fromuser 发布人姓名
* @param $tousername 祝福接收人姓名
* @param int $type 1 提醒接受祝福人收到许愿 2 提醒发布人邮箱
*/
public function sendToEmail($toemail,$fromemail,$info,$fromuser,$tousername,$type=1) {
$mail=new PHPMailer();
$mail->isSMTP();//使用smtp鉴权方式发送邮件
$mail->CharSet=Config::get('app.email.CharSet'); //编码格式
$mail->Host=Config::get('app.email.host');//qq邮箱smtp邮箱
$mail->SMTPAuth=true; //是否需要认证身份
$mail->Username=Config::get('app.email.Username'); //发送方邮箱
$mail->Password=Config::get('app.email.Password'); //授权码
$mail->SMTPSecure = Config::get('app.email.SMTPSecure'); //使用的协议
$mail->Port = Config::get('app.email.port'); //qq邮箱接收的端口号
$mail->SMTPDebug=Config::get('app.email.SMTPDebug');
$mail->setFrom(Config::get('app.email.Username'),'许愿发送'); //定义邮件及标题(不同邮件标题显示不一致)
$mail->addAddress($toemail.'@qq.com', $tousername.'您好!'); //要发送的地址和设置地址的昵称
$mail->addReplyTo($fromemail.'@qq.com', 'Replay'); //回复地址
$mail->Subject = "您有新的许愿信息!"; //添加该邮件的主题
$str=$type==1?"给您的祝愿是:":"温馨提醒:";
$mail->Body =$fromuser.$str. $info; //该邮件内容
if(!$mail->send()){
return $mail->ErrorInfo;
}else{
return true;
}
}