php foreach邮件群发,thinkphp集成系列之phpmailer批量发送邮件

说了这是一个短信通知泛滥的年代;大部分网站的邮箱注册都已经被短信注册所取代;

但是邮件和短信相比在一些场景依然有着重要的意义和优势;

1:零成本;发邮件没有费用;

2:内容丰富且量大;邮件可以长篇大论;图文并茂;

3:增加访问量;用户很容易通过邮件中的链接访问网站;

好了;下面来来为thinkphp集成邮件系统;

一:引入phpmail

从示例项目中复制两个文件到自己的项目;

/ThinkPHP/Library/Org/Nx/class.phpmailer.php ;

/ThinkPHP/Library/Org/Nx/class.smtp.php ;

不要从官网上下载;因为下载的phpmail直接引入thinkphp是有一些坑会报错的;

具体报什么错;年代久远;当年整合的时候没有记录;

二:设置配置项

/Application/Common/Conf/config.php

'EMAIL_FROM_NAME'        => '', // 发件人

'EMAIL_SMTP'             => '', // SMTP服务器

'EMAIL_USERNAME'         => '', // 账号

'EMAIL_PASSWORD'         => '', // 密码

如果使用163邮箱;此处有一个坑;首先是要开启smtp;

1463915654317133.jpg

1463916516228840.jpg

开启过程中是要设置一个授权密码;开启完成;又一个坑也就同步挖好了;

配置项中的EMAIL_PASSWORD 指的不是163邮箱的登录密码;而是授权密码;

否则SMTP connect() failed;

三:发送邮件

/**

* 发送邮件

* @param  string $address 需要发送的邮箱地址 发送给多个地址需要写成数组形式

* @param  string $subject 标题

* @param  string $content 内容

* @return boolean       是否成功

*/

function send_email($address,$subject,$content){

$email_smtp=C('EMAIL_SMTP');

$email_username=C('EMAIL_USERNAME');

$email_password=C('EMAIL_PASSWORD');

$email_from_name=C('EMAIL_FROM_NAME');

if(empty($email_smtp) || empty($email_username) || empty($email_password) || empty($email_from_name)){

return array("error"=>1,"message"=>'邮箱配置不完整');

}

require './ThinkPHP/Library/Org/Nx/class.phpmailer.php';

require './ThinkPHP/Library/Org/Nx/class.smtp.php';

$phpmailer=new \Phpmailer();

// 设置PHPMailer使用SMTP服务器发送Email

$phpmailer->IsSMTP();

// 设置为html格式

$phpmailer->IsHTML(true);

// 设置邮件的字符编码'

$phpmailer->CharSet='UTF-8';

// 设置SMTP服务器。

$phpmailer->Host=$email_smtp;

// 设置为"需要验证"

$phpmailer->SMTPAuth=true;

// 设置用户名

$phpmailer->Username=$email_username;

// 设置密码

$phpmailer->Password=$email_password;

// 设置邮件头的From字段。

$phpmailer->From=$email_username;

// 设置发件人名字

$phpmailer->FromName=$email_from_name;

// 添加收件人地址,可以多次使用来添加多个收件人

if(is_array($address)){

foreach($address as $addressv){

$phpmailer->AddAddress($addressv);

}

}else{

$phpmailer->AddAddress($address);

}

// 设置邮件标题

$phpmailer->Subject=$subject;

// 设置邮件正文

$phpmailer->Body=$content;

// 发送邮件。

if(!$phpmailer->Send()) {

$phpmailererror=$phpmailer->ErrorInfo;

return array("error"=>1,"message"=>$phpmailererror);

}else{

return array("error"=>0);

}

}

发送邮件调用函数;

send_email('baijunyao@baijunyao','邮件标题','邮件内容');

// 如果群发邮件 则传入数组即可

$emails=array('b1@baijunyao.com','b2@baijunyao.com');

send_email($emails,'邮件标题','邮件内容');

本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值