简介
phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。
开启STMP服务
QQ邮箱开启STMP服务
所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。
第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。
进去网页邮箱,点击设置->账户->开启IMAP服务
一顿操作之后,就能看到授权码
SMTP 服务器认证密码,需要妥善保管(PS:密码直接没有空格)
网易邮箱开启STMP服务
在这里就不多加演示了,跟QQ开启方式差不多,不懂问度娘。
使用composer安装phpmailer
composer require phpmailer/phpmailer
使用PHPmailer
在应用公共文件common.php写个发送邮件的函数(腾讯邮箱的为例),需要注意的是实例化PHPMailer因为如果路径不对会报错(***类名不存在)
代码编写
<?php/*** Created by PhpStorm.* User: 加油鸭* Date: 2020/06/07* Time: 15:43*//*** Notes:发送邮件* @param string $tomail 接收邮件者邮箱* @param string $name 接收邮件者名称* @param string $subject 邮件主题* @param string $body 邮件内容* @param string $attachment 附件列表* @return boolean* @throws phpmailerException*/function send_mail($tomail, $name, $subject = \'\', $body = \'\', $attachment = null) {$mail = new PHPMailer\\PHPMailer\\PHPMailer(); //实例化PHPMailer对象$mail->CharSet = \'UTF-8\'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码$mail->IsSMTP(); // 设定使用SMTP服务$mail->SMTPDebug = 0; // SMTP调试功能 0=关闭 1 = 错误和消息 2 = 消息$mail->SMTPAuth = true; // 启用 SMTP 验证功能$mail->SMTPSecure = \'ssl\'; // 使用安全协议$mail->Host = \"smtp.qq.com\"; // SMTP 服务器$mail->Port = 465; // SMTP服务器的端口号$mail->Username = \"******@qq.com\"; // SMTP服务器用户名$mail->Password = \"******\"; // SMTP服务器密码,这里是你开启SMTP服务时生成密码$mail->SetFrom(\'******@qq.com\', $name);$replyEmail = \'\'; //留空则为发件人EMAIL$replyName = \'\'; //回复名称(留空则为发件人名称)// $mail->addAttachment(\'../xy.zip\'); // 添加附件// $mail->addAttachment(\'../thumb-1.jpg\', \'new.jpg\'); // 发送附件并且重命名$mail->AddReplyTo($replyEmail, $replyName);$mail->Subject = $subject;$mail->MsgHTML($body);$mail->AddAddress($tomail, $name);if (is_array($attachment)) { // 添加附件foreach ($attachment as $file) {is_file($file) && $mail->AddAttachment($file);}}return $mail->Send() ? true : $mail->ErrorInfo;}
新建Email控制器,调用Common.php
<?phpnamespace app\\index\\controller;use think\\Controller;class Email extends Controller{public function send_email(){$toemail=\'******[email protected]\';//收件人邮箱$name=\'彼得潘\';//接收邮件者名称$subject=\'QQ邮件发送测试\';//邮件主题$content=\'恭喜你,邮件测试成功。\';//邮件内容//调用方法发送邮件$dd = send_mail($toemail,$name,$subject,$content);dump($dd);}}
运行之后,你就会看到你的邮件提示信息啦。
小编的介绍就到这里了,希望对此刻的你有所帮助,溜了溜了~