ThinkPHP下SMTP的发送邮件

2024-05-01 23:18
文章标签 邮件 发送 thinkphp smtp

本文主要是介绍ThinkPHP下SMTP的发送邮件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

发送邮件的两个方法,博主已经亲自测试成功

1.TP官网方法

(http://www.thinkphp.cn/extend/248.html)
a).引入函数库:Email.class.php放在component文件夹下
b).配置文件:common/Conf/config.php中加入如下:

    'SMTP_SERVER' =>'smtp.163.com',                 //邮件服务器'SMTP_PORT' =>'25',                             //邮件服务器端口'SMTP_USER_EMAIL' =>'@163.com',     //SMTP服务器的用户邮箱(一般发件人也得用这个邮箱)'SMTP_USER'=>'@163.com',            //SMTP服务器账户名'SMTP_PWD'=>'授权密码',                         //SMTP服务器账户密码'SMTP_MAIL_TYPE'=>'HTML',                       //发送邮件类型:HTML,TXT(注意都是大写)'SMTP_TIME_OUT'=>30,                            //超时时间'SMTP_AUTH'=>true,  
c).实际调用:controller.php,直接可以在控制器中应用,如下
        $mail = new \Component\Email();$data['mailto']  =   "123456@qq,.com"; //收件人$data['subject'] =   '欢迎注册网站';    //邮件标题$data['body']    =   "邮件正文内容";    //邮件正文内容if($mail->send($data)){//邮件发送成功...}else{//邮件发送失败...}

2.类库

a).引入函数库,PHPMailer移动到thinkphp里的library\Vendor
b).配置文件,common/Conf/config.php中加入如下:
// // 配置邮件发送服务器'MAIL_HOST' =>'smtp.163.com',//smtp服务器的名称smtp.exmail.qq.com'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证renxiaole66@126.com'MAIL_USERNAME' =>'@163.com',//你的邮箱名'MAIL_FROM' =>'@163.com',//发件人地址'MAIL_FROMNAME'=>'MR.峰',//发件人姓名'MAIL_PASSWORD' =>'授权密码',//邮箱授权密码'MAIL_CHARSET' =>'utf-8',//设置邮件编码'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
c).引入函数,common/common/function.php,创建此php文件,后边用时框架会自动加载
function SendMail($to, $title, $content) {Vendor('PHPMailer.PHPMailerAutoload');     $mail = new PHPMailer(); //实例化$mail->IsSMTP(); // 启用SMTP$mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)$mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证$mail->Username = C('MAIL_USERNAME'); //你的邮箱名$mail->Password = C('MAIL_PASSWORD') ; //邮箱密码$mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)$mail->FromName = C('MAIL_FROMNAME'); //发件人姓名$mail->AddAddress($to,"尊敬的客户");$mail->WordWrap = 50; //设置每行字符长度$mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件$mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码$mail->Subject =$title; //邮件主题$mail->Body = $content; //邮件内容$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示return($mail->Send());}
d).实际调用:controller.php,直接可以在控制器中应用,如下
   if(SendMail("$_POST[user_email]",'欢迎注册网站',"$message")){$this->success('发送成功,请激活后登录',U('login'));}else{$this->error('发送失败');}}else{//add()失败// echo "error";$this->error('注册失败',U('register'));}

注意:

1.在配置邮箱的帐号密码时,密码为SMTP的【授权密码】,与你的登录密码是不一样的,
否则提示: 535 authentication failed
2.必须开启SMTP服务,以163邮箱为例子:
这里写图片描述
这里写图片描述

这样的话,用户注册激活,用户找回密码等等,不都能实现了吗?o(∩_∩)o

这篇关于ThinkPHP下SMTP的发送邮件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/952915

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建