PHP中利用PHPMailer配合QQ邮箱实现发邮件

phpmailer 实现给网站用户发送邮件,WordPress 好像禁用了 mail()函数,也不能直接使用自带的发送邮件,以防止暴露 IP

PHPMailer 的介绍:

  • 可运行在任何平台之上
  • 支持 SMTP 验证
  • 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址;注:添加抄送、暗送仅 win 平台下 smtp 方式支持
  • 支持多种邮件编码包括:8bit,base64,binary 和 quoted-printable
  • 支持冗余 SMTP 服务器,即可以指定主 smtp 服务器地址也只可以指定备份 smtp 服务器
  • 支持带附件的邮件,可以为邮件添加任意格式的附件—当然得你的服务器有足够大的带宽支撑
  • 自定义邮件头信息,这跟 php 中通过 header 函数发送头信息类似
  • 支持将邮件正文制作成 HTMl 内容,那么就可以在邮件正文中插入图片,灵活的 debug 支持
  • 经测试兼容的 SMTP 服务器包括:Sendmail,qmail,Postfix,Imail,Exchange 等

邮件协议简介

邮件协议-SMTP 协议

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP 是建立在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。(来自百度百科)

邮件协议-POP3 协议

POP3(Post Office Protocol 3)即邮局协议的第 3 个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3 协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而 POP3 服务器则是遵循 POP3 协议的接收邮件服务器,用来接收电子邮件的。(来自百度百科)

常用的邮件服务器地址

QQ 邮箱

POP3 服务器:pop.qq.com

SMTP 服务器:smtp.qq.com

SMTP 服务器需要身份验证

163 邮箱

POP3 服务器:pop.163.com

SMTP 服务器:smtp.163.com

Sohu 邮箱

POP3 服务器:pop3.sohu.com

SMTP 服务器:smtp.sohu.com

PHPMailer 配合 QQ 邮箱实现发邮件

<?php 
// 必要导入
require("phpmailer/class.phpmailer.php");
require("phpmailer/class.smtp.php");
date_default_timezone_set('Asia/Shanghai');//设定时区东八区

$mail = new PHPMailer(); //建立邮件发送类
$address = "xxxx@qq.com";//收件人地址(必须真实)
$mail->IsSMTP(); // 使用 SMTP 方式发送
$mail->CharSet ="UTF-8";//设置编码,否则发送中文乱码
$mail->Host = "smtp.qq.com"; // 您的企业邮局域名                           
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->Username = "xxx@qq.com"; // 发件人邮箱(必须真实)
$mail->Password = "*****"; // 发件人密码(必须真实)
$mail->From = "xxxx@qq.com"; //邮件发送者 email 地址(必须真实)
$mail->FromName = "沈唁志";// 发件人姓名
$mail->AddAddress($address, "023xs");//收件人地址 收件人,可以替换成任何想要接收邮件的 email 信箱,格式是 AddAddress("收件人 email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/test.jpg"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用 HTML 格式
$mail->Subject = "test"; //邮件标题
$mail->Body = "hello"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略

if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,邮件发送成功!";
}

?>

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHP中利用PHPMailer配合QQ邮箱实现发邮件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在CentOS 7上安装和配置ownCloud

ownCloud是一个文件共享服务器,允许您将个人内容(如文档和图片)集中存储在此位置,就像Dropbox一样。与ownCloud的不同之处在于它是免费的开源软...

9240
来自专栏惨绿少年

SSH服务详解

第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Wo...

4200
来自专栏编程

App与后台通信:从文本协议到二进制协议

本文主要总结了心悦俱乐部 App 的接入层从文本协议到二进制 jce 协议迭代过程中的技术方案。

1.6K10
来自专栏Youngxj

emlog管理员密码重置工具

2952
来自专栏java达人

将linux下的rm命令改造成mv到指定的目录下

来源:博客园-BigBao的博客 链接:http://www.cnblogs.com/smail-bao/p/6347347.html(点击文末阅读原文前往) ...

27410
来自专栏Laoqi's Linux运维专列

linux安全配置

今天清早登录服务器发现很多暴力狗(使用ssh端口破解登录密码),真不知道这些人有啥意思,破解了无非是把我的服务器当作肉鸡再去攻击其他服务器,目的无非就是证明你有...

4885
来自专栏优启梦

emlog后台登录失败邮件通知

前面说到emlog后台登录参数加密,下面我们说说如何给emlog添加后台登录失败邮件通知的功能,本次我们需要用到mail函数,当然也就是需要25端口发信,如果是...

65112
来自专栏云计算与大数据

研发:http协议,什么是混合内容

混合内容在以下情况下出现:初始 HTML 内容通过安全的 HTTPS 连接加载,但其他资源(例如,图像、视频、样式表、脚本)则通过不安全的 HTTP 连接加载。...

1233
来自专栏云计算教程系列

如何在Ubuntu 16.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多休闲网民希望直接用ht...

2540
来自专栏漏斗社区

CTF| 吃个鸡,一起破流量分析题吧!

流量分析题是CTF杂项类常见的一种考点,考察我们分析网络流量包的能力。一般flag隐藏在某个数据包里面,或者需要从中提取一个文件出来等等,还有wifi的握手包,...

5365

扫码关注云+社区

领取腾讯云代金券