| | | | |
| |||||||
| Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Neuer Benutzer Registriert seit: 24.06.2009
Beiträge: 1
PHP-Kenntnisse: Anfänger ![]() | Moin Moin Kameraden, da ich leider kein erfahrener PHP Programmierer bin wende ich mich an euch in der Hoffnung hier eine Loesung bekommen zu koennen. und zwar sitze ich vor folgendem Problem, seit kurzem arbeitet fuer mich ein SMF (Simple Machines Forum) CMS. Ich denke das werden einige kennen oder auch nicht, wobei das spielt gerade nicht "die Hauptrolle". Auf dem gleichen System laeuft ein Postfix SMTP Server der nur gesicherte Verbindungen entgegen nimmt somit ist die TLS Funktion unausweichlich, es ist fuer mich auch keine Loesung hier an der Verschluesselung zu verzichten das SMF Mails versenden kann. Es geht hier ganz einfach um die Funktion Newsletter an die Mitglieder und vor allem Aktivierungsmails fuer die User Accounts sowie "Passwort vergessen?" E-Mails verschicken zu koennen. Nun war die Suche ueber dieses Feature im SMF Forum am erfolgreichsten und brachte mir etwas aufschluß, zuerst war die rede hier davon in den Einstellungen zum SMTP einfach tls:// oder ssl:// vorzuhaengen, dieses erbrachte aber keinen Erfolg. Hier wird von der Subs-Post.php Daten geredet die ich in dem entsprechenden Pfad liegen habe. Diese beiden Bloecke wie dort beschrieben tauschte ich aus, vorher erfolgte ein Login am STMP so: Code: connect from unknown[xxx.xx.xx.xxx] lost connection after UNKNOWN from unknown[xxx.xx.xx.xxx] disconnect from unknown[xxx.xx.xx.xxx] Code: connect from unknown[xxx.xx.xx.xxx] warning: unknown[xxx.xx.xx.xxx]: SASL PLAIN authentication failed: lost connection after AUTH from unknown[xxx.xx.xx.xxx] disconnect from unknown[xxx.xx.xx.xxx] Code: if ($modSettings['mail_type'] == 1 && $modSettings['smtp_username'] != '' && $modSettings['smtp_password'] != '')
{
// !!! These should send the CURRENT server's name, not the mail server's!
// EHLO could be understood to mean encrypted hello...
if (server_parse('EHLO ' . $modSettings['smtp_host'], $socket, null) == '250')
{
if (!server_parse('AUTH LOGIN', $socket, '334'))
return false;
// Send the username and password, encoded.
if (!server_parse(base64_encode($modSettings['smtp_username']), $socket, '334'))
return false;
// The password is already encoded ;)
if (!server_parse($modSettings['smtp_password'], $socket, '235'))
return false;
}
elseif (!server_parse('HELO ' . $modSettings['smtp_host'], $socket, '250'))
return false;
}
else
{
// Just say "helo".
if (!server_parse('HELO ' . $modSettings['smtp_host'], $socket, '250'))
return false;
}
Code: if ($modSettings['mail_type'] == 1 && $modSettings['smtp_username'] != '' && $modSettings['smtp_password'] != '')
{
// !!! These should send the CURRENT server's name, not the mail server's!
// EHLO could be understood to mean encrypted hello...
if (server_parse('EHLO ' . $modSettings['smtp_host'], $socket, null) == '250')
{
//STARTTLS
server_parse('STARTTLS', $socket, null);
stream_socket_enable_crypto($socket,true,STREAM_CRYPTO_METHOD_TLS_CLIENT);
server_parse('EHLO ' . $modSettings['smtp_host'],$socket,null);
if (!server_parse('AUTH PLAIN', $socket, '334'))
return false;
// Send the username and password, encoded.
if (!server_parse(base64_encode($modSettings['smtp_username']), $socket, '334'))
return false;
// The password is already encoded ;)
if (!server_parse($modSettings['smtp_password'], $socket, '235'))
return false;
}
elseif (!server_parse('HELO ' . $modSettings['smtp_host'], $socket, '250'))
return false;
}
Wie muss ich vielleicht jetzt genauer diesen Block aendern um vielleicht einen Login mit letztendlichem absenden der E-Mail zu erreichen?. Die komplette "Subs-Post" Datei im Original findet ihr hier. Meine Php Version auf dem Server ist 5.1.6, der optimalste Logeintrag von Postfix das die Mail zumindest im Server gelandet ist waere: Code: connect from unknown[XX.XXX.XX.XXX] client=unknown[XX.XXX.XX.XXX], sasl_method=PLAIN, sasl_username=klausdieter message-id=<1234@meine.tld> from=<klausdieter@meine.tld>, size=576, nrcpt=1 (queue active) disconnect from unknown[XX.XXX.XX.XXX] mfg weiterfuehrende Links: SSL . TLS for SMTP mail SSL Support for SMTP Geändert von phw (24.06.2009 um 20:23 Uhr). |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ja ist bei dem "optimalsten" Logeintrag die mail angekommen oder nicht ? ansonsten würde ich sagen, bevor du das händisch versucht, teste doch einfach mal ob du mit einer fertigen klasse wie phpmailer oder Zend_Mail eine mail via deinem smtp-server verschicken kannst ? Dann weist du ob es noch ne sache der konfiguration des mailservers ist oder an was andere liegt. Ansonsten bietet sich in so einem Fall auch an den mailserver so zu konfigurieren dass er vom localhost den ganzen kram nicht braucht oder man den kram aus php löst, sowas wie msmtp oder esmtp nutzt, die php.ini umkonfiguriert dort als sendmail sein msmtp/esmtp angebit und dort die passenden daten eingibt, dann muss man nicht jedes script umschreiben oder immer smtp nutzen, sondern kann sogar ganz normal mail() nutzen und esmtp/msmtp hat halt ne config mit login-daten.
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHPMailer Problem | ochsi | PHP Tipps 2008 | 7 | 08.07.2008 10:34 |
| Suche Forum mit folgenden funktionen | homezonebenny | PHP-Fortgeschrittene | 6 | 03.04.2008 16:45 |
| Forum: Forenstruktur anzeigen &amp; als gelesen markieren | PHP-Fortgeschrittene | 4 | 05.06.2005 22:29 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php smtp tls, php simple forum, smtp starttls, php starttls, php smtp starttls, starttls, lost connection after unknown from, php mail tls, starttls php, zend mail starttls, zend_mail starttls, \lost connection after unknown\, php mail starttls, tls php mail, \lost connection after unknown from\, lost connection after starttls, lost connection after unknown, php mail versenden smtp tls, php mail smtp tls, postfix \lost connection after unknown from\ |