PHPMailer 使用方法(支持群发):
一、下载函数包
地址: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规定每行字符数
PHPMailer 使用方法(支持群发):的更多相关文章
- String的split方法支持正则表达式
String的split方法支持正则表达式: 1. 正则表达式\s表示匹配任何空白字符 2. +表示匹配一次或多次
- 论DATASNAP远程方法支持自定义对象作参数
论DATASNAP远程方法支持自定义对象作参数 DATASNAP远程方法已经可以支持自定义对象作参数,这是非常方便的功能. 1)自定义对象 type TMyInfo = class(TObject) ...
- datasnap远程方法支持自定义对象传参
有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATAS ...
- 在.vue文件中让html代码自动补全的方法(支持vscode)
在.vue文件中让html代码自动补全的方法(支持vscode) https://blog.csdn.net/qq_36529459/article/details/79196763 "fi ...
- 为Promise添加finally方法支持,把小程序函数变成promise函数
// 为Promise添加finally方法支持 Promise.prototype.finally = function (callback) { let P = this.constructo ...
- 为jQuery添加Webkit的触摸方法支持
前些日子收到邮件,之前兼职的一个项目被转给了其他人,跟进的人来问我相关代码的版权问题. 我就呵呵了. 这段代码是我在做13年一份兼职的时候无聊加上去的,为jQuery添加触摸事件的支持.因为做得有点无 ...
- PHPMailer发送邮件方法
/** * * 测试邮件发送s * @param 服务器 $Host * @param 端口 $Port * @param 昵称 $Fromname * @param 身份验证用户名 $Usernam ...
- 为IE8添加EventListener系列方法支持
在低版本IE中添加DOM元素事件可以使用attachEvent方法.但是用它模拟addEventListner还要解决一些问题.主动触发事件的API设计逻辑不同,需要处理的地方比较多.fireEven ...
- 写一个针对IQueryable<T>的扩展方法支持动态排序
所谓的动态排序是指支持任意字段.任意升序降序的排序.我们希望在客户端按如下格式写: localhost:8000/api/items?sort=titlelocalhost:8000/api/item ...
随机推荐
- VC++常用数据类型及其操作详解
原文地址:http://blog.csdn.net/ithomer/article/details/5019367 VC++常用数据类型及其操作详解 一.VC常用数据类型列表 二.常用数据类型转化 2 ...
- 005_关于HTTP协议中的保持连接
缘起 中午在群里讨论,用ab测试 一台只提供静态文件服务, 不与其他任何系统交互的时候,为什么也会产生大量的TIME WAIT状态的. 首先,我们可以简单的理解,在TCP连接的两端,谁主动断开连接(先 ...
- Node.js Error: listen EADDRNOTAVAIL
1 前言 nodejs部署在云服务器,外网用域名加端口访问不进来,但在服务器本地用127.0.0.1加端口可以访问,并且端口已经放开,然后只能排查配置.此文章仅作为记录使用. 如果端口和另一个的端口一 ...
- mysql语句判断是否存在记录,没有则插入新纪录否则不执行
1 前言 由于项目需要,当某个表如果有记录,就不执行加入语句,否则加入新纪录(测试数据).思路是:判断表的记录是否为空,然后再决定是否插入 2 代码 DROP PROCEDURE IF EXISTS ...
- 了解的CAP和BASE等理论
CAP,BASE和最终一致性是NoSQL数据库存在的三大基石.而五分钟法则是内存数据存储的理论依据.这个是一切的源头. 几个名词解释: 网络分区:俗称“脑裂”.当网络发生异常情况,导致分布式系统中部分 ...
- linux 安装软件
apt-get install softname /安装软件apt-get update 是更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出 ...
- poj3061 poj3320 poj2566尺取法基础(一)
poj3061 给定一个序列找出最短的子序列长度,使得其和大于等于S 那么只要用两个下标,区间和小于S时右端点向右移动,区间和大于S时左端点向右移动,在这个过程中更新Min #include < ...
- hdu4578线段树区间更新
/* 只有在区间中的数字不相同时才pushdown:往子区间传递数字再到子区间更新,同时该区间的flag置0 更新完左右子区间后进行pushup,如果左右子区间数字相同,那么把子区间合并,子区间数字置 ...
- [转] 插件兼容CommonJS, AMD, CMD 和 原生 JS
模块标准 CommonJS CommonJS 有三个全局变量 module.exports 和 require.但是由于 AMD 也有 require 这个全局变量,故不使用这个变量来进行检测. 如果 ...
- 支持删除的并查集 hdu2473
题解: 代码: #include<bits/stdc++.h> using namespace std; #define ll long long ; int fa[maxn],id,vi ...