一、下载函数包

地址: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规定每行字符数

转载请注明来源:研发地,本文链接:http://www.yanfadi.com/article/4.html

PHPMailer 使用方法(支持群发):的更多相关文章

  1. String的split方法支持正则表达式

    String的split方法支持正则表达式: 1. 正则表达式\s表示匹配任何空白字符 2. +表示匹配一次或多次

  2. 论DATASNAP远程方法支持自定义对象作参数

    论DATASNAP远程方法支持自定义对象作参数 DATASNAP远程方法已经可以支持自定义对象作参数,这是非常方便的功能. 1)自定义对象 type TMyInfo = class(TObject) ...

  3. datasnap远程方法支持自定义对象传参

    有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATAS ...

  4. 在.vue文件中让html代码自动补全的方法(支持vscode)

    在.vue文件中让html代码自动补全的方法(支持vscode) https://blog.csdn.net/qq_36529459/article/details/79196763 "fi ...

  5. 为Promise添加finally方法支持,把小程序函数变成promise函数

    // 为Promise添加finally方法支持 Promise.prototype.finally = function (callback) {   let P = this.constructo ...

  6. 为jQuery添加Webkit的触摸方法支持

    前些日子收到邮件,之前兼职的一个项目被转给了其他人,跟进的人来问我相关代码的版权问题. 我就呵呵了. 这段代码是我在做13年一份兼职的时候无聊加上去的,为jQuery添加触摸事件的支持.因为做得有点无 ...

  7. PHPMailer发送邮件方法

    /** * * 测试邮件发送s * @param 服务器 $Host * @param 端口 $Port * @param 昵称 $Fromname * @param 身份验证用户名 $Usernam ...

  8. 为IE8添加EventListener系列方法支持

    在低版本IE中添加DOM元素事件可以使用attachEvent方法.但是用它模拟addEventListner还要解决一些问题.主动触发事件的API设计逻辑不同,需要处理的地方比较多.fireEven ...

  9. 写一个针对IQueryable<T>的扩展方法支持动态排序

    所谓的动态排序是指支持任意字段.任意升序降序的排序.我们希望在客户端按如下格式写: localhost:8000/api/items?sort=titlelocalhost:8000/api/item ...

随机推荐

  1. Codeforces Round #Pi (Div. 2) C

    题意 : 给你一个序列,和 K ,选3 个数,下标严格递增, 满足 为递增的等比数列, 等比为K 思路 : 先统计所有数的个数,枚举等比数列的中间数 A, 计算 A 之后的 A*K的个数, A之前的 ...

  2. js实现星级评分效果(非常规5个li代码)

    1. 前言 此方案受到JS单行写一个评级组件启发,自己写了一个简单Demo. 功能有正常滑动,动态显示实心星星个数:当点击确认,则保持当前的实心星星个数:再移动时未点击,则离开后还是保持之前的状态. ...

  3. MyCP(课下作业,必做)

    作业要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为 ...

  4. cf932d 树上倍增

    题解链接 https://blog.csdn.net/my_sunshine26/article/details/79338601 感觉能做,但是倍增还不是很熟悉,回头再补

  5. hdu3255扫描线:带权面积交转体积交

    手贱把i打成j,调了半天 /* 面积并转体积并,长方体高度为作物价格 算体积并:在笛卡尔坐标系的y轴上建立线段树cnt记录区间被完全覆盖的次数,sum记录区间被覆盖的总长度 以平行于xoy的平面从下往 ...

  6. python接口自动化测试二十四:上传多个附件,参数化

    # 添加多个附件参数化files = [("1.png", "1.png") ("2.png", "2.png") ]d ...

  7. Action属性接收参数

    一.action的属性(地址栏传参)接收参数:如果使用的JDK属性不一致,则会使得传值无法实现.解决办法:1.系统自身需要用到的JDK(window——>属性——>Java——>In ...

  8. hdu 2680 多起点一终点

    注意这是一个有向图! 多起点,一终点 反过来,看成一个起点,多个终点,找最短路 因为是有向图 所以u->v 要也要反过来成为v->u Sample Input5 8 5 //结点数 边数 ...

  9. python全栈开发day27-网络编程

    回顾:1.两个架构:C/S   B/S(统一了应用的接口)2.同一个电脑两个py文件通信(文件)3.两个电脑通信---网线4.交换机的通信方式:广播.单播.组播5.arp协议:通过ip地址找到对应的m ...

  10. Codeforces 269C Flawed Flow (看题解)

    我好菜啊啊啊.. 循环以下操作 1.从队列中取出一个顶点, 把哪些没有用过的边全部用当前方向. 2.看有没有点的入度和 == 出度和, 如果有将当前的点加入队列. 现在有一个问题就是, 有没有可能队列 ...