-
10月25日
-
今天由于公司项目需要,想要用thinkPHP实现邮件发送,函数当然是写在自定义函数库最适合不过了,可是就这个自定义函数库折腾了我半天,死活说该函数未定义,无奈重新梳理了一遍,先整理如下:
1.thinkPHP3.2.3以前的版本,自定义函数库是在Common文件夹下的common.php中,3.2.3在Common下的function.php,注意是function不是functions,因为系统函数库是functions.php,刚开始我也写的functions,导致一直提示该函数未定义,至于模块随意了,可以写在Common模块下,也可以根据你的需求在相应的模块下
下面来看函数的具体实现:
1.首先下载PHPMailer,(下载地址在最后面)然后将class.phpmailer.php和class.smtp.php复制到Think/Library/Vendor/PHPMailer下,当然了PHPMailer这个文件夹是你自己需要新建的。 2.然后在函数中导入这两个类,如下所示: Vendor('PHPMailer.class#phpmailer');//这个表示引入在Vendor文件夹下的PHPMailer文件夹下的class.phpmailer.php文件 vendor('PHPMailer.class#smtp');//这个表示引入在Vendor文件夹下的PHPMailer文件夹下的class.smtp.php文件
下面是具体全部代码:
<?php function sendMail($to, $title, $content,$isHtml) { Vendor('PHPMailer.class#phpmailer'); Vendor('PHPMailer.class#smtp'); $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host=C('email_host'); //smtp服务器的名称(这里以QQ邮箱为例) $mail->SMTPAuth = true; //启用smtp认证 $mail->Username = C('email_username'); //你的邮箱名 $mail->Password = C('email_password') ; //邮箱密码 $mail->From = C('email_addr'); //发件人地址(也就是你的邮箱地址) $mail->FromName = C('site_name'); //发件人姓名 $mail->AddAddress($to,"尊敬的客户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML($isHtml); // 是否HTML格式邮件 $mail->CharSet='UTF-8'; //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 return($mail->Send()); } ?>
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/xiulianzhilu/2016/1025/106.html
PHPMailer下载地址:http://pan.baidu.com/s/1minphiS