AI智能
改变未来

TP5使用phpmailer发送邮件


简介

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);}}

运行之后,你就会看到你的邮件提示信息啦。

小编的介绍就到这里了,希望对此刻的你有所帮助,溜了溜了~

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » TP5使用phpmailer发送邮件