PHPEmailer使用简介(以qq邮箱为例)

Posted Timothy_lai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPEmailer使用简介(以qq邮箱为例)相关的知识,希望对你有一定的参考价值。

1、从网上下载phpEmailer;

2、确保PHP环境支持sockets扩展,还要开启openssl,如下图:

3、配置QQ邮箱

  1.开启SMTP服务

  

  2.验证密保

  

  3.获取授权码(这个就是IMAP/SMTP的密码)

4、发送邮件,代码如下

  

<?php
/**
 * Created by PhpStorm.
 * User: 黎志明
 * Date: 2018/6/20
 * Time: 17:53
 */
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime", 0);
require \'class.phpmailer.php\';
try {
    $mail = new PHPMailer(true);
    $mail->IsSMTP();
    $mail->CharSet = \'UTF-8\'; // 设置邮件的字符编码,这很重要,不然中文乱码
    $mail->SMTPAuth = true;                  //开启认证
    $mail->SMTPSecure = \'ssl\'; // 使用安全协议
    $mail->Port = 465;
    $mail->Host = "smtp.qq.com";
    $mail->Username = "xxxxxx@qq.com";
    $mail->Password = "xxxxx";
    $mail->AddReplyTo("769111968@qq.com", "Timothy");//回复地址
    $mail->From = "xxxxx@qq.com";
    $mail->FromName = "xxxxx";
    $to = "xxxxx@qq.com";
    $mail->AddAddress($to);
    $mail->Subject = "phpmailer测试标题";
    $mail->Body = "<h1>演示</h1>这是演示内容";
    $mail->AltBody = "当邮件不支持html时备用显示"; // 当邮件不支持html时备用显示,可以省略
    $mail->WordWrap = 80; // 设置每行字符串的长度
    //$mail->AddAttachment("c:/1.jpg");  // 添加附件
    $mail->IsHTML(true);
    $mail->Send();
    echo \'邮件发送成功\';
} catch (phpmailerException $e) {
    echo "邮件发送失败:" . $e->errorMessage();
}

5、遇到的问题:SMTP Error: Could not authenticate.

  解决办法网上绝大多数都是一下几个(可能真的有效,但我遇到的就不能解决了)

  1.按下面的来修改;

function IsSMTP() {
$this->Mailer = \'smtp\';
}改为

function IsSMTP() {
$this->Mailer = \'SMTP\';
}

  2.将fsockopen函数替换成pfsockopen函数;

  3.使用stream_socket_client函数,代码如下:

$this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno,  $errstr,  $tval);

  以上的办法都试过,还是不能解决我的问题,然后我就怀疑是端口的问题,原来我用的端口是25,后来改成了465就解决了,这是由于使用了SSL,端口号要变成465

以上是关于PHPEmailer使用简介(以qq邮箱为例)的主要内容,如果未能解决你的问题,请参考以下文章

zabbix4.2配置邮件报警:以QQ邮箱为例

nodejs发送邮件验证码封装(express框架)以QQ邮箱为例

Python发送QQ邮件

.net core 发送邮件

golang 使用 gomail 发送邮件

怎么设置使用iPhone邮件应用发送/接收邮件-QQ邮箱