网上也有几篇教程,不过我是为了给自己的服务可以发送邮件给自己用,所以只是用phpmailer的base功能,不需要使用smtp。
先去phpmailer官网下载,然后把里面的class.phpmailer.php放到自己的class库中。
我自己再定义一个mail.function.php的函数,里面new一个phpmailer的对象。
function postmail($body = ""){
error_reporting(E_STRICT);
date_default_timezone_set("Asia/Shanghai");//设定时区东八区
require_once('./class/class.phpmailer.php');
$mail = new PHPMailer(); //new一个PHPMailer对象出来
$body = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤
$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->SetFrom('send@domail.com', '发件人');
$mail->AddReplyTo("send@domail.com","发件人,回复用");
$mail->Subject = "邮件标题";
$mail->AltBody = "当HTML邮件内容无法显示的时候,显示此内容";
$mail->MsgHTML($body); //对邮件正文进行重新编码,保证中文内容不乱码
$mail->AddAddress("mail@domail.com", "收件人");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,邮件发送成功!";
}
}
好吧,之前我是自己用PHP原生mail()
函数写的邮件功能,但因为一直没看懂该如何对邮件正文进行重编码,导致邮件正文在部分收件工具中总是存在各种乱码情况。
需要用到发邮件的时候,只需要postmail($body);
即可,当然,记得把mail.function.php给include进去。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有