使用PHPMailer发送邮件实例

本文实例为大家分享了PHPMailer发送邮件的具体代码,供大家参考,具体内容如下

PHPMailer类源代码下载地址:https://github.com/PHPMailer/PHPMailer

<?php
/*
to:  邮件接收地址
subject: 邮件主题
body: 邮件内容
attachpath:附件地址
cc: 邮件抄送地址
bcc: 邮件暗抄送地址
*/
function send_mail($to, $subject="", $body="", $attachpath="", $cc="", $bcc="")
{
 // 对邮件内容进行必要的过滤
 $body = eregi_replace("[\]",'',$body);  

 // 设定时区
 date_default_timezone_set("PRC"); 

 require_once('class.phpmailer.php');
 require_once("class.smtp.php"); 

 // 实例化PHPMailer对象
 $mail = new PHPMailer();     

 // 设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
 $mail->CharSet ="UTF-8"; 

 // 设定使用SMTP服务
 $mail->IsSMTP(); 

 // 启用 SMTP 验证功能
 $mail->SMTPAuth = true; 

 // SMTP 安全协议
 $mail->SMTPSecure = "ssl"; 

 // SMTP 服务器
 $mail->Host = "smtp.qq.com"; 

 // SMTP服务器的端口号
 $mail->Port = 465; 

 // SMTP服务器用户名和密码
 $mail->Username = "xxxxxx@qq.com";
 $mail->Password = "xxxxxx";   

 // 设置发件人地址和名称,名称可有可无
 $mail->SetFrom("xxxxxx@qq.com", "xxxxxx"); 

 // 设置邮件接收地址和名称,第二个参数无所谓。必须用AddAddress添加邮件接收地址。AddReplyTo方法没什么用。
 //$mail->AddReplyTo("xxxxxx@163.com", "xxxxxx");
 $mailaddrs = split(",", $to);
 foreach ($mailaddrs as $addres)
 {
 //校验邮箱地址是否合法
 if (filter_var($addres, FILTER_VALIDATE_EMAIL))
 {
  $mail->AddAddress($addres);
 }
 } 

 // 设置邮件抄送地址
 if ($cc != "")
 {
 $ccaddrs = split(",", $cc);
 foreach ($ccaddrs as $ccaddr)
 {
  //校验邮箱地址是否合法
  if (filter_var($ccaddr, FILTER_VALIDATE_EMAIL))
  {
  $mail->addCC($ccaddr);
  }
 }
 } 

 // 设置邮件暗抄送地址,私密发送
 if ($bcc != "")
 {
 $bccaddrs = split(",", $bcc);
 foreach ($bccaddrs as $bccaddr)
 {
  //校验邮箱地址是否合法
  if (filter_var($bccaddr, FILTER_VALIDATE_EMAIL))
  {
  $mail->addBCC($bccaddr);
  }
 }
 } 

 // 设置邮件主题
 $mail->Subject = $subject; 

 // 可选项,向下兼容考虑
 $mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端"; 

 // 设置邮件内容
 $mail->MsgHTML($body);     

 //使用HTML格式发送邮件
 $mail->IsHTML(true); 

 // 添加附件,第一个参数是附件地址,第二个参数附件名
 //$mail->AddAttachment("images/phpmailer.gif");
 $mail->AddAttachment($attachpath); 

 // 发送邮件
 if(!$mail->Send())
 {
 echo "发送失败:" . $mail->ErrorInfo . PHP_EOL;
 }
 else
 {
 echo "恭喜,邮件发送成功!" . PHP_EOL;
 }
}
$emailAddr = "xxxxxx@163.com,xxxxxx@qq.com,";
send_mail($emailAddr, "测试邮件", "<h1>使用PHPMailer类发送的邮件。</h1>", "mail/20170216.gif", "xxxxxx@qq.com", "");
?>

测试结果:

说明:第44行的SMTP服务器密码为qq邮箱授权码。

登录QQ邮箱->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-02-13

ThinkPHP利用PHPMailer实现邮件发送实现代码

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版.(后者建议您直接从本博下载,因为我们不能保证下面的代码在所有版本的PHPMailer中都能正常运行) 下面是具体步骤: 第一步.添加PHPMailer类库 点击此处下载将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内.(请确保class.phpmailer.php文件就在ThinkPHPVendorPHPMailerclass.phpmailer.php) 第二步.添加发送邮件函数 在项

PHPMailer发送HTML内容、带附件的邮件实例

PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能. 首先,您可以到PHPMailer获取最新的下载包,解压到WEB目录下. 然后建立一个sendmail.php的文件,载入PHPMailer类,并设置相关属性参数,如邮件服务器地址,发件人和收件人,邮件内容等等,详情

PHP使用PHPMailer发送邮件的简单使用方法

最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的.php mail()这个方法非常简单.方便.易用,但是除了网易邮箱.QQ邮箱.GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL.TOM.LIVE等邮箱是收不到此类邮件的.所以就转而使用PHPMailer这个强大的邮件发送类.使用官方自带的一些例子,有些会报 Mailer Error: Could not instantiate mail function. 这个错误.参考了一些资料之后,还是自己写了一个方法.代码

使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)

