Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
myBB versendet keine emails, suche kompetente hilfe
#1
Moin Moin,

ich habe folgende Problematik:

Ich habe einen vServer mit Ubuntu 8.04 LTS (Hardy) - 32 Bit minimal. auf diesem laufen unter anderem einige Projekte die mit dem CMS ilch (www.ilch.de) realisiert sind, diese projekte versenden auch emails über smtp. aber ich habe alle bisher erdenklichen beiträge im bezug auf email versand hier aus dem forum und auch via google etc. versucht.

Infos zur Umgebung:
vServer m. Ubuntu 8.04 lts 32 bit minimal
Div. Projekte mit ilch V. 11N umgesetzt die auch emails senden via smtp
smtp über gmx.de mit dem gleichen konto
myBB Version 1.4.11 (1411)
Theme: geändert (nicht manuell sondern importiert)
Plugins:
Fit on Page
MYPS
PHP and Themplate Conditionals
Simple Calender on Portal
Post on Registration
ragtek_eventcalendar
Specific forum banning

INFO: Der email Versand ist auch nicht in der reinen Grundinstallation möglich (getestet)

Hier meine myBB - php.php (alle Komentare entfernt)
PHP-Code:
<?php if(!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); } class PhpMail extends MailHandler { var $additional_parameters = ''; function send() { global $lang, $mybb; $this->sendmail = @ini_get('sendmail_path'); if($this->sendmail) { $this->headers = str_replace("\r\n", "\n", $this->headers); $this->message = str_replace("\r\n", "\n", $this->message); $this->delimiter = "\n"; } $this->sendmail_from = @ini_get('sendmail_from'); if($this->sendmail_from != $mybb->settings['adminemail']) { @ini_set("sendmail_from", $mybb->settings['adminemail']); } if(ini_get('safe_mode') == 1 || strtolower(ini_get('safe_mode')) == 'on') { $sent = @mail($this->to, $this->subject, $this->message, trim($this->headers)); } else { $sent = @mail($this->to, $this->subject, $this->message, trim($this->headers), $this->additional_parameters); } $function_used = 'mail()'; if(!$sent) { $this->fatal_error("MyBB was unable to send the email using the PHP {$function_used} function."); return false; } return true; } } ?>

