前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用开源phpmailer发送邮件

使用开源phpmailer发送邮件

作者头像
libo1106
发布2018-08-08 15:16:31
8770
发布2018-08-08 15:16:31
举报
文章被收录于专栏:Web 开发Web 开发

网上也有几篇教程,不过我是为了给自己的服务可以发送邮件给自己用,所以只是用phpmailer的base功能,不需要使用smtp。

先去phpmailer官网下载,然后把里面的class.phpmailer.php放到自己的class库中。

我自己再定义一个mail.function.php的函数,里面new一个phpmailer的对象。

代码语言:javascript
复制
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进去。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-102,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档