博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】
阅读量:4943 次
发布时间:2019-06-11

本文共 3004 字,大约阅读时间需要 10 分钟。

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

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

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

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

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

示例项目:https://github.com/Tinywan/ThinkPhpStudy

一、引入phpmail

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

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

二、设置配置项

//***********************************邮件服务器**********************************    'EMAIL_FROM_NAME'        => 'tinywan@163.com', // 发件人    'EMAIL_SMTP'             => 'smtp.163.com', // smtp    'EMAIL_USERNAME'         => 'tinywan@163.com', // 账号    'EMAIL_PASSWORD'         => '你的密码 // 授权密码而不是登陆的密码

三、配置163箱:

    首先是要开启smtp服务:

    配置文件中的信息在这里:

注意:开启过程中是要设置一个授权密码,这里的授权密码也就是配置文件中需用的那个密码,否则的话否则,SMTP connect() failed

'EMAIL_PASSWORD'         => '你的密码 // 授权密码而不是登陆的密码

 四、发送邮件的实际代码,这个在(ThinkPHP框架中的Function()函数中写着来)

/** * 发送邮件 * @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);    }}

五、发送邮件调用函数示例:

/**     * 发送邮件     */    public function send_email()    {        $name = I('post.name', '这是一份测试邮件名称');        $address = I('post.address', '这是一份测试邮件发送的地址');        $phone = I('post.phone', '13669361192');        $email = '2680737855@qq.com';        $str = <<            地址:$address 
手机号:$phonehtml; $result = send_email($email, '这个邮件是我用来做测试的,亲!', $str); if ($result['error'] == 1) { var_dump($result); die; } var_dump('发送完成'); }

基本来源:http://baijunyao.com

 

转载于:https://www.cnblogs.com/tinywan/p/5865568.html

你可能感兴趣的文章
豆瓣电影api
查看>>
BufferedInputStream和FileInputStream的区别
查看>>
二阶段之六
查看>>
微博爬虫 python
查看>>
中石油 【递归】普通递归关系
查看>>
vue报错Error in render: "TypeError: Cannot read property '0' of undefined"
查看>>
silverlight 隐藏ChildWindow 右上角的关闭按钮
查看>>
likely() 和 unlikely()
查看>>
03一些View总结
查看>>
MapReduce--平均分,最高,低分以及及格率的计算
查看>>
mac下管理论文的工具
查看>>
POJ3122Pie(二分)
查看>>
WF+WCF+WPF第二天--模拟超市收银
查看>>
爬取贴吧好看的桌面图片 -《狗嗨默示录》-
查看>>
[转]这13个开源GIS软件,你了解几个?
查看>>
Shell批量启动、关闭tomcat
查看>>
C++成员函数的重载、覆盖与隐藏【转载】
查看>>
网站开发技能图谱
查看>>
4.27随笔
查看>>
CSS实例:图片导航块
查看>>