国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

84 řádky
2.7KB

  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_password, $cfg_webname;
  11. global $cfg_bizcore_appid,$cfg_bizcore_key,$cfg_bizcore_hostname,$cfg_bizcore_port;
  12. if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) {
  13. $client = new DedeBizClient($cfg_bizcore_hostname, $cfg_bizcore_port);
  14. $client->appid = $cfg_bizcore_appid;
  15. $client->key = $cfg_bizcore_key;
  16. $client->MailSend($email,$mailtitle,$mailtitle,$mailbody);
  17. $client->Close();
  18. } else {
  19. if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
  20. {
  21. $mailtype = 'HTML';
  22. require_once(DEDEINC.'/mail.class.php');
  23. $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
  24. $smtp->debug = false;
  25. if(!$smtp->smtp_sockopen($cfg_smtp_server)){
  26. ShowMsg('邮件发送失败,请联系管理员','-1');
  27. exit();
  28. }
  29. $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  30. }else{
  31. @mail($email, $mailtitle, $mailbody, $headers);
  32. }
  33. }
  34. }
  35. $row=$dsql->GetOne("SELECT * FROM `#@__mail_title` WHERE id=$id");
  36. $mailtitle=$row['title'];
  37. $mailbody=$row['content'];
  38. $sql="SELECT m.email FROM `#@__member` AS m LEFT JOIN `#@__mail_order` AS o ON o.mid=m.mid WHERE o.typeid=$typeid";
  39. $db->Execute('me',$sql);
  40. while($row = $db->GetArray()){
  41. $mails[]=$row;
  42. }
  43. $email="";
  44. foreach($mails as $mail){
  45. $email.=$mail['email'].",";
  46. }
  47. $mailto=$email;
  48. sendmail($mailto,$mailtitle,$mailbody);
  49. $sendtime = time();
  50. $inquery = "UPDATE `#@__mail_title` SET count=count+1,sendtime='$sendtime',state='1' WHERE id=$id";
  51. if($dsql->ExecuteNoneQuery($inquery)){
  52. ShowMsg('邮件已成功发送','mail_title_send.php');
  53. exit();
  54. }
  55. }else{
  56. function GetState($state){
  57. if($state=="0") return "<font color='red'>未发送</font>";
  58. else return "已发送";
  59. }
  60. function GetSendTimeMk($mktime){
  61. if($mktime=="0") return "<font color='red'>未发送</font>";
  62. else return MyDate('Y-m-d H:i:s',$mktime);
  63. }
  64. function GetCount($typeid){
  65. global $dsql;
  66. $row=$dsql->GetOne("SELECT COUNT(typeid) as cc FROM `#@__mail_order`");
  67. return $row['cc'];
  68. }
  69. $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";
  70. $dlist = new DataListCP();
  71. $dlist->SetTemplet(DEDEADMIN."/templets/mail_title_send.htm");
  72. $dlist->SetSource($sql);
  73. $dlist->display();
  74. }