Hier die myBB - smtp.php (alle komentare entfernt)
PHP-Code:
<?php if(!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); } if(!defined('MYBB_SSL')) { define('MYBB_SSL', 1); } if(!defined('MYBB_TLS')) { define('MYBB_TLS', 2); } class SmtpMail extends MailHandler { var $connection; var $username = ''; var $password = ''; var $helo = 'localhost'; var $authenticated = false; var $timeout = 5; var $status = 0; var $port = 25; var $secure_port = 465; var $host = ''; var $data = ''; var $code = 0; var $last_error = ''; var $keep_alive = false; function SmtpMail() { global $mybb; $this->__construct(); } function __construct() { global $mybb; $protocol = ''; switch($mybb->settings['secure_smtp']) { case MYBB_SSL: $protocol = 'ssl://'; break; case MYBB_TLS: $protocol = 'tls://'; break; } if(empty($mybb->settings['smtp_host'])) { $this->host = @ini_get('SMTP'); } else { $this->host = $mybb->settings['smtp_host']; } $this->helo = $this->host; $this->host = $protocol . $this->host; if(empty($mybb->settings['smtp_port']) && !empty($protocol) && !@ini_get('smtp_port')) { $this->port = $this->secure_port; } else if(empty($mybb->settings['smtp_port']) && @ini_get('smtp_port')) { $this->port = @ini_get('smtp_port'); } else if(!empty($mybb->settings['smtp_port'])) { $this->port = $mybb->settings['smtp_port']; } $this->password = $mybb->settings['smtp_pass']; $this->username = $mybb->settings['smtp_user']; } function send() { global $lang, $mybb; if(!$this->connected()) { $this->connect(); } if($this->connected()) { if(!$this->send_data('MAIL FROM:<'.$this->from.'>', '250')) { $this->fatal_error("The mail server does not understand the MAIL FROM command. Reason: ".$this->get_error()); return false; } $emails = explode(',', $this->to); foreach($emails as $to) { $to = trim($to); if(!$this->send_data('RCPT TO:<'.$to.'>', '250')) { $this->fatal_error("The mail server does not understand the RCPT TO command. Reason: ".$this->get_error()); return false; } } if($this->send_data('DATA', '354')) { $this->send_data('Date: ' . gmdate('r')); $this->send_data('To: ' . $this->to); $this->send_data('Subject: ' . $this->subject); // Only send additional headers if we've got any if(trim($this->headers)) { $this->send_data(trim($this->headers)); } $this->send_data(""); $this->message = str_replace("\n.", "\n..", $this->message); $this->send_data($this->message); } else { $this->fatal_error("The mail server did not understand the DATA command"); return false; } $this->send_data('.', '250'); if(!$this->keep_alive) { $this->close(); } return true; } else { return false; } } function connect() { global $lang, $mybb; $this->connection = @fsockopen($this->host, $this->port, $error_number, $error_string, $this->timeout); if(function_exists('stream_set_timeout') && DIRECTORY_SEPARATOR != '\\') { @stream_set_timeout($this->connection, $this->timeout, 0); } if(is_resource($this->connection)) { $this->status = 1; $this->get_data(); if(!$this->check_status('220')) { $this->fatal_error("The mail server is not ready, it did not respond with a 220 status message."); return false; } if(!empty($this->username) && !empty($this->password)) { $data = $this->send_data('EHLO ' . $this->helo, '250'); if(!$data) { $this->fatal_error("The server did not understand the EHLO command"); return false; } preg_match("#250-AUTH( |=)(.+)$#mi", $data, $matches); if(!$this->auth($matches[2])) { $this->fatal_error("MyBB was unable to authenticate you against the SMTP server"); return false; } } else { if(!$this->send_data('HELO ' . $this->helo, '250')) { $this->fatal_error("The server did not understand the HELO command"); return false; } } return true; } else { $this->fatal_error("Unable to connect to the mail server with the given details.<br /><br />{$error_number}: {$error_string}"); return false; } } function auth($auth_methods) { global $lang, $mybb; $auth_methods = explode(" ", $auth_methods); if(in_array("LOGIN", $auth_methods)) { if(!$this->send_data("AUTH LOGIN", 334)) { if($this->code == 503) { return true; } $this->fatal_error("The SMTP server did not respond correctly to the AUTH LOGIN command"); return false; } if(!$this->send_data(base64_encode($this->username), '334')) { $this->fatal_error("The SMTP server rejected the supplied SMTP username. Reason: ".$this->get_error()); return false; } if(!$this->send_data(base64_encode($this->password), '235')) { $this->fatal_error("The SMTP server rejected the supplied SMTP password. Reason: ".$this->get_error()); return false; } } else if(in_array("PLAIN", $auth_methods)) { if(!$this->send_data("AUTH PLAIN", '334')) { if($this->code == 503) { return true; } $this->fatal_error("The SMTP server did not respond correctly to the AUTH PLAIN command"); return false; } $auth = base64_encode(chr(0).$this->username.chr(0).$this->password); if(!$this->send_data($auth, 235)) { $this->fatal_error("The SMTP server rejected the supplied login username and password. Reason: ".$this->get_error()); return false; } } else { $this->fatal_error("The SMTP server does not support any of the AUTH methods that MyBB supports"); return false; } return true; } function get_data() { $string = ''; while((($line = fgets($this->connection, 515)) !== false)) { $string .= $line; if(substr($line, 3, 1) == ' ') { break; } } $this->data = $string; $this->code = substr(trim($this->data), 0, 3); return $string; } function connected() { if($this->status == 1) { return true; } return false; } function send_data($data, $status_num = false) { if($this->connected()) { if(fwrite($this->connection, $data."\r\n")) { if($status_num != false) { $rec = $this->get_data(); if($this->check_status($status_num)) { return $rec; } else { $this->set_error($rec); return false; } } return true; } else { $this->fatal_error("Unable to send the data to the SMTP server"); return false; } } return false; } function check_status($status_num) { if($this->code == $status_num) { return $this->data; } else { return false; } } function close() { if($this->status == 1) { $this->send_data('QUIT'); fclose($this->connection); $this->status = 0; } } function get_error() { if(!$this->last_error) { $this->last_error = "N/A"; } return $this->last_error; } function set_error($error) { $this->last_error = $error; } } ?>

Hier noch die ilch - smtp.php (dieses CMS kann mails versenden)
PHP-Code:
<?php # Copyright by Manuel # Support www.ilch.de defined ('main') or die ( 'no direct access' ); function server_parse($socket, $response, $line = __LINE__) { $server_response = ''; while (substr($server_response, 3, 1) != ' ') { if (!($server_response = fgets($socket, 256))) { echo 'Couldn\'t get mail server response codes<br />'; } } if (!(substr($server_response, 0, 3) == $response)) { echo "Ran into problems sending Mail. Response: $server_response<br />"; } } function smtpmail($mail_to, $subject, $message, $headers = '') { global $allgAr; $smtp_host = $allgAr['mail_smtp_host']; $smtp_username = $allgAr['mail_smtp_login']; require_once('include/includes/class/AzDGCrypt.class.inc.php'); $cr64 = new AzDGCrypt(DBDATE.DBUSER.DBPREF); $smtp_password = $cr64->decrypt($allgAr['mail_smtp_password']); $absender = $allgAr['mail_smtp_email']; $message = preg_replace("#(?<!\r)\n#si", "\r\n", $message); if ($headers != '') { if (is_array($headers)) { if (sizeof($headers) > 1) { $headers = join("\n", $headers); } else { $headers = $headers[0]; } } $headers = chop($headers); $headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers); $header_array = explode("\r\n", $headers); @reset($header_array); $headers = ''; while(list(, $header) = each($header_array)) { if (preg_match('#^cc:#si', $header)) { $cc = preg_replace('#^cc:(.*)#si', '\1', $header); } else if (preg_match('#^bcc:#si', $header)) { $bcc = preg_replace('#^bcc:(.*)#si', '\1', $header); $header = ''; } $headers .= ($header != '') ? $header . "\r\n" : ''; } $headers = chop($headers); $cc = explode(', ', $cc); $bcc = explode(', ', $bcc); } if (trim($subject) == '') { echo 'No email Subject specified<br />'; } if (trim($message) == '') { echo 'Email message was blank<br />'; } if( !$socket = @fsockopen($smtp_host, 25, $errno, $errstr, 20) ) { echo "Could not connect to smtp host : $errno : $errstr<br />"; } server_parse($socket, "220", __LINE__); if( !empty($smtp_username) && !empty($smtp_password) ) { fputs($socket, "HELO " . $smtp_host . "\r\n"); server_parse($socket, "250", __LINE__); fputs($socket, "AUTH LOGIN\r\n"); server_parse($socket, "334", __LINE__); fputs($socket, base64_encode($smtp_username) . "\r\n"); server_parse($socket, "334", __LINE__); fputs($socket, base64_encode($smtp_password) . "\r\n"); server_parse($socket, "235", __LINE__); } else { fputs($socket, "HELO " . $smtp_host . "\r\n"); server_parse($socket, "250", __LINE__); } fputs($socket, "MAIL FROM: <" . $absender . ">\r\n"); server_parse($socket, "250", __LINE__); $to_header = ''; $mail_to = (trim($mail_to) == '') ? 'Undisclosed-recipients:;' : trim($mail_to); if (preg_match('#[^ ]+\@[^ ]+#', $mail_to)) { fputs($socket, "RCPT TO: <$mail_to>\r\n"); server_parse($socket, "250", __LINE__); } @reset($bcc); if (isset($bcc)) { while(list(, $bcc_address) = each($bcc)) { $bcc_address = trim($bcc_address); if (preg_match('#[^ ]+\@[^ ]+#', $bcc_address)) { fputs($socket, "RCPT TO: <$bcc_address>\r\n"); server_parse($socket, "250", __LINE__); } } } @reset($cc); if (isset($cc)) { while(list(, $cc_address) = each($cc)) { $cc_address = trim($cc_address); if (preg_match('#[^ ]+\@[^ ]+#', $cc_address)) { fputs($socket, "RCPT TO: <$cc_address>\r\n"); server_parse($socket, "250", __LINE__); } } } fputs($socket, "DATA\r\n"); server_parse($socket, "354", __LINE__); fputs($socket, "Subject: $subject\r\n"); fputs($socket, "To: $mail_to\r\n"); fputs($socket, "$headers\r\n\r\n"); fputs($socket, "$message\r\n"); fputs($socket, ".\r\n"); server_parse($socket, "250", __LINE__); fputs($socket, "QUIT\r\n"); fclose($socket); return true; } ?>

Ich Sende meine php.php und die smtp.php aus dem mailhandlers Verzeichnis als Anhang mit.


.php   php.php (Größe: 1,85 KB / Downloads: 0)

.php   smtp.php (Größe: 9,62 KB / Downloads: 0)

Link zu dem Forum: http://deine.bos-freunde.de (fast vergessen anzugeben ^^)

MfG DieBulldogge
#2
Was steht in den E-Mail-Logs im ACP?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#3
Ich hab einen auszug aus dem Log als Screen angehängt. sind halt verschiedene Angaben die durch verschiedene Test´s entstanden sind

   

mfg Die Bulldogge
#4
Das sagt eindeutig, dass die Daten für SMTP falsch sind, d.h. der SMTP-Benutzer entspricht nicht der E-Mail des Forums.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#5
magst du mir dann bitte einmal sagen was ich genau in welchen feld in welcher form eingetragen werden muss... hab meines wissens nach alle varianten durch getstet (mit-f, ohne) mit einem Acc von yahoo.de, gmx.de und web.de und eine manuelle freischaltung steht leider außer frage für das geplante projekt.
also mit dem besagten ilch cms geht es über die gmx-adresse ohne "probleme" (landet leider als spam beim empfänger).

mfg Die Bulldogge
#6
Da die Meldungen ständig anders sind und du die eingetragenen Daten nicht preisgibst, kann ich dir nicht helfen. Am MyBB scheint es nicht zu liegen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#7
in wie fern daten nicht preis geben ??? erwartest du jetzt das ich dir die daten zu meinem mailprovider inkl. benutzername und kennwort gebe oder wie soll ich das verstehen ? teilweise sind 3 fehlermeldungen von einem einzigen sendeversuch ^^
#8
Das Passwort natürlich nicht, aber wie sollen wir dir sonst helfen?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#9
email provider: gmx.de
smtp host: mail.gmx.net
ports:
SSL over SMTP" (SSMTP) über Port 465
oder StartTLS über Port 25
smtp benutzer: [email protected]
Kennwort: ************
#10
Was hast du im ACP angeben?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question Bestätigungsmails werden einfach nicht versendet! X-Tomixxx 26 8.991 02.05.2010, 12:08
Letzter Beitrag: Michael Malin
  System versendet keine Mails mehr Chuck 12 5.733 30.03.2010, 20:00
Letzter Beitrag: RMB Hans
  MyBB Versendet keine Email an Hotmail. 12dc12 7 4.424 29.03.2010, 13:51
Letzter Beitrag: StefanT
  Forum versendet keine Mails an Hotmail. 12dc12 10 4.601 27.03.2010, 13:58
Letzter Beitrag: 12dc12