PHP 使用 phpmailer 发送电子邮件
phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。
使用 composer 安装:
composer require phpmailer/phpmailer
发送之前需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的SMTP服务,大部分公共邮箱(163、qq等)为了安全默认是关闭的,我们就要在qq打开SMTP服务。
实例
public function re_email() { $mail = new PHPMailer(); $mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 $mail->SMTPDebug = 0; // 调试模式输出 $mail->isSMTP(); // 使用SMTP $mail->Host = 'smtp.qq.com'; // SMTP服务器 $mail->SMTPAuth = true; // 允许 SMTP 认证 $mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议 $mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持 $mail->Username = 'SMTP 用户名 即邮箱的用户名'; // SMTP 用户名 即邮箱的用户名 $mail->Password = 'SMTP 密码'; // SMTP 密码 部分邮箱是授权码(例如qq邮箱) $mail->setFrom('xxxx@qq.com', 'Mailer'); //发件人邮箱,和名称 $mail->addAddress('xxxx@qq.com', 'Joe'); // 收件人,和名称 // 添加附件,可以添加多个 $mail->addAttachment('C:/Users/Administrator/Downloads/5.jpg', 'meinv1.jpg'); $mail->addAttachment('C:/Users/Administrator/Downloads/3.jpeg', 'meinv2.jpeg'); // 添加附件,例子:$mail->addAttachment('../thumb-1.jpg', 'new.jpg');// 发送附件并且重命名 // if (is_array($attachment)) { // foreach ($attachment as $file) { // is_file($file['filepath']) && $mail->AddAttachment($file['filepath'], $file['filename']); // } // } //$mail->addReplyTo('replyto@example.com', 'First Last');//回复地址 //$mail->addCC('cc@example.com'); //抄送 //$mail->addBCC('bcc@example.com'); //密送 $mail->isHTML(true);// send as HTML $mail->Subject = "标题";//标题 $mail->msgHTML("phpMailer 是一个非常强大的 php发送邮件类......"); //HTML内容转换 return json(["success"=>$mail->send()]); }