使用php mailer发送邮件或群发邮件

php mailer下载地址:https://github.com/PHPMailer/PHPMailer
发送邮件只需要这几个文件就够啦:
class.phpmailer.php
class.smtp.php
PHPMailerAutoload.php

然后封装的一个简单的邮件发送类,使用起来方便一点:
/*发送邮件*/
class Mailer
{
private $now = null;
private $mail = null;
//构造方法
public function __construct()
{
$this->now = date('Y-m-d H:i:s');
//Create a new PHPMailer instance
$this->mail = new PHPMailer();
}
//发送邮件
public function post($params)
{
//设置编码
$this->mail->CharSet = $params['CharSet'];
//Tell PHPMailer to use SMTP
$this->mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$this->mail->SMTPDebug = $params['SMTPDebug'];
//Ask for HTML-friendly debug output
$this->mail->Debugoutput = 'html';
//Set the hostname of the mail server
$this->mail->Host = $params['Host'];
//Set the SMTP port number - likely to be 25, 465 or 587
$this->mail->Port = 25;
//Whether to use SMTP authentication
$this->mail->SMTPAuth = true;
//Username to use for SMTP authentication
$this->mail->Username = $params['Username'];
//Password to use for SMTP authentication
$this->mail->Password = $params['Password'];
//Set who the message is to be sent from
$this->mail->setFrom($params['From'][0], $params['From'][1]);
//Set an alternative reply-to address
$this->mail->addReplyTo($params['From'][0], $params['From'][1]);
//Set who the message is to be sent to
$this->mail->addAddress($params['Address'][0], $params['Address'][1]);
//Set the subject line
$this->mail->Subject = $params['Subject'];
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$this->mail->msgHTML($params['msgHTML']);
//Replace the plain text body with one created manually
//$this->mail->AltBody = 'This is a plain-text message body';
//send the message, check for errors
if ($params['SMTPDebug'] != 0) {
var_dump($this->mail->ErrorInfo);
}
return $this->mail->send();
}
//添加收件人,用于群发
public function addAddress($address, $name = '')
{
$this->mail->addAddress($address, $name);
}
}

使用时直接调用就可以:
require_once 'PHPMailerAutoload.php';
require_once 'Mailer.php';
$mailer = new Mailer();
//邮箱设置
$email_config = array(
'CharSet' => 'utf-8',
'SMTPDebug' => 0,
'Host' => 'smtp.exmail.qq.com', //smtp地址
'Username' => 'xxx@xxx.com', //发件人邮箱
'Password' => 'xxxxxx', //发件人邮箱密码
'From' => array('xxx@xxx.com', xxx'), //发件人显示邮箱和显示名,
'Address' => array('yyy@yyy.com', ''); //收件人邮箱
'Subject' => '邮件标题',
'msgHTML' => '邮件内容,HTML邮件'
);
$mailer->post($email_config);

如果需要群发邮件,只需要简单的添加收件人就可以啦:
$mailer->addAddress('zzz@zzz.com', 'zzz'); //发件人显示邮箱和显示名

这只是简单的写一下,平时我的项目中是没有专门写群发功能的,也从来没有使用过群发,也不推荐使用,如果不小心被QQ邮箱网易邮箱什么的将你的域名加入黑名单就不好了。

评论0

  • 没有任何评论
评论请先登录

最近热帖

  1. 我才是第一名 38378
  2. 谁能超过我 23917
  3. 本站源码easyQA下载地址及安装配置文档 6107
  4. 百度的无刷新搜索,并不仅仅是使用了ajax,还有它的功劳! 4346
  5. 本站用的是什么富文本编辑器呢? 3253
  6. 本站源码下载及安装配置教程 2860
  7. (● ̄(エ) ̄●) 恳请大家不要发布无意义的测试帖子吧,测试也可以发有意义的文字呀 2790
  8. 我把它改成潮流分享的社区了。。。囧 2489
  9. 关于thinkphp图片上传插件,ajax+无刷新。 2466
  10. 本站源码的开源开发进度与意见反馈 1963

近期热议

  1. 本站源码easyQA下载地址及安装配置文档 56
  2. (● ̄(エ) ̄●) 恳请大家不要发布无意义的测试帖子吧,测试也可以发有意义的文字呀 24
  3. 社区新使用了又拍云来存储图片,测试一下上传图片 18
  4. 仔细从V型注册v 18
  5. 本站源码下载及安装配置教程 17
  6. 提问与回答增加上传图片、添加代码、表情、颜表情功能 15
  7. 百度的无刷新搜索,并不仅仅是使用了ajax,还有它的功劳! 14
  8. 本站用的是什么富文本编辑器呢? 13
  9. 你这个网站的搜索框 13
  10. 本站源码的开源开发进度与意见反馈 12