Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function wisoMail($mail_empfaenger, $subject, $message, $type = 'html')
- {
- global $mail_admin_conf, $seitenname, $mail_versand_art, $smtp_nick, $smtp_pass, $smtp_server, $smtp_port, $smtp_pop_server;
- if (empty($mail_empfaenger) || empty($subject) || empty($message))
- {
- return false;
- }
- if (empty($mail_admin_conf) || empty($seitenname))
- {
- die ('In den Einstellungen fehlt der Seitenname und/oder die Mail-Adresse vom Admin');
- }
- $wrap = 60;
- $type = (($type == 'html') ? 'html' : 'text');
- $mail_admin = trim($mail_admin_conf);
- $charset = (defined('__CHARSET') ? __CHARSET : 'utf-8');
- $seitenname = (empty($seitenname) ? __PWC_NAME__ . ' ' . __PWC_VERSION__ : strip_tags($seitenname));
- $message = preg_replace('/(?<!\r)\n/si', "\r\n", $message);
- $empfaenger = ereg_replace('[[:cntrl:]|" "]', ' ', $mail_empfaenger);
- $eol = PHP_EOL;
- if ($mail_versand_art == 'mail')
- {
- if ($type == 'text')
- {
- $subject = strip_tags(pwcStripSlashes($subject));
- $message = strip_tags(pwcStripSlashes($message));
- $header = "From: " . $seitenname . " <" . $mail_admin . ">" . $eol;
- $header .= "Reply-To: " . $seitenname . " <" . $mail_admin . ">" . $eol;
- $header .= "X-Mailer: PHP v" . phpversion() . $eol;
- $header .= 'Content-type: text/plain; charset=' . $charset . $eol;
- }
- else
- {
- $header = "From: " . $seitenname . " (" . $mail_admin . ")" . $eol;
- $header .= "Reply-To: " . $seitenname . " <" . $mail_admin . ">" . $eol;
- $header .= "X-Mailer: PHP v" . phpversion() . $eol;
- $header .= "MIME-Version: 1.0" . $eol;
- $header .= 'Content-type: text/html; charset=' . $charset . $eol;
- }
- return @mail($empfaenger, $subject, $message, $header);
- }
- else
- {
- $seitenname = trim(ereg_replace('[:!\"$%&=]', '', $seitenname));
- global $email_message;
- if (!is_object($email_message))
- {
- require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.message.mail.php');
- require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.message.smtp.php');
- require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.smtp.php');
- require_once (__PWC_DIR_CLASSES_MAIL__ . '/pwc.class.sasl.php');
- $email_message = new smtp_message_class();
- }
- $email_message->ResetMessage();
- /**
- * die netzwerk-adresse fuer den aktuellen server / rechner
- */
- $email_message->localhost = 'localhost';
- /**
- * der smtp-host
- */
- $email_message->smtp_host = $smtp_server;
- /**
- * Deliver directly to the recipients destination SMTP server
- */
- $email_message->smtp_direct_delivery = 0;
- /**
- * In directly deliver mode, the DNS may return the IP of a sub-domain of
- * the default domain for domains that do not exist. If that is your
- * case, set this variable with that sub-domain address.
- */
- $email_message->smtp_exclude_address = '';
- $email_message->smtp_user = $smtp_nick;
- /**
- * authentication realm or Windows domain when using NTLM authentication
- */
- $email_message->smtp_realm = '';
- /**
- * authentication workstation name when using NTLM authentication
- */
- $email_message->smtp_workstation = '';
- $email_message->smtp_password = $smtp_pass;
- $email_message->smtp_pop3_auth_host = $smtp_pop_server;
- $email_message->smtp_ssl = 0; //Hier muss noch eine Einstellmglichkeit in das Admin-Men bei den Maileinstellungen $GLOBALS['USE_MAIL_SSL']
- $email_message->default_charset = $charset;
- /**
- * feststellen, ob debug aktiviert ist
- */
- $debug = 0;
- if (!empty($debug))
- {
- $email_message->smtp_debug = 1;
- $email_message->smtp_html_debug = 1;
- }
- else
- {
- $email_message->smtp_debug = 0;
- $email_message->smtp_html_debug = 0;
- }
- $email_message->SetEncodedEmailHeader('To', $empfaenger, $empfaenger);
- $email_message->SetEncodedEmailHeader('From', $mail_admin, $seitenname);
- $email_message->SetEncodedEmailHeader('Reply-To', $mail_admin, $seitenname);
- $email_message->SetHeader('Return-Path', $mail_admin);
- $email_message->SetEncodedEmailHeader('Errors-To', $mail_admin, $seitenname);
- $email_message->SetEncodedHeader('Subject', $subject);
- if ($type == 'text')
- {
- $email_message->AddQuotedPrintableTextPart($email_message->WrapText($message, $wrap, ''));
- }
- else
- {
- $email_message->CreateQuotedPrintableHTMLPart($message, '', $html_part);
- $text_message = 'This is an HTML message. Please use an HTML capable mail program to read this message.';
- $email_message->CreateQuotedPrintableTextPart($email_message->WrapText($text_message, $wrap, ''), '', $text_part);
- $alternative_parts = array($text_part, $html_part);
- $email_message->AddAlternativeMultipart($alternative_parts);
- }
- $error = $email_message->Send();
- for ($recipient = 0, Reset($email_message->invalid_recipients); $recipient < count($email_message->invalid_recipients); Next($email_message->invalid_recipients), $recipient++)
- if (strcmp($error, ''))
- {
- return false;
- }
- unset ($alternative_parts);
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement