PHP自动发送邮件

1. PHPMailer

在自己项目引入核心类库文件

require_once "class.phpmailer.php";
require_once "class.smtp.php";

2. 集成ThinkPHP

2.1 类库重命名

我用的框架是thinkphp,所以我把类库文件重命名
class.phpmailer.php 重命名为 PHPMailer.class.php
class.smtp.php 重命名为 SMTP.class.php

2.2 配置SMTP服务器

// smtp服务器配置
    'SMTP_SERVER' =>array(
        'CharSet'    => 'UTF-8',  //编码格式
        'SMTPSecure'    => 'ssl',   //邮件协议
        'Port'          => 465,    //smtp服务器端口
        'Host'          => '',    //smtp服务器地址
        'Username'      => '',    //邮箱登录账户
        'Password'      => '',    //smtp授权码
        'From'          => '',    //邮件发送邮箱
        'FromName'      => '',    //发件人名称
    ),

2.3 使用

use OrgMailerPHPMailer;
use OrgMailerSMTP;

//在控制器中使用的时候先读取SMTP配置(thinkphp用C函数读取配置)
$smtpConfig = C( 'SMTP_SERVER' );
$smtpConfig = C( 'SMTP_SERVER' );

// 发送邮件
        try {
            $mail = new PHPMailer( true ); 
            $mail->IsSMTP();
            $mail->CharSet    = $smtpConfig[ 'CharSet' ];      //邮件字符编码
            $mail->SMTPSecure = $smtpConfig[ 'SMTPSecure' ];    //邮件传输协议            
            $mail->Port       = $smtpConfig[ 'Port' ];       //SMTP服务器端口
            $mail->Host       = $smtpConfig[ 'Host' ];       //SMTP服务器地址
            $mail->Username   = $smtpConfig[ 'Username' ];     //邮箱登录帐号
            $mail->Password   = $smtpConfig[ 'Password' ];     //SMTP授权码
            //$mail->AddReplyTo("phpddt1990@163.com","mckee");  //回复地址
            $mail->From       = $smtpConfig[ 'From' ];          //邮件发送人邮箱
            $mail->FromName   = $smtpConfig[ 'FromName' ];     //邮件发送人昵称
            $mail->SMTPAuth   = true;                          //开启认证
            //$mail->SMTPDEBUG  = 0;                           //关闭debug
            $to = "";                                    //邮件收件人邮箱
            $mail->AddAddress( $to );
            $mail->Subject  = "";                       //邮件标题
            $mail->Body = ""                     //邮件正文
            // $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
            $mail->WordWrap   = 200;                           // 设置每行字符串的长度
            //$mail->AddAttachment("f:/test.png");             //添加附件
            $mail->IsHTML( true );
            $mail->Send();
            $this->ajaxReturn( 'mailVerify' );
        } catch ( phpmailerException $e ) {
            $this->ajaxReturn( false );
        }
原文地址:https://www.cnblogs.com/roddy/p/6592751.html