ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】

简介: 但是邮件和短信相比在一些场景依然有着重要的意义和优势; 1:零成本;发邮件没有费用; 2:内容丰富且量大;邮件可以长篇大论;图文并茂; 3:增加访问量;用户很容易通过邮件中的链接访问网站; 好了;下面来来为thinkphp集成邮件系统; 示例项目:https://github.

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

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 = <<<html
            姓名:$name <br>
            地址:$address <br>
            手机号:$phone
html;
        $result = send_email($email, '这个邮件是我用来做测试的,亲!', $str);
        if ($result['error'] == 1) {
            var_dump($result);
            die;
        }
        var_dump('发送完成');
    }

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

 

目录
相关文章
|
Python
python实现发送邮件demo
python实现发送邮件demo
69 1
|
6月前
|
API PHP UED
​一个PHP文件实现联系表单自动发送邮件
使用PHP和AOKSend服务,可以创建一个联系表单,收集用户信息并自动发送邮件。HTML表单包含姓名、邮箱和消息字段。PHP文件`send_mail.php`处理表单提交,通过AOKSend的SMTP设置(如主机、端口、API密钥)使用PHPMailer发送邮件到指定地址。代码中还包括安全措施,如使用`htmlspecialchars`防止XSS攻击。这种方法增强了网站的用户沟通体验,并依赖AOKSend的稳定性和API进行高效邮件发送。
|
前端开发 JavaScript API
php的短信验证的流程,如何实现前端js加后端php
php的短信验证的流程,如何实现前端js加后端php
130 0
|
前端开发 JavaScript 关系型数据库
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
833 0
|
中间件 数据库 Python
【Django知识补充 - 1】:admin站点和rest_framework实现文件的上传和下载
【Django知识补充 - 1】:admin站点和rest_framework实现文件的上传和下载
311 0
【Django知识补充 - 1】:admin站点和rest_framework实现文件的上传和下载
|
JavaScript 安全 网络安全
如何使用nodejs自动发送邮件?
之前用Nodejs做了很多服务端模块, 最近抽空复盘一下, 接下来笔者将介绍如何使用Nodejs来自动向用户发送邮件. 笔者将详细介绍自动发送邮箱的实现方案, 以及通过一个实际的案例来带大家掌握使用nodejs自动发送邮件, 最后会介绍一些实际的应用场景, 来加深对该方案的理解, 达到学以致用的目的.
763 0
|
JavaScript PHP
ThinkPHP 3.2.3 验证码 生成和校验DEMO
ThinkPHP 3.2.3 验证码 生成和校验DEMO
164 0
ThinkPHP 3.2.3 验证码 生成和校验DEMO
|
缓存 NoSQL PHP
Laravel-高级篇:Composer、Laravel、Artisan、Auth、文件上传、邮件、缓存、错误&日志、队列
Laravel-高级篇:Composer、Laravel、Artisan、Auth、文件上传、邮件、缓存、错误&日志、队列
253 0
|
Python 数据安全/隐私保护
flask-mail发送QQ邮件代码示例(亲测可行)
from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) app.config.update( MAIL_SERVER='smtp.
1753 0
|
测试技术 PHP Apache
PHPMailer安装及简单实例(PHP发送邮件不用Smtp类)
PHPMailer安装及简单实例 [ 2006-11-29 14:37:49 | Author: songzi ] Font Size: Large | Medium | Small PHPMailer是一个用PHP写的用于邮件发送的类,有点像Jmail,相信很多新手和我一样,开始很茫然,不知道怎么安装,查找了一下,发现这方面的资料真的少之又少,一个文章被转载千百次,一搜索全是同一个内容,真不知道说什么好,其实打开安装里的readme就一目了然了,闲话少说,安装其实很简单。
1733 0