发新帖

基于onethink和thinkphp v3.2.3 发送邮件类

[复制链接]
2099 0

52d917b7eb41c.jpg
上面的是需要在配置管理中新增加的配置项
52d9182345304.jpg
上面的是邮件配置项
52d91844ef801.jpg
上面的是用户注册成功邮件模板,更多可自己添加,比如密码找回之类的
52d91a7013714.jpg
此图是成功邮件
52d91ad25cd05.jpg


下面的是代码,直接加在application/common/common/function.php中
使用的是PHPMailer,此类库包自己在网上下,放入THINKPHP/libary/ORG中就可以了,使用方法 在任何想发送邮件的地方,比如注册控制器中,send_mail(邮件地址,主题,邮件内容); 这样就行了,超简单
比如
  1. send_mail($email,$subject,$body);
复制代码
  1.     /**
  2. * 系统邮件发送函数
  3. * @param string $to    接收邮件者邮箱
  4. * @param string $name  接收邮件者名称
  5. * @param string $subject 邮件主题
  6. * @param string $body    邮件内容
  7. * @param string $attachment 附件列表
  8. * @茉莉清茶 57143976@qq.com
  9. */
  10. function send_mail($to = '', $subject = '', $body = '', $name = '', $attachment = null){
  11.     $from_email = C('MAIL_SMTP_USER');
  12.     $from_name = C('WEB_SITE');   
  13.     $reply_email = '';   
  14.     $reply_name = '';   
  15.     //new phpmailer();
  16.     //$mail = new ORG\PHPMailer\phpmailer();
  17.     import('ORG.PHPMailer.phpmailer');//从PHPMailer目录导入phpmailer.class.php类文件
  18.     $mail             = new PHPMailer; //实例化PHPMailer
  19.     $mail->CharSet    = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
  20.     $mail->IsSMTP();  // 设定使用SMTP服务
  21.     $mail->SMTPDebug  = 0;                     // 关闭SMTP调试功能
  22.                                                // 1 = errors and messages
  23.                                                // 2 = messages only
  24.     $mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能
  25.     $mail->SMTPSecure = '';                 // 使用安全协议
  26.     $mail->Host       = C('MAIL_SMTP_HOST');  // SMTP 服务器
  27.     $mail->Port       = C('MAIL_SMTP_PORT');  // SMTP服务器的端口号
  28.     $mail->Username   = C('MAIL_SMTP_USER');  // SMTP服务器用户名
  29.     $mail->Password   = C('MAIL_SMTP_PASS');  // SMTP服务器密码
  30.     $mail->SetFrom($from_email, $from_name);
  31.     $replyEmail       = $reply_email?$reply_email:$from_email;
  32.     $replyName        = $reply_name?$reply_name:$from_name;
  33.     if($to == ''){
  34.     $to = C('MAIL_SMTP_CE');//邮件地址为空时,默认使用后台默认邮件测试地址
  35.     }
  36.     if($name == ''){
  37.     $name = C('WEB_SITE');//发送者名称为空时,默认使用网站名称
  38.     }
  39.     if($subject == ''){
  40.     $subject = C('WEB_SITE_TITLE');//邮件主题为空时,默认使用网站标题
  41.     }
  42.     if($body == ''){
  43.     $body = C('WEB_SITE_DESCRIPTION');//邮件内容为空时,默认使用网站描述
  44.     }
  45.     $mail->AddReplyTo($replyEmail, $replyName);
  46.     $mail->Subject    = $subject;
  47.     $mail->MsgHTML($body);//解析
  48.     $mail->AddAddress($to, $name);
  49.     if(is_array($attachment)){ // 添加附件
  50.         foreach ($attachment as $file){
  51.             is_file($file) && $mail->AddAttachment($file);
  52.         }
  53.     }
  54.     return $mail->Send() ? true : $mail->ErrorInfo;//返回错误信息
  55. }
复制代码
无限星辰工作室 云主机 厦门生活网 星辰站长
服务Discuz!建站|搬家|运维|Win Linux网站环境(lanmp)架设优化|服务器安全维护|解决CPU100
服务理念:专业 诚信 友好QQ842062626 服务项目

举报 使用道具

回复

精彩评论1

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

更多

客服中心

400-800-8888 周一至周日8:30-20:30 仅收市话费
快速回复 返回顶部 返回列表