thinkphp 3.2 发送邮件(Phpmailer)

时间:2022-09-24 13:49:24

1.在该模板下Conmon模块函数公共目录新建一个function.php

<?php
function Sendemail(){
vendor(
'PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
//示例化PHPMailer核心类

$mail = new PHPMailer();
//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
//使用smtp鉴权方式发送邮件,当然你可以选择pop方式 sendmail方式等 本文不做详解
//可以参考http://phpmailer.github.io/PHPMailer/当中的详细介绍

$mail->isSMTP();
//smtp需要鉴权 这个必须是true
$mail->SMTPAuth=true;
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port =;
//链接域名邮箱的服务器地址
$mail->Host = '';
//smtp登录的账号 这里填入字符串格式的qq号即可
$mail->Username ='';
//smtp登录的密码 这里填入“独立密码” 若为设置“独立密码”则填入登录qq的密码 建议设置“独立密码”
$mail->Password = '';
$mail->From = "";
//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'tls';
//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '';
$mail->CharSet = "utf-8";
$mail->AddAddress ();
//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true);
//添加该邮件的主题
$mail->Subject = '';
//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail->Body = '';
$mail->AltBody = "text/html";
//PS:经过测试,要是收件人不存在,若不出现错误依然返回true 也就是说在发送之前 自己需要些方法实现检测该邮箱是否真实有效
$mail->send();
}

?>

 

2.将下载好的PHPMailer解压到ThinkPHP\Library\Vendor

3.在控制器中直接可以调用此方法

public function phpmailer(){
if(Sendemail()){
echo '发送成功';
}
else{
echo '发送失败';
}
}