温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ThinkPHP_phpmailer使用外部认证SMTP发送邮件

发布时间:2020-06-09 12:12:34 来源:网络 阅读:772 作者:pgmia 栏目:web开发

一、软件版本

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都测试成功。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI