欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

ThinkPHP邮箱类,用邮箱找回密码,向注册用户群发邮件

程序员文章站 2022-04-02 19:39:32
...
thinkphp邮箱密码找回功能,向注册用户群发邮件功能
qq邮箱作为发送邮箱,可以发送qq邮箱,163邮箱,不存在、错误邮箱可以返回错误信息。
测试平台:php5.3 thinkphp3.2.3
在发送邮件类的基础进行整合,找回密码功能可以防止篡改URL,以及URL有效时间为30分钟,可自行修改
打包下载(包含完整的thinkphp3.2.3),注意修改相应的数据库配置,即可运行

测试平台 php5.4 thinkphp3.2.3 qq邮箱,163邮箱,需要开启IMAP/SMTP服务, POP3/SMTP服务
错误邮箱可以返回错误信息

邮件类放在 \test\ThinkPHP\Library\Com\Email
数据库配置 \test\Application\Home\Conf
发送函数 \test\Application\Common\Common\function.php 修改14,15行的内容
function.php 命名空间导入类不能继承Exception类,会报错
控制器修改 \test\Application\Home\Controller\EmailController.class.php 第41行
找回密码:http://test.com/index.php/Home/Email/
群发邮件:http://test.com/index.php/Home/Bigemail/

表的结构在test文件中

function send_mail ($title,$content,$from,$to,$chart='utf-8',$attachment ='') {

$mail = new PHPMailer();
$mail->CharSet = $chart; //设置采用gb2312中文编码
$mail->IsSMTP('smtp'); //设置采用SMTP方式发送邮件
$mail->Host = "smtp.qq.com"; //设置邮件服务器的地址
$mail->Port = 25; //设置邮件服务器的端口,默认为25
$mail->From = $from; //设置发件人的邮箱地址
$mail->FromName = "发件人的姓名 "; //设置发件人的姓名
$mail->SMTPAuth = true; //设置SMTP是否需要密码验证,true表示需要
$mail->Username = "设置发送邮件的邮箱"; //设置发送邮件的邮箱
$mail->Password = "XXXXXXXXXXXXXXXXX"; //设置邮箱的密码
$mail->Subject = $title; //设置邮件的标题
$mail->AltBody = "text/html"; // optional, comment out and test
$mail->Body = $content; //设置邮件内容
$mail->IsHTML(true); //设置内容是否为html类型
$mail->WordWrap = 50; //设置每行的字符数
$mail->AddReplyTo("地址","名字"); //设置回复的收件人的地址
$mail->AddAddress($to,""); //设置收件的地址
if ($attachment != '') {
$mail->AddAttachment ( $attachment, $attachment );
}
if ($mail->Send ()) {
//$status1 = "$to" . ' 已投送成功
';
$status = 1;

} else {
//$status2 = "$to" . ' 发送邮件失败
';
$status = 0;
}
return $status;
}

?>

ThinkPHP邮箱类,用邮箱找回密码,向注册用户群发邮件 test.zip ( 1.11 MB 下载:303 次 )

AD:真正免费,域名+虚机+企业邮箱=0元