Simple Machines Forum und SMTP TLS

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von intelinsider, 18.06.2009.

  1. #1 intelinsider, 18.06.2009
    Zuletzt bearbeitet: 18.06.2009
    intelinsider

    intelinsider coffee addicted

    Dabei seit:
    30.04.2005
    Beiträge:
    333
    Zustimmungen:
    0
    Ort:
    Tor zur Welt [Hamburg/Barmbek]
    Moin Moin Kameraden,

    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 ich denke 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 schrauben 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]
    Nach der Aenderung erhielt ich einen etwas anderen Output:
    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]
    Block im Original
    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;
    	}
    Block nach Modifizierung:
    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;
            }
    Mein SMTP agiert mit 'auth plain' sofern die TLS Verbindung steht, jetzt frage ich mich ob man dieses Stueck Code irgendwie anpassen kann sodass ich Problemlos E-Mails vom SMF CMS versenden lassen kann. Mein PHP unterstuetzt OpenSSL sowie hier erwaehnt.

    Wie muss ich vielleicht jetzt genauer diesen Block aendern um vielleicht einen Login zu erreichen?. Oder ist das ueberhaupt gar nicht zu realisieren?.


    mfg


    weiterfuehrende Links:
    http://www.simplemachines.org/community/index.php?topic=167867.0
    http://www.simplemachines.org/community/index.php?topic=147905.0
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Simple Machines Forum und SMTP TLS

Die Seite wird geladen...

Simple Machines Forum und SMTP TLS - Ähnliche Themen

  1. Fehlermeldung bei ganz simplen Code

    Fehlermeldung bei ganz simplen Code: #include <stdio.h> main() { int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper)...
  2. Simple Packet Sender 3.0

    Simple Packet Sender 3.0: Simple Packet Sender (SPS) is a Linux packet crafting tool. It supports IPv4, IPv6 (but not extension headers yet), and tunneling IPv6 over IPv4....
  3. simple if-abfrage

    simple if-abfrage: Hallo, Ich suche ne einfache If-abfrage (KSH). Möchte Dateien in ein Verzeichnis kopieren, welches von einem anderen Job angelegt wird. Wenn das...
  4. simple Freigabe trotz PDC unmöglich?

    simple Freigabe trotz PDC unmöglich?: Ich sehe mal wieder den Wald vor lauter Büme nicht. OS = Centos 5.2 Samba = 3.0.28 (PDC) Kernel = 2.6.18-92.1.18.el5 Frage: Warum muss...
  5. simples BASH-Script

    simples BASH-Script: Juten Avend miteinander... ...ich hätte da gern mal ein Problem ! ?( Im Moment sitze ich hier mit nem völlig leeren Kopf und überlege, wie...