一、软件版本
Apache Apache/2.2.22
ThinkPHP 1.5.0
php 5.3.10(enable socket)
二、phpmailer相关文件
phpmailer.class.php
smtp.class.php
三、软件部署方式
复制phpmailer.class.php、smtp.class.php到Web的Common(/usr/local/apache2/htdocs/Common)目录下,
复制phpmailer.class.php到ThinkPHP\Vender(/usr/local/apache2/htdocs/ThinkPHP/Vendor)目录下
1.common.php
<?PHP
require_once(COMMON_PATH.‘phpmailer.class.php‘);
require_once(COMMON_PATH.‘smtp.class.php‘);
function SendMail($address,$title,$message){
vendor(‘PHPMailer.class#PHPMailer‘);
$mail=new PHPMailer();
$mail->IsSMTP();
$body = eregi_replace("[\]",‘‘,$message);
$mail->CharSet=‘GBK‘;
$mail->AddAddress($address);
$mail->Body=$message;
$mail->From=C(‘MAIL_ADDRESS‘);
$mail->FromName=‘yyjk‘;
$mail->Subject=$title;
$mail->Host=C(‘MAIL_SMTP‘);
$mail->SMTPAuth=true;
$mail->Username=C(‘MAIL_LOGINNAME‘);
$mail->Password=C(‘MAIL_PASSWORD‘);
$mail->MsgHTML($body);
return($mail->Send());
}
?>
2.config.php
/usr/local/apache2/htdocs/Conf
编辑Conf目录下的config.php,在return array添加如下内容
‘MAIL_ADDRESS‘=>‘xxx@126.com‘, // 邮箱地址
‘MAIL_SMTP‘=>‘smtp.126.com‘, // 邮箱SMTP服务器
‘MAIL_LOGINNAME‘=>‘xxx‘, // 邮箱登录帐号
‘MAIL_PASSWORD‘=>‘xxx‘, // 邮箱密码
3.在Action中发送邮件
/usr/local/apache2/htdocs/Lib/Action
由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。
SendMail("xxx@xxx.com","邮件标题","邮件正文");
至此,发送邮件的功能已经实现。撒花!欢迎成功配置的同学SendMail("yuanmouren1hao@sina.cn","我看了教程会发邮件了~~","谢啦,谢啦~~");
QQ邮箱(含foxmail)和网易的126、163都测试成功。
本文出自 “yiyi” 博客,请务必保留此出处http://heyiyi.blog.51cto.com/205455/1672501
ThinkPHP_phpmailer使用外部认证SMTP发送邮件
原文地址:http://heyiyi.blog.51cto.com/205455/1672501