thinkphp使用phpmailer发送邮件的方法
程序员文章站
2023-11-15 16:18:46
本文实例讲述了thinkphp使用phpmailer发送邮件的方法。分享给大家供大家参考。具体分析如下:
phpmailer发送邮件是php开发者首选的一个邮件发送插件了...
本文实例讲述了thinkphp使用phpmailer发送邮件的方法。分享给大家供大家参考。具体分析如下:
phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,感兴趣的朋友可以参考一下。
phpmailer发送邮件功能很强大,今天真正的体验一下,这里先简单说一下配置,本人是在thinkphp中使用的.
配置步骤:
1.后台配置发送邮件类,位置admin/common/common.php中,代码如下:
复制代码 代码如下:
function sendmail($tomail,$title,$content)
{
/*邮件设置信息*/
$email_set = c('email_set');
vendor('phpmailer.class#phpmailer');
vendor("phpmailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含
$mail = new phpmailer(true); //实例化phpmailer类,true表示出现错误时抛出异常
$mail->issmtp(); // 使用smtp
$mail->charset ="utf-8";//设定邮件编码
$mail->host = $email_set['host']; // smtp server
$mail->smtpdebug = 1; // 启用smtp调试 1 = errors 2 = messages
$mail->smtpauth = true; // 服务器需要验证
$mail->port = $email_set['port']; // 设置端口
// $mail->smtpsecure = "ssl";
/*
$mail->smtpsecure = "ssl";
$mail->host = "smtp.gmail.com";
$mail->port = 465;
*/
$mail->username = $email_set['email_user']; //smtp服务器的用户帐号
$mail->password = $email_set['email_pwd']; //smtp服务器的用户密码
$mail->addreplyto($email_set['email'],$email_set['email_name']); //收件人回复时回复到此邮箱,可以多次执行该方法
if (is_array($tomail)){
foreach ($tomail as $m){
$mail->addaddress($m, 'user');
}
}else{
$mail->addaddress($tomail, 'user');
}
$mail->setfrom($email_set['email'],$email_set['email_name']);
// $mail->addattachment('./img/phpmailer.gif'); // 添加附件,如果有多个附件则重复执行该方法
$mail->subject = $title;
//以下是邮件内容相关
$mail->body = $content;
$mail->ishtml(true);
//$body = file_get_contents('tpl.html'); //获取html网页内容
// $mail->msghtml(eregi_replace("[]",'',$body));
{
/*邮件设置信息*/
$email_set = c('email_set');
vendor('phpmailer.class#phpmailer');
vendor("phpmailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含
$mail = new phpmailer(true); //实例化phpmailer类,true表示出现错误时抛出异常
$mail->issmtp(); // 使用smtp
$mail->charset ="utf-8";//设定邮件编码
$mail->host = $email_set['host']; // smtp server
$mail->smtpdebug = 1; // 启用smtp调试 1 = errors 2 = messages
$mail->smtpauth = true; // 服务器需要验证
$mail->port = $email_set['port']; // 设置端口
// $mail->smtpsecure = "ssl";
/*
$mail->smtpsecure = "ssl";
$mail->host = "smtp.gmail.com";
$mail->port = 465;
*/
$mail->username = $email_set['email_user']; //smtp服务器的用户帐号
$mail->password = $email_set['email_pwd']; //smtp服务器的用户密码
$mail->addreplyto($email_set['email'],$email_set['email_name']); //收件人回复时回复到此邮箱,可以多次执行该方法
if (is_array($tomail)){
foreach ($tomail as $m){
$mail->addaddress($m, 'user');
}
}else{
$mail->addaddress($tomail, 'user');
}
$mail->setfrom($email_set['email'],$email_set['email_name']);
// $mail->addattachment('./img/phpmailer.gif'); // 添加附件,如果有多个附件则重复执行该方法
$mail->subject = $title;
//以下是邮件内容相关
$mail->body = $content;
$mail->ishtml(true);
//$body = file_get_contents('tpl.html'); //获取html网页内容
// $mail->msghtml(eregi_replace("[]",'',$body));
return $mail->send()? true:false;
}
2:配置文件中配置参数,代码如下:
复制代码 代码如下:
/*邮件设置*/
'email_set'=>array(
'host'=> "smtp.163.com",
'port'=>'25',
'email_user'=>'liuying',
'email_pwd'=>'123456',
'email'=>'jb51@163.com',
'email_name'=>'jb51',
)
'email_set'=>array(
'host'=> "smtp.163.com",
'port'=>'25',
'email_user'=>'liuying',
'email_pwd'=>'123456',
'email'=>'jb51@163.com',
'email_name'=>'jb51',
)
3.测试发送代码,代码如下:
复制代码 代码如下:
sendmail('11234@126.com','您好','这里是内容');
希望本文所述对大家的php程序设计有所帮助。