使用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服务->生成授权码


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

(0)

相关推荐

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

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

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

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

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

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

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

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

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

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

  • 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邮件发送的实现代码

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

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

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

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

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

  • 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>

随机推荐