更多>>PHP程序设计 Blog
来源:一度好 时间:2017-08-03 阅读:3522
本文以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 |
发表评论