首页 > 后端开发 > 正文

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怎么做发送邮件”相关推荐
php 发送邮件 要怎么配置
php 发送邮件 要怎么配置

php发送邮件要怎么配置在Windows平台下使用mail函数发送邮件,记录如下php.ini的设置:SMTP=localhostsmtp_port=25sendmail_from=你的设定值另外,还需要安装IIS自带的SMTP,在SMTP虚拟服务器上点击右键,在弹出的属性窗口里进行如下设置:点击访问选项卡,再点击中继,在弹出的窗口出点击添加,然后选单台计算机,

2024-09-13 04:39:28
如何使用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
php 如何实现向多个邮箱发送信息?坐等大神
php 如何实现向多个邮箱发送信息?坐等大神

php如何实现向多个邮箱发送信息?坐等大神$mails=array('xx@qq.com','yy@qq.com');foreach($mailas$key=&gt;$val){//$smtpemailto="XX@qq.com";//发送给谁修改成$val$smtpemailto=$val;//发送给谁//你上面的发送邮件代码}用PHP发送电子邮件的方法?&l

2024-09-18 18:15:45
用php邮箱验证该怎么做
用php邮箱验证该怎么做

php验证用户名是否以字母开头与验证密码只能为数字和字母的组合验证用户名是否以字母开头与验证密码只能为数字和字母的组合代码三款三种常用验证函数验证邮箱地址格式验证密码只能为数字和字母的组合验证用户名是否以字母开头代码哦,这是用户注册时或提交表单时会用的哦。functionis_email($email){if(preg_match("/[a-za-z0-9]+@[a-za-

2024-12-21 00:54:00
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
PHP如何定时发送短信
PHP如何定时发送短信

PHP如何定时发送短信1、首先设置好服务器;2、设置执行时间为无限制;3、设置发送短信间隔为5分钟;4、打开存储短信的文件,进行短信操作,关闭文件;5、循环上面的过程;6、具体设置代码如下:ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); // 执行时间为无

2024-11-25 15:55:01
python适合做什么开发
python适合做什么开发

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

2024-02-19 05:09:43
CES生产函数用EViews软件怎么做
CES生产函数用EViews软件怎么做

CES生产函数用EViews软件怎么做这是要估计的函数形式,nl可以成功估计beta0,rho,delta等参数(),stata官方网站有示范以ml的方式估计非线性(_ml.html)试著仿造过程遇到几个难处:⑴deltak^{-rho}的那个地方有些不解。我看书上类似把k视实际变数,而非代表变数??(2)是否可以利用locallogout:word1of`varlist'的语法在输

2024-09-07 16:01:09