Advertisement
Guest User

Untitled

a guest
Sep 8th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.91 KB | None | 0 0
  1. function wisoMail($mail_empfaenger, $subject, $message, $type = 'html')
  2. {
  3. global $mail_admin_conf, $seitenname, $mail_versand_art, $smtp_nick, $smtp_pass, $smtp_server, $smtp_port, $smtp_pop_server;
  4. if (empty($mail_empfaenger) || empty($subject) || empty($message))
  5. {
  6. return false;
  7. }
  8. if (empty($mail_admin_conf) || empty($seitenname))
  9. {
  10. die ('In den Einstellungen fehlt der Seitenname und/oder die Mail-Adresse vom Admin');
  11. }
  12. $wrap = 60;
  13. $type = (($type == 'html') ? 'html' : 'text');
  14. $mail_admin = trim($mail_admin_conf);
  15. $charset = (defined('__CHARSET') ? __CHARSET : 'utf-8');
  16. $seitenname = (empty($seitenname) ? __PWC_NAME__ . ' ' . __PWC_VERSION__ : strip_tags($seitenname));
  17.  
  18. $message = preg_replace('/(?<!\r)\n/si', "\r\n", $message);
  19. $empfaenger = ereg_replace('[[:cntrl:]|" "]', ' ', $mail_empfaenger);
  20. $eol = PHP_EOL;
  21. if ($mail_versand_art == 'mail')
  22. {
  23. if ($type == 'text')
  24. {
  25. $subject = strip_tags(pwcStripSlashes($subject));
  26. $message = strip_tags(pwcStripSlashes($message));
  27. $header = "From: " . $seitenname . " <" . $mail_admin . ">" . $eol;
  28. $header .= "Reply-To: " . $seitenname . " <" . $mail_admin . ">" . $eol;
  29. $header .= "X-Mailer: PHP v" . phpversion() . $eol;
  30. $header .= 'Content-type: text/plain; charset=' . $charset . $eol;
  31. }
  32. else
  33. {
  34. $header = "From: " . $seitenname . " (" . $mail_admin . ")" . $eol;
  35. $header .= "Reply-To: " . $seitenname . " <" . $mail_admin . ">" . $eol;
  36. $header .= "X-Mailer: PHP v" . phpversion() . $eol;
  37. $header .= "MIME-Version: 1.0" . $eol;
  38. $header .= 'Content-type: text/html; charset=' . $charset . $eol;
  39. }
  40. return @mail($empfaenger, $subject, $message, $header);
  41. }
  42. else
  43. {
  44. $seitenname = trim(ereg_replace('[:!\"$%&=]', '', $seitenname));
  45. global $email_message;
  46. if (!is_object($email_message))
  47. {
  48. require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.message.mail.php');
  49. require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.message.smtp.php');
  50. require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.smtp.php');
  51. require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.sasl.php');
  52. $email_message = new smtp_message_class();
  53. }
  54. $email_message->ResetMessage();
  55. /**
  56. * die netzwerk-adresse fuer den aktuellen server / rechner
  57. */
  58. $email_message->localhost = 'localhost';
  59. /**
  60. * der smtp-host
  61. */
  62. $email_message->smtp_host = $smtp_server;
  63. /**
  64. * Deliver directly to the recipients destination SMTP server
  65. */
  66. $email_message->smtp_direct_delivery = 0;
  67. /**
  68. * In directly deliver mode, the DNS may return the IP of a sub-domain of
  69. * the default domain for domains that do not exist. If that is your
  70. * case, set this variable with that sub-domain address.
  71. */
  72. $email_message->smtp_exclude_address = '';
  73. $email_message->smtp_user = $smtp_nick;
  74. /**
  75. * authentication realm or Windows domain when using NTLM authentication
  76. */
  77. $email_message->smtp_realm = '';
  78. /**
  79. * authentication workstation name when using NTLM authentication
  80. */
  81. $email_message->smtp_workstation = '';
  82. $email_message->smtp_password = $smtp_pass;
  83. $email_message->smtp_pop3_auth_host = $smtp_pop_server;
  84. $email_message->smtp_ssl = 0; //Hier muss noch eine Einstellmglichkeit in das Admin-Men bei den Maileinstellungen $GLOBALS['USE_MAIL_SSL']
  85. $email_message->default_charset = $charset;
  86. /**
  87. * feststellen, ob debug aktiviert ist
  88. */
  89. $debug = 0;
  90. if (!empty($debug))
  91. {
  92. $email_message->smtp_debug = 1;
  93. $email_message->smtp_html_debug = 1;
  94. }
  95. else
  96. {
  97. $email_message->smtp_debug = 0;
  98. $email_message->smtp_html_debug = 0;
  99. }
  100.  
  101. $email_message->SetEncodedEmailHeader('To', $empfaenger, $empfaenger);
  102. $email_message->SetEncodedEmailHeader('From', $mail_admin, $seitenname);
  103. $email_message->SetEncodedEmailHeader('Reply-To', $mail_admin, $seitenname);
  104. $email_message->SetHeader('Return-Path', $mail_admin);
  105. $email_message->SetEncodedEmailHeader('Errors-To', $mail_admin, $seitenname);
  106. $email_message->SetEncodedHeader('Subject', $subject);
  107. if ($type == 'text')
  108. {
  109. $email_message->AddQuotedPrintableTextPart($email_message->WrapText($message, $wrap, ''));
  110. }
  111. else
  112. {
  113. $email_message->CreateQuotedPrintableHTMLPart($message, '', $html_part);
  114. $text_message = 'This is an HTML message. Please use an HTML capable mail program to read this message.';
  115. $email_message->CreateQuotedPrintableTextPart($email_message->WrapText($text_message, $wrap, ''), '', $text_part);
  116. $alternative_parts = array($text_part, $html_part);
  117. $email_message->AddAlternativeMultipart($alternative_parts);
  118. }
  119. $error = $email_message->Send();
  120. for ($recipient = 0, Reset($email_message->invalid_recipients); $recipient < count($email_message->invalid_recipients); Next($email_message->invalid_recipients), $recipient++)
  121. if (strcmp($error, ''))
  122. {
  123. return false;
  124. }
  125. unset ($alternative_parts);
  126. }
  127. return true;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement