phpmailer发送邮件乱码

2023-06-04 12:24 综合百科 0阅读 投稿:小七

在用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.163.com"; //smtp服务器的名称(QQ邮箱为 smtp.exmail.qq.com) $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('./aa.xlsx','我的附件.xls'); // 添加附件,并指定名称 $mail->AddAttachment('./aa.xlsx','我的附件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']; }}
声明:若水百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系youzivr@vip.qq.com