PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
这篇文章主要为大家详细介绍了PHP发送邮件功能,一个PHPMailer插件轻松实现邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
首先第一步 :在网上down了一个PHPMailer插件,下载解压后,这里我们只需要用到其中两个文件,如下图所示:
将class.phpmailer.php和class.smtp.php两个文件分别放置到
ThinkPHP/Library/Vendor/PHPMailer/class.phpmailer.php (注意大小写哦)
ThinkPHP/Library/Vendor/PHPMailer/class.smtp.php
注意:现在放置的是thinkPHP默认的第三方类库目录,如果在index.php定义了如define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); 那么文件放置的路径要与之相同,免得出现class 'PHPMailer' not found情况。
2、创建用户自定义函数文件Application/Home/Common/function.php,放置如下函数:
- /**
- * 功能:邮件发送函数
- * @param string $to 目标邮箱
- * @param string $subject 邮件主题(标题)
- * @param string $to 邮件内容
- * @return bool true
- */
- function sendMail($to, $subject, $content) {
- vendor('PHPMailer.class#smtp');
- vendor('PHPMailer.class#phpmailer'); //注意这里的大小写哦,不然会出现找不到类,PHPMailer是文件夹名字,class#phpmailer就代表class.phpmailer.php文件名
- $mail = new PHPMailer();
- // 装配邮件服务器
- if (C('MAIL_SMTP')) {
- $mail - >IsSMTP();
- }
- $mail - >Host = C('MAIL_HOST'); //这里的参数解释见下面的配置信息注释
- $mail - >SMTPAuth = C('MAIL_SMTPAUTH');
- $mail - >Username = C('MAIL_USERNAME');
- $mail - >Password = C('MAIL_PASSWORD');
- $mail - >SMTPSecure = C('MAIL_SECURE');
- $mail - >CharSet = C('MAIL_CHARSET');
- // 装配邮件头信息
- $mail - >From = C('MAIL_USERNAME');
- $mail - >AddAddress($to);
- $mail - >FromName = C('MAIL_FROMNAME');
- $mail - >Ishtml(C('MAIL_ISHTML'));
- // 装配邮件正文信息
- $mail - >Subject = $subject;
- $mail - >Body = $content;
- // 发送邮件
- if (!$mail - >Send()) {
- return FALSE;
- } else {
- return TRUE;
- }
- }
3、上述函数中,用到C方法来加载了一些配置信息,所以我们得在配置文件里(默认/Application/Home/Conf/config.php)加入如下配置信息:
- <?php
- return array(
- //其他配置项省略......
- // 配置邮件发送服务器
- 'MAIL_SMTP' => TRUE,
- 'MAIL_HOST' => 'smtp.163.com', //邮件发送SMTP服务器
- 'MAIL_SMTPAUTH' => TRUE,
- 'MAIL_USERNAME' => '123***@163.com', //SMTP服务器登陆用户名
- 'MAIL_PASSWORD' => '123456abc', //SMTP服务器登陆密码
- 'MAIL_SECURE' => 'tls',
- 'MAIL_CHARSET' => 'utf-8',
- 'MAIL_ISHTML' => TRUE,
- 'MAIL_FROMNAME' => '某某网站客户',
- );
4、开始调用,假设通过网址/?m=home&c=index&a=send访问,那我们相应的在Application/Home/Controller/IndexController.class.php文件里加入方法,如下:
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class IndexController extends Controller {
- public function index(){
- }
- public function send(){
- if(sendMail('vsiryxm@qq.com','你好!邮件标题','这是一篇测试邮件正文!')){
- echo '发送成功!';
- }
- else{
- echo '发送失败!';
- }
- }
- }
来源: http://www.phperz.com/article/17/0904/340439.html