发新帖

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

[复制链接]
2357 0 打印 上一主题 下一主题


上面的是需要在配置管理中新增加的配置项

上面的是邮件配置项

上面的是用户注册成功邮件模板,更多可自己添加,比如密码找回之类的

此图是成功邮件



下面的是代码,直接加在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 仅收市话费
快速回复 返回顶部 返回列表