首页 > 后端开发 > 正文

thinkphp3.1怎么做发送邮件

2024-07-24 05:58:42 | 我爱编程网

我爱编程网小编给大家带来了thinkphp3.1怎么做发送邮件相关文章,一起来看一下吧。

本文目录一览:

thinkphp3.1怎么做发送邮件

thinkphp3.1怎么做发送邮件

ThinkPHP邮件发送函数方法
/**
* 系统邮件发送函数
* @param string $to 接收邮件者邮箱
* @param string $name 接收邮件者名称
* @param string $subject 邮件主题
* @param string $body 邮件内容
* @param string $attachment 附件列表
* @return boolean
*/
function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){
$config = C('THINK_EMAIL');
vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new PHPMailer(); //PHPMailer对象
$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = 0; // 关闭SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = 'ssl'; // 使用安全协议
$mail->Host = $config['SMTP_HOST']; // SMTP 服务器
$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号
$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名
$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码
$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject = $subject;
$mail->MsgHTML($body);
$mail->AddAddress($to, $name);
if(is_array($attachment)){ // 添加附件
foreach ($attachment as $file){
is_file($file) && $mail->AddAttachment($file);
}
}
return $mail->Send() ? true : $mail->ErrorInfo;
此函数只能在ThinkPHP中使用且需要phpmailer扩展的支持;
phpmailer扩展的放置目录为 ThinkPHP/Extend/Vendor/PHPMailer/class.phpmailer.php
phpmail的下载地址:

使用此函数 必须在项目中加入以下配置项
//邮件配置
'THINK_EMAIL' => array(
'SMTP_HOST' => 'smtp.aaa.com', //SMTP服务器
'SMTP_PORT' => '465', //SMTP服务器端口
'SMTP_USER' => 'mail@aaa.com', //SMTP服务器用户名
'SMTP_PASS' => 'password', //SMTP服务器密码
'FROM_EMAIL' => 'mail@aaa.com', //发件人EMAIL
'FROM_NAME' => 'ThinkPHP', //发件人名称
'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL)
'REPLY_NAME' => '', //回复名称(留空则为发件人名称)
),

thinkphp3.1怎么做发送邮件

php中mail函数发送邮件失败的解决方法

本文实例讲述了php中mail函数发送邮件失败的解决方法。分享给大家供大家参考。具体分析如下:
php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧.
之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下:
复制代码
代码如下:yum
install
sendmail
对了,主机名要设置一个域名格式的,例如:jb51.net,不然重启sendmail的时候会特别久才启动起来,否则要等很久,代码如下:
复制代码
代码如下:hostname
jb51.net
接着看看sendmail是否正常运行,代码如下:
复制代码
代码如下:service
sendmail
status
如果没有运行可以启动,status换成start,紧接着,编辑php.ini,可以在web环境下创建一个phpinfo,因为我用的是lnmp.
复制代码
代码如下:vi
/usr/local/php/etc/php.ini
再查找:;sendmail_path
=,按i编辑,替换为:
复制代码
代码如下:sendmail_path
=
/usr/sbin/sendmail
-t
-i
我的系统默认的是:复制代码
代码如下:sendmail_path
=
/usr/sbin/sendmail
-t
-i
-f
这个-f
看来是让mail函数停用了,去掉-f后mail函数工作恢复正常,紧接着,重启PHP进程,一般是:service
php
restart
LNMP是:service
php-fpm
restart,Apache下可以:service
httpd
restart
给大家分享个php脚本测试代码,代码如下:
复制代码
代码如下:<?php
$send
=
mail('yourEmail@lisizhang.com',
'邮件标题',
'测试邮件内容,如果收到此邮件,表示mail函数成功启用!');
if($send){
echo
'true';
}else{
echo
'false';
}
?>
如果返回结果false说明邮件发送失败,如果返回true表示邮件发送成功.
希望本文所述对大家的php程序设计有所帮助。

thinkphp3.1怎么做发送邮件

PHP如何使用MAIL函数发邮件

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP如何使用MAIL函数发邮件的相关内容。

PHP mail 发送邮件
mail
(PHP 4, PHP 5)

mail — 发送邮件

说明
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
发送一封电子邮件。

参数
to
电子邮件收件人,或收件人列表。

本字符串的格式必须符合 » RFC 2822。例如:

user@example.com
user@example.com, anotheruser@example.com
User <user@example.com>
User <user@example.com>, Another User <anotheruser@example.com>
subject
电子邮件的主题。

Caution
本项不能包含任何换行符,否则邮件可能无法正确发送。

message
所要发送的消息。

行之间必须以一个 LF( )分隔。每行不能超过 70 个字符。

Caution
(Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。 <?php
$text = str_replace(" .", " ..", $text);
?>

additional_headers(可选项)
String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF ( ). 我爱编程网

以上就是我爱编程网小编给大家带来的thinkphp3.1怎么做发送邮件,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“thinkphp3.1怎么做发送邮件”相关推荐
如何使用Java发送qq邮件
如何使用Java发送qq邮件

如何使用Java发送qq邮件方法:1.前提准备工作:首先,邮件的发送方要开启POP3和SMTP服务--即发送qq邮件的账号要开启POP3和SMTP服务2.开启方法:登陆qq邮箱3.点击设置4.点击—-账户5.找到:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务—点击开启6.送短信—–点击确定7.稍等一会,很得到

2024-04-07 21:55:04
discuz怎么设置邮箱验证discuz邮件设置
discuz怎么设置邮箱验证discuz邮件设置

PHP用正则表达式做注册页面//定义正则表达式$username_pattern="/^[a-zA-Z0-9_-]{3,16}$/";//用户名必须是3-16位英文字母、数字、下划线或短横线$password_pattern="/^[a-zA-Z0-9_-]{6,18}$/";//密码必须是6-18位英文字母、数字、下划线或短横线$email_pattern="/^([\w\.\

2024-07-22 04:08:22
python适合做什么开发
python适合做什么开发

python适合做什么开发Python是一门高级的编程语言,也是应用率非常广泛的编程语言,该语言就业机会多,薪资待遇高,可以从事做的事情有很多,发展前景非常不错。一、人工智能Python作为人工智能的黄金语言,选择人工智能作为就业方向是理所当然的,而且就业前景好,薪资普遍较高,拉勾网上,人工智能工程师的招聘起薪普遍在20K-35K,当然,如果是初级工程师,起薪也已经超过了12500元

2024-02-19 05:09:43
python可以做界面开发吗
python可以做界面开发吗

怎样用QtCreator编辑运行python脚本我们首先来看看QtCreator能不能编辑运行python脚本。可以看到新建项目的选项里并没有python相关的选项,看了并不能用QtCreator来管理python项目。我们来看看另一个方面,看看QtCreator能不能创建编辑python的相关文件吧。可以看到,有python的相关选项,点击左侧的Python标签,在中间部分可

2024-01-08 11:50:25
python做动态图,怎么做?
python做动态图,怎么做?

python内存中创建GIF动态图数据?建多个ppt页面,并先绘制跳跃的路径,将每页的小球放到路径上。接下来删除路径这条线,并将每页都导出为图片。导出时选择每页导出、确定好保存位置,点击导出。接下来我们打开网页,在百度里面输入GIF生成器。找到合适的一个网页转换软件进行转换pythonpyqt5载入gif'''【简介】加载Gif动画效果'''importsys

2024-01-10 05:25:06
java开发怎么做日志功能 就是记录用户每一步的操作具体做什么了
java开发怎么做日志功能 就是记录用户每一步的操作具体做什么了

java开发怎么做日志功能就是记录用户每一步的操作具体做什么了Java开发做日志功能是比较麻烦的,Java开发学做日志功能推荐千锋教育。千锋教育合作院校超600所,校企合作共建实验室50余个,与教育部产学合作协同育人项目累计成功立项768项,为高校举办实训近万次,组织实施各类讲座5万余场。规划教材100本,已被近500所高校选用授课教材,深受广大高校师生喜爱。日志对于一个系统来说非常重

2024-06-13 02:54:00
开发java用什么软件?
开发java用什么软件?

开发java用什么软件?java软件开发常用的软件有:JDK、NetBases、JBuilder、Eclipse、Eclipse、MyEclipse。1、JDK是java初学时用的,很麻烦的,其实编程工具里面应该不包括它,只是支持java的底层工具;2、NetBases是java开发桌面应用程序用的;3、JBuilder是开发Web应用程序的,几年前比较流行,但是JBui

2024-05-08 15:18:08
PHP怎么实时验证邮箱是否被注册了?
PHP怎么实时验证邮箱是否被注册了?

PHP怎么实时验证邮箱是否被注册了?比如用jquery实现:$(document).ready(function(){$.ajax({type:"GET",url:"*.php处理路径="+name;(如果有中文,escape(name))dataType:""success:function(msg){alert(msg);//是否存在},});

2024-07-22 07:39:28