复制代码 代码如下: /*PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头 *.支持在邮件中嵌入图片 *.调试灵活 *.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imai

PHPMailer邮件发送的实现代码

本机环境:LAMP(ubuntu12.10); SMTP服务器用的是stmp.163.com.刚开始对于这个还是蛋疼的,最先使用的是stmp.qq.com结果发的邮件都被腾讯当成垃圾邮件处理了发不出去, 怎么该内容都没过.然后我改成了stmp.gmail.com,然后打开谷歌邮箱的POP服务,但总无法验证成功.最后还是注册一个163,运行代码就成功了. 无痛苦,无压力~~ 代码如下: 复制代码 代码如下: <?php require("PHPMailer/class.phpmailer.p

PHPMailer邮件类利用smtp.163.com发送邮件方法

第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/ 第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets 如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项. 第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首

PHPMailer使用教程(PHPMailer发送邮件实例分析)

php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单! 使用PHPMailer发送邮件: 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); ini_set("magic_quotes_runtime",0); require 'class.phpmailer.php'; try { $mail = new PHPMaile

phpmailer在服务器上不能正常发送邮件的解决办法

phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭.解决方法如下: 而代之的应该是 stream_socket_client()函数,不过他的参数有一点不

163的邮件用phpmailer发送(实例详解)

复制代码 代码如下: <?phprequire_once('../class.phpmailer.php');$mail= new PHPMailer();$body= "我终于发送邮件成功了!呵呵!<br/><a>http://news.qq.com/a/20111115/000792.htm?qq=0&ADUIN=594873950&ADSESSION=1321316731&ADTAG=CLIENT.QQ.3493_.0</a>

php使用phpmailer发送邮件实例解析

本人新手,由于要做邮件发送验证码,所以找到和搜集到这些,本人亲测完全可以用 这是163邮箱的   因为不是企业邮箱填写的账号是163的账号,但是密码是授权码 授权码的获取方式为: 然后 然后在这个页面向下看可以看到 接下来就是执行代码了 //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告 include("PHP/class.smtp.php"); include("PHP/class.phpmailer.php&

使用 PHPMAILER 发送邮件实例应用

以前的mail(),已经不在流行,所以放上最近用的实例,留做回忆. 复制代码 代码如下: <?php require_once(dirname(__FILE__)."/../phpmailer/class.phpmailer.php"); //包含class.phpmailer.php /** * @param string $send_to_mail 目标邮件 * @param stinrg $subject 主题 * @param string $body 邮件内容 * @p

thinkphp使用phpmailer发送邮件的方法

本文实例讲述了thinkphp使用phpmailer发送邮件的方法.分享给大家供大家参考.具体分析如下: phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,感兴趣的朋友可以参考一下. phpmailer发送邮件功能很强大,今天真正的体验一下,这里先简单说一下配置,本人是在thinkphp中使用的. 配置步骤: 1.后台配置发送邮件类,位置admin/common/common.php中,代码如下: 复制代码 代码如下

Python建立Map写Excel表实例解析

本文主要研究的是用Python语言建立Map写Excel表的相关代码,具体如下. 前言:我们已经能够很熟练的写Excel表相关的脚本了.大致的操作就是,从数据库中取数据,建立Excel模板,然后根据模板建立一个新的Excel表,把数据库中的数据写入.最后发送邮件.之前的一篇记录博客,写的很标准了.这里我们说点遇到的新问题. 我们之前写类似脚本的时候,有个问题没有考虑过,为什么要建立模板然后再写入数据呢?诶-其实也不算是没考虑过,只是懒没有深究罢了.只求快点完成任务... 这里对这个问题进行思考阐

JavaScript正则表达式校验与递归函数实际应用实例解析

JS递归函数(菲波那切数列) 实例解析: 一组数字:0 1 1 2 3 5 8 13 0 1 2 3 4 5 6 7 sl(0)=0; sl(1)=1; sl(2)=sl(0)+sl(1); sl(3)=sl(1)+sl(2); function sl(i){ if(i==0){ return 0; }else if(i==1){ return 1; }else{ return sl(i-1)+sl(i-2); } } 正则表达式检验 //校验是否全由数字组成 function isDigit(

python数据类型判断type与isinstance的区别实例解析

在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端"参数错误"错误码. 这样做不但便于调试,而且增加健壮性.因为客户端是可以作弊的,不要轻易相信客户端传过来的参数. 验证类型用type函数,非常好用,比如 >>type('foo') == str True >>type(2.3) in (int,float) True 既然有了type()来判断类型,为什么还有isinstance()呢? 一个明显的区别是在判断子类. type(

XML轻松学习手册(5)XML实例解析

第五章:XML实例解析 提纲: 一:实例效果 二:实例解析 1.定义新标识. 2.建立XML文档. 3.建立相应的HTML文件. XML在不同领域有着广泛的应用,比如在科技领域的MathML,无线通信应用的WML,在网络图象方面的SVG等等,我们这里侧重讨论XML在web上的应用.XML在web上应用主要是利用其强大的数据操作能力.一般用XML配合javascript和asp等服务器端程序,可以实现网络上几乎所有的应用需求. 考虑讲解方便,我们在下面介绍一个简单的实例,不包含服务器端程序.目的在

MYSQL子查询和嵌套查询优化实例解析

查询游戏历史成绩最高分前100 Sql代码 SELECT ps.* FROM cdb_playsgame ps WHERE ps.credits=(select MAX(credits) FROM cdb_playsgame ps1 where ps.uid=ps1.uid AND ps.gametag=ps1.gametag) AND ps.gametag='yeti3' GROUP BY ps.uid order by ps.credits desc LIMIT 100; Sql代码 SEL