相关文章推荐
好帅的土豆  ·  样本选择偏差 连享会 ...·  2 月前    · 
自信的热水瓶  ·  DeadObjectException ...·  3 月前    · 
幸福的开心果  ·  javascript - ...·  1 年前    · 

地址:https://github.com/PHPMailer/PHPMailer

二、测试服务器环境

通过phpinfo()函数打印出是否支持Sockets(Socket属于php的扩展部分),如果为“enable”表示环境支持。

三、解压提取文件

解压下载的PHPMailer-master.zip包,提取出以下几个文件

class.phpmailer.php

class.pop3.php

class.smtp.php

PHPMailerAutoload.php

四、编写发送邮件demo,可以提取为工具类

详细代码如下:

  public function sendMail(){
        require_once (VENDOR_PATH."PHPMailer/PHPMailerAutoload.php");
        $mail = new \PHPMailer;                             // 创建一个PHPMailer实例
        $mail->IsSMTP();                                    // 使用SMTP方式发送
        $mail->CharSet ="UTF-8";                            // 设置编码,否则发送中文乱码
        $mail->Host = "smtp.qq.com";                        // 需要发送邮件的主机IP,以下为QQ主机服务器
        $mail->SMTPAuth = true;                             // 启用SMTP验证功能
        $mail->Username = "xxxxxxxxx@qq.com";               // 发件人邮箱账号
        $mail->Password = "xxxxxxxxxx";                     // 发件人邮箱密码,qq邮箱生成的授权码,qq邮箱需要开启IMAP/SMTP服务
        $mail->setFrom('xxxxxxxxxx@qq.com', '发件人名称');   // 设置发送人信息(参数1:发送人邮箱,参数2:发送人名称)
        $mail->addAddress('xxxxxxxxx@qq.com', '收件人名称'); // 收件人邮箱----注意如果是群发,改点for循环添加收件人邮箱
        $mail->Subject = '子衿';                            // 邮件主题,即标题
        $mail->Body = '青青子佩,悠悠我思,纵我不往,子宁不来。挑兮达兮,在城阙兮,一日不见,如三月兮。';   //邮件内容
        $mail->AltBody = '邮件附件信息';                     // 邮件附件信息,可以省略
        $mail->WordWrap = 50;                              // 换行,每行超过多少字符自动换行
        //$mail->isHTML(true);                             // 是否发送html
        if (!$mail->send()) {                              // 发送邮件
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "发送成功!";

建议采用HTML格式发送内容。可以使用“<br \>”换行符进行换行注意:如果以text格式开发送邮件,“\n”、"\r\n" 换行符都不生效,只有设置WordWrap规定每行字符数