这两天开发系统的时候,因为对这个框架还很陌生,用到发件的时候,每次都报错,这次给大家一个快速简单的使用教程

TP5是什么大家可以百度一下是什么,这里我就不多做介绍了

安装

首先我们先去GitHub去下载PHPMailer完整包
然后我们在把完整包里是src里所有文件取出
再把tp5框架目录的里的extend目录新建一个名称为PHPMailer的目录
再把刚刚的文件复制到里面

修改

PHPMailer目录里所有文件的namespace命名空间内容改成以下

namespace PHPMailer;

使用代码

我们把代码放在application项目目录的common.php文件里
方便多控制器调用
在里面添加以下代码

use PHPMailer\PHPMailer;
/**
 * 系统邮件发送函数
 * @param $to_mail string 收件邮箱
 * @param $name string 收件用户名字
 * @param string $subject 邮件主题
 * @param string $body 邮件内容
 * @param string $attachment 附件列表
 * @return boolean
 * @throws \PHPMailer\Exception
 * @author static7 <static7@qq.com>
 */
function send_mail($to_mail,$name,$subject = '', $body = '', $attachment = null) {
    $mail = new 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.exmail.qq.com"; // SMTP 服务器
    $mail->Port = 465;                  // SMTP服务器的端口号
    $mail->Username = "send@berfen.com";    // SMTP服务器用户名
    $mail->Password = "";     // SMTP服务器密码
    $mail->SetFrom('send@berfen.com', 'BER分系统');
    $replyEmail = '';                   //留空则为发件人EMAIL
    $replyName = '';                    //回复名称(留空则为发件人名称)
    $mail->AddReplyTo($replyEmail, $replyName);
    $mail->Subject = $subject;
    $mail->MsgHTML($body);
    $mail->AddAddress($to_mail,$name);
    if (is_array($attachment)) { // 添加附件
        foreach ($attachment as $file) {
            is_file($file) && $mail->AddAttachment($file);
        }
    }
    return $mail->Send() ? true : $mail->ErrorInfo;
}

发送成功即返回true发送失败返回错误信息

调用

在需要调用的项目控制器里添加

public function send_mail() {
        $to_email='www@berfen.com';
        $name='收件用户';
        $subject='邮件发送测试';
        $content='恭喜你,邮件测试成功。';
        dump(send_mail($to_email,$name,$subject,$content));
}
文章目录