邮件及相关协议简介(附php-demo)

冷静  2018/09/03 email php


STMP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。


SSL

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;

  • 加密数据以防止数据中途被窃取;

  • 维护数据的完整性,确保数据在传输过程中不被改变。


看了好几篇不同内容的邮件相关文章,还是决定把详细内容放置后续文章阐述,内容包括交互流程,不同端口,命令及协议部分等, 本文暂且只放一个PHP的demo,来实现下邮件发送


PHP发送邮件demo

phpmail-github地址

class Mailer
{
    function sendMail()
    {
        include_once("PHPMailer.php");         // 引入php邮件类
        include_once("SMTP.php");                // 引入php邮件类
        $mail = new PHPMailer();
        $mail->CharSet = "utf-8";                    // 编码格式
        $mail->IsSMTP();
        $mail->SMTPAuth = true;                   // 必填,SMTP服务器是否需要验证,true为需要,false为不需要

        //QQ邮箱服务
        $mail->Host = "smtp.qq.com";            // 必填,设置SMTP服务器
        $mail->Port = 465;                              // 设置端口465
        $mail->Username   = "33445566@qq.com";              // 必填,开通SMTP服务的邮箱;任意一个163邮箱均可
        $mail->Password   = "xxx";                //授权码,很多邮箱服务器都是邮件的密码,qq是独立生活的授权码
        $mail->From = "33445566@qq.com";          // 必填,发件人Email
        $mail->SMTPSecure = 'ssl';                         //传输协议
        $mail->FromName = "nickname";                // 必填,发件人昵称或姓名
        $mail->Subject = "title";                                // 必填,邮件标题(主题)
        $mail->MsgHTML("nothing");
        $mail->AddReplyTo("1234567@qq.com");            // 收件人回复的邮箱地址
        $mail->AddAddress("1234567@qq.com");           // 收件人邮箱
        $mail->IsHTML(true);                                            // 是否以HTML形式发送,如果不是,请删除此行
        if (!$mail->Send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Message has been sent";
        }
    }
}

添加评论
全部回复
暂无回复