天天看点

TP 通过STMP发送Email邮件

1.下载PHPMailer文件,把文件放入ThinkPHP目录下的Vendor文件夹内

2.在项目的Common的function文件内写入公共函数

function SendMail($to, $title, $content)
{
 
    Vendor('PHPMailer.phpmailer');
    $mail = new PHPMailer();
    //设置使用SMTP服务器发送邮件
    $mail->IsSMTP(); // 启用SMTP
    $mail->Host = C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)
    $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
    $mail->Username = C('MAIL_USERNAME'); //你的邮箱名
    $mail->Password = C('MAIL_PASSWORD'); //邮箱密码
    $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
    $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
    $mail->AddAddress($to, "尊敬的客户");
    $mail->WordWrap = 50; //设置每行字符长度
    $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
    $mail->CharSet = C('MAIL_CHARSET'); //设置邮件编码
    $mail->Subject = $title; //邮件主题
    $mail->Body = $content; //邮件内容
    $mail->AltBody = "这是一个纯文本的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
    return ($mail->Send());
}      

3.在项目的配置文件中可以进行对应的常量值配置

'MAIL_HOST' =>'smtp.qiye.163.com',//smtp服务器的名称
'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
'MAIL_USERNAME' =>'[email protected]',//你的邮箱名
'MAIL_FROM' =>'[email protected]',//发件人地址
'MAIL_FROMNAME'=>'张三',//发件人姓名
'MAIL_PASSWORD' =>'XGGGJT214.',//邮箱密码
'MAIL_CHARSET' =>'utf-8',//设置邮件编码
'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮      

4.最后在你需要发送邮件的控制器直接调用

SendMails($member['email'],'开户信息',"您的账号为:".123."<br/>"."您的密码为:".123);                                         

5.如果发生Could not connect to SMTP host错误:

    1.可以查看服务器的25号端口是否打开,可以使用telnet尝试连接STMP服务器,看是否连接成功。

    2.查看防火墙是否阻挡