相信很多同学都用过thinkphp,而thinkphp这个框架本身也有类库,这篇文章我们来讲讲thinkphp怎么使用外部phpmailer类库。
方法一:
1. 下载PHPmailer并解压到ThinkPHP\Extend\Vendor文件夹下
2. 用ThinkPHP自带的Vendor方法载入第三方类库
3. 配置相关参数.
立即学习“PHP免费学习笔记(深入)”;
4.为了方便随意调用, 在common.php创建一个发送邮件的函数, 之后就可以调用此函数发送邮件了
/**
* 邮件发送
*/
function sendMail(){
// 载入邮件发送类库
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer;
$mail->isSMTP(); //设置PHPMailer使用SMTP服务器发送Email
$mail->Host = 'smtp.163.com'; //指定SMTP服务器 可以是smtp.126.com, gmail, qq等服务器 自行查询
$mail->SMTPAuth = true;
$mail->CharSet='UTF-8'; //设置字符集 防止乱码
$mail->Username = 'username@163.com'; //发送人的邮箱账户
$mail->Password = 'xxxxxxxxxx'; //发送人的邮箱密码
$mail->Port = 25; //SMTP服务器端口
$mail->From = 'user@admin.com'; //发件人邮箱地址
$mail->FromName = '在路上'; //发件人名称
$mail->addAddress('guest@test.com'); // 收件人邮箱地址 此处可以发送多个
$mail->WordWrap = 50; // 换行字符数
$mail->isHTML(true); // 设置邮件格式为HTML
$mail->Subject = '青岛XXX'; //邮件标题
$mail->Body = '尊敬的先生/女士:
非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户######
如您没有相关意向,请忽略';
if(!$mail->send()) {
echo '邮件发送失败.';
echo '错误信息: ' . $mail->ErrorInfo;
} else {
echo '邮件发送成功';
}
}定义好函数之后,如果想发送邮件,直接调用 sendMail();
可把发送内容, 发送标题, 收件人全部设置为变量, 例如: sendMail($body, $title, $recipient) 收件人可为数组的形式, 在函数里面循环一下就搞定啦!! SMTP服务器以及发件人的一些配置可以写到Conf\config.php文件中, 直接C()方法调用即可.
方法二:
第一步 先下载PHPMailer.class.php压缩包(本文上面有附件下载)
解压后会有如下的三个文件:
1.class.pop3.php 2.class.smtp.php 3.PHPMailer.class.php PHPMailer.class.php这个文件就是核心的文件,把这个文件放到ThinkPHP的扩展包下路径如\下:ThinkPHP\Extend\Library
第二步 在ThinkPHP,common文件中新建一个common.php文件写入如下代码:
第三步 在ThinkPHP,conf.php文件写入如下代码:
注意:以下是的我自己QQ邮箱的测试的,每个邮箱参数不同,具体以邮箱为准,qq邮箱的stmp需要自己到邮箱开启的。
returnarray( //'配置项'=>'配置值' 'MAIL_ADDRESS'=>'799783009@qq.com', // 邮箱地址 'MAIL_LOGINNAME'=>'799783009@qq.com', // 邮箱登录帐号 'MAIL_SMTP'=>'smtp.qq.com', // 邮箱SMTP服务器 'MAIL_PASSWORD'=>'******', // 邮箱密码 'SHOW_PAGE_TRACE'=>true, );
第四步 剩下使用了。在ThinkPHP,IndexAction.class.php文件写入如下代码:
专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬
// 本类由系统自动生成,仅供测试用途
classIndexAction extendsAction {
publicfunctionindex(){
if(!empty($_POST['title']) && !empty($_POST['content'])){
if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content']))
echo'发送成功!';
else
echo'发送失败';
}
$this->assign('title','测试标题');
$this->display();
}
}好了,就这么简单的
方法二算是一个标准的方法了,整体都放到thinkphp类中了,小编推荐使用第二种方案。
php利用smtp类轻松的发送电子邮件
当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!
php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。
smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。几行简单的配置就能发邮件,是不是很期待的试一试呢!
以下就是核心代码:
".$_POST['content']."";//邮件内容 $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件 //************************ 配置信息 **************************** $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = false;//是否显示发送的调试信息 $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype); echo ""; ?>
以上就是 ThinkPHP使用PHPMailer发送邮件的例子 两种例子了,更多相关请到PHP中文网搜索~
相关推荐:









