在用PHPMailer发送邮件的时候,解决了以下问题;
1、发送给多个收件人,同时抄送给多个人;
2、添加附件;
3、发件人姓名和邮件主题乱码;
4、邮件正文为html格式
public function sendEmail($email=[], $ccEmail=[]) { vendor('PHPMailer.PHPMailer.PHPMailerAutoload'); $mail = new \PHPMailer(); $mail->IsSMTP(); // 启用SMTP $mail->CharSet = 'utf8'; //设置邮件编码 $mail->Host = ";; //smtp服务器的名称(QQ邮箱为 ) $mail->Port = 465; $mail->SMTPAuth = true; //config('MAIL_SMTPAUTH'); //启用smtp认证 $mail->Username = "xx@163.com"; //你的邮箱名 $mail->Password = "xxxx"; //163授权码不是邮箱密码,qq为邮箱密码 $mail->SMTPSecure = 'ssl'; $mail->From = "from@xx.com"; //发件人地址(也就是你的邮箱地址) //发件人姓名 注意转码使中文不乱码 $mail->FromName = "=?utf-8?B?".base64_encode("xxx")."?="; //多收件人 foreach($email as $e){ $mail->AddAddress($e); } //多抄送人 foreach($ccEmail as $e){ $mail->addCC($e); } $mail->AddAttachment('.;,'我的附件.xls'); // 添加附件,并指定名称 $mail->AddAttachment('.;,'我的附件1.xls');//多附件可以数组循环 $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(true); // 是否HTML格式邮件 //邮件主题 注意转码使中文不乱码 $mail->Subject = "=?utf-8?B?".base64_encode("title")."?="; $mail->Body = '你好, <b>朋友</b>! <br/>这是一封来自<a href="; target="_blank">baidu.com</a>的邮件!<br/>'; $mail->AltBody = ""; if (!$mail->send()) { return ['code'=>0,'msg'=>$mail->ErrorInfo]; } else { return ['code'=>1,'msg'=>'success']; } }