使用开源phpmailer发送邮件

网上也有几篇教程,不过我是为了给自己的服务可以发送邮件给自己用,所以只是用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进去。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源优测

RFC821 简单邮件传输协议(SMTP)

16030
来自专栏Kubernetes

Kubelet Deivce Manager源码分析

本文基于Kubernetes v1.10的代码,对Kubelet Device Manager的实现进行了代码走读分析,方便对kubelet与device pl...

1K120
来自专栏FreeBuf

对利用Adobe 0day – CVE-2014-0502进行攻击的行为分析

前些天FireEye发布了一个利用AdobeFlash的新0day进行攻击的报告,且Adobe已经根据漏洞情况发布了一个安全更新。 根据FireEye的报告,许...

23080
来自专栏魏琼东

分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

     在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于...

13000
来自专栏魏琼东

分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

一、分布式消息总线以及基于Socket的实现      在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给...

42970
来自专栏一个爱瞎折腾的程序猿

asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档

开局一张图,然后开始编,一些基本的asp.net core东西就不再赘述,本文只对Swashbuckle.AspNetCore的几个使用要点进行描述。

19310
来自专栏安恒网络空间安全讲武堂

MeePwn-Web复现

这里有一个链接的跳转header( "Location: alien_sector.php" ),但是需要$_GET['alien']==='@!#$@!@@'

20310
来自专栏比原链

剥开比原看代码10:比原是如何通过/create-key接口创建密钥的

Gitee地址:https://gitee.com/BytomBlockchain/bytom

13720
来自专栏酷玩时刻

支付宝Wap支付你了解多少?

为了方便开发者生成一对RSA密钥支付宝提供一键生成工具,具体如何生成与配置密钥详见签名专区。

43620
来自专栏程序员互动联盟

android apk 防止反编译技术第三篇-伪加密

经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法。前两篇我们讲了加壳技术和运行时修改字节码,如果有不明白...

51890

扫码关注云+社区

领取腾讯云代金券