更多>>PHP程序设计 Blog
来源:一度好 时间:2017-08-03 阅读:4626
本文以ThinkPHP框架中的3.2版本为例,利用PHPMailer函数包发送邮件。
1、下载PHPMailer
把下载下来的PHPMailer文件夹放到/ThinkPHP/Library/Vendor/目录下。
2、文件配置
(1)配置文件
修改配置文件/Application/Common/Conf/config.php,加入如下内容:
//配置邮件发送服务器 'MAIL_HOST' => 'smtp.163.com', //smtp服务器的名称 'MAIL_SMTPAUTH' => true, //启用smtp认证 'MAIL_USERNAME' => '***@163.com', //你的邮箱名 'MAIL_FROM' => '***@163.com', //发件人地址 'MAIL_FROMNAME'=> '***', //发件人姓名 'MAIL_PASSWORD' => '***', //邮箱密码 'MAIL_CHARSET' => 'utf-8', //设置邮件编码 'MAIL_ISHTML' => true, //是否HTML格式邮件
(2)函数文件
修改函数文件/Application/Common/Common/function.php,加入如下内容:
/**
* 邮件发送函数
*/
function sendMail($to, $title, $content){
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer(); //实例化
$mail->IsSMTP(); // 启用SMTP
$mail->Host=C('MAIL_HOST'); //smtp服务器的名称
$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 = 80; //设置每行字符长度
$mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
$mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
$mail->Subject =$title; //邮件主题
$mail->Body = $content; //邮件内容
$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
return($mail->Send());
}3、文件测试
(1)模板文件
在模板文件/Application/Home/View/Index/reg.html中,加入如下内容:
< form action="/index.php/home/index/reg_save.html" method="post" enctype="multipart/form-data" > 收件人邮箱:< input type="text" id="mail" name="mail" /> 邮件标题:< input type="text" id="title" name="title" /> 邮件内容:< input type="text" id="content" name="content" /> < input class="button" type="submit" value="发送" />< /form >
(2)控制器文件
在控制器文件/Application/Home/Controller/IndexController.class.php中,加入如下内容:
完整文件内容如下:
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this -> display();
}
public function reg(){
$this -> display();
}
public function reg_save(){
if(SendMail($_POST['mail'],$_POST['title'],$_POST['content'])){
$this->success('发送成功!');
}else{
$this->error('发送失败');
}
}
}4、附件
附件为PHPMailer的压缩包文件
评论列表 |
Hello. 来自乌克兰
Hello.
2024-02-10 12:45:37 |
发表评论