国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.4KB

  1. <?php
  2. require_once(dirname(__FILE__)."/config.php");
  3. require_once(DEDEINC."/datalistcp.class.php");
  4. CheckPurview('plus_Mail');
  5. if(!isset($dopost)) $dopost = '';
  6. if($dopost=="send"){
  7. //邮件发送函数
  8. function sendmail($email, $mailtitle, $mailbody)
  9. {
  10. global $cfg_sendmail_bysmtp, $cfg_smtp_server, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_user, $cfg_smtp_password, $cfg_adminemail,$cfg_webname;
  11. if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
  12. {
  13. $mailtype = 'HTML';
  14. require_once(DEDEINC.'/mail.class.php');
  15. $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
  16. $smtp->debug = false;
  17. if(!$smtp->smtp_sockopen($cfg_smtp_server)){
  18. ShowMsg('邮件发送失败,请联系管理员','-1');
  19. exit();
  20. }
  21. $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  22. }else{
  23. @mail($email, $mailtitle, $mailbody, $headers);
  24. }
  25. }
  26. $row=$dsql->GetOne("SELECT * FROM `#@__mail_title` WHERE id=$id");
  27. $mailtitle=$row['title'];
  28. $mailbody=$row['content'];
  29. $sql="SELECT m.email FROM `#@__member` AS m LEFT JOIN `#@__mail_order` AS o ON o.mid=m.mid WHERE o.typeid=$typeid";
  30. $db->Execute('me',$sql);
  31. while($row = $db->GetArray()){
  32. $mails[]=$row;
  33. }
  34. $email="";
  35. foreach($mails as $mail){
  36. $email.=$mail['email'].",";
  37. }
  38. $mailto=$email;
  39. sendmail($mailto,$mailtitle,$mailbody);
  40. $sendtime = time();
  41. $inquery = "UPDATE `#@__mail_title` SET count=count+1,sendtime='$sendtime',state='1' WHERE id=$id";
  42. if($dsql->ExecuteNoneQuery($inquery)){
  43. ShowMsg('邮件已成功发送','mail_title_send.php');
  44. exit();
  45. }
  46. }else{
  47. function GetState($state){
  48. if($state=="0") return "<font color='red'>未发送</font>";
  49. else return "已发送";
  50. }
  51. function GetSendTimeMk($mktime){
  52. if($mktime=="0") return "<font color='red'>未发送</font>";
  53. else return MyDate('Y-m-d H:i:s',$mktime);
  54. }
  55. function GetCount($typeid){
  56. global $dsql;
  57. $row=$dsql->GetOne("SELECT COUNT(typeid) as cc FROM `#@__mail_order`");
  58. return $row['cc'];
  59. }
  60. $sql = "SELECT t.*,p.typename FROM `#@__mail_title` AS t LEFT JOIN `#@__mail_type` AS p ON t.typeid=p.id ORDER BY t.id desc";
  61. $dlist = new DataListCP();
  62. $dlist->SetTemplet(DEDEADMIN."/templets/mail_title_send.htm");
  63. $dlist->SetSource($sql);
  64. $dlist->display();
  65. }
  66. ?>