[3.1] [3.1.12] SMTP-Nutzung ohne stream_socket_client?

Fragen rund um die Installation, Administration und Benutzung von phpBB 3.1.x und höher und die Konvertierung zu phpBB 3.2.x.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version [3.1.x] oder [3.2.x] angeben.
Praggle
Mitglied
Beiträge: 32
Registriert: 30.05.2006 10:14

[3.1] [3.1.12] SMTP-Nutzung ohne stream_socket_client?

Beitragvon Praggle » 15.02.2018 12:45

Liebe Community,

ich stecke im Moment fest. Nach einem Update von 3.1.10 auf 3.1.12 bekomme ich keinen zuverlässigen eMail-Versand mehr mit dem Board hin. Das Board läuft auf einem Freehoster-Account und kann dort in absehbarer Zeit leider auch nicht weg. Die php-mail()-Funktion funktioniert dort zwar prinzipiell, erzeugt auch keine Fehler im phpBB-Log, aber die Mehrheit aller Board-eMails kommt trotzdem nicht beim Empfänger an, vermutlich aufgrund von Spam-Merkmalen. Diese Möglichkeit scheidet deshalb schon seit längerer Zeit für mich aus und ich bin somit auf die SMTP-Funktion angewiesen.

Seit dem Update funktioniert nun aber auch diese SMTP-Möglichkeit nicht mehr. Der Grund ist, dass der Provider fsockopen() und stream_socket_client() aus Sicherheitsgründen deaktiviert hat und auch nicht aktivieren möchte. In 3.1.10 ging das offenbar auch ohne. Ich erhalte beim SMTP-Versand immer folgende Fehlermeldung:

stream_socket_client() has been disabled for security reasons at [ROOT]/includes/functions_messenger.php line 1090


Ich habe testweise auch mal die alte Version der functions_messenger.php benutzt, Das funktioniert aber auch nicht, weil es Probleme bei der Athentifizierung mit STARTTLS gibt: "Probleme beim Mailversand in Zeile 1515. Antwort: 535 Authentication credentials invalid".

Hier der genaue Protokolleintrag:

E-Mail-Fehler
» EMAIL/SMTP
/phpBB/adm/index.php

Probleme beim Mailversand in Zeile 1515. Antwort: 535 Authentication credentials invalid
.
Backtrace

Connecting to smtp.provider.de:25
LINE: 1056 <- 220 smtpserver.de (servername) Nemesis ESMTP Service ready

# EHLO domain.de
LINE: 1405 <- 250-smtpserver.de Hello domain.de [IP]

LINE: 1405 <- 250-AUTH LOGIN PLAIN

LINE: 1405 <- 250-SIZE 69920427

LINE: 1405 <- 250 STARTTLS

# STARTTLS
LINE: 1450 <- 220 OK

# EHLO domain.de
LINE: 1405 <- 250-smtpserver.de Hello domain.de [IP]

LINE: 1405 <- 250-AUTH LOGIN PLAIN

LINE: 1405 <- 250 SIZE 69920427

# AUTH PLAIN
LINE: 1508 <- 334

# Omitting sensitive information
LINE: 1515 <- 535 Authentication credentials invalid


Ein Update auf 3.2.x kommt übrigens auch nicht infrage, weil mehrere wichtige Extensions dann nicht mehr lauffähig wären. Eine Rückkehr zu 3.1.10 wäre auch keine gute Lösung. Aus diesem Grund würde ich gerne die SMTP-Anbindung wieder irgendwie möglich machen. Kennt sich da jemand von euch etwas besser mit aus als ich?

Praggle

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1507
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [3.1] [3.1.12] SMTP-Nutzung ohne stream_socket_client?

Beitragvon canonknipser » 15.02.2018 14:40

fsockopen muss bei deinem Provider aktiv sein, sonst hätte schon unter 3.1.10 der SMTP-Versand nicht geklappt.
Mit 3.1.11 wurde auf die stream-Funktionen umgestellt, weil diese deutlich mehr Konfigurationsmöglichkeiten bieten (z.B. zur Zertifikatsüberprüfung).

Du kannst nicht ohne weiteres eine alte Funktionsbibliothek in der neuen phpBB-Version verwenden, aber in diesem speziellen Fall könnte es eventuell funtionieren. Was du aber aufgrund eines Bugs (der wohl erst mit 3.2.2 behoben wurde) auf keinen Fall machen darfst, ist im ACP den "Test EMail"-Knopf zu verwenden, weil dann das SMTP-Kennwort falsch in der DB gepeichert wird. Also: Kennwort noch einmal eingeben, Speichern, in die Massen-Mail-Funktion im ACP gehen und von dort eine "Massen-Mail" zum Test an deinen User versenden

Grundsätzliche Frage: Woran liegt es denn, dass deine Mails bei Nutzung der mail-Funktion nicht ankommen?
Spam, weil die Domain in deiner Mail-Addy und dein Domain-Name bzw. der Mail-Domain-Name nicht zusammen passen?
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC

Praggle
Mitglied
Beiträge: 32
Registriert: 30.05.2006 10:14

Re: [3.1] [3.1.12] SMTP-Nutzung ohne stream_socket_client?

Beitragvon Praggle » 15.02.2018 16:27

Ja stimmt. Das mit fsockopen ist Quatsch gewesen. pfsockopen ist disabled.

Den Test-EMail-Butten gibt es in 3.1.12 im ACP (noch) nicht. Ist wohl erst ab 3.2.0 drin (https://tracker.phpbb.com/browse/PHPBB3-10165). Ich hab eben zur Sicherheit aber auch noch mal in die Datenbank reingeschaut: Das SMTP-Passwort stimmt.

Wegen des fehlenden Test-Buttons teste ich die eMail-Funktion auch immer mit der Massen-Mail-Funktion. Wenn ich das mit der mail-Funktion mache, kommt bei mir nie eine eMail an. Aber woran das liegt, das weiss ich nicht, wie ich das ergründen könnte. Im Board wird kein Fehler generiert, sondern "Die Nachricht wurde versendet" angezeigt. Wenn ich mit einem externen Script die mail-Funktion teste, kommen die eMails aber immer heil bei mir an. Ich kann deshalb auch nur vermuten, dass es irgendwie mit den unterschiedlichen Namen von Maildomain und Boarddomain zusammenhängt.



NACHTRAG:

Ich habs jetzt hin:

Mir fiel gerade auf, dass in meiner ersten Mail Port 25 in der Fehlermeldung steht. Das war unter 3.1.10 auch noch okay. Für STARTTLS muss es jetzt aber scheinbar gleich Port 587 sein. Ich bin zwar der Ansicht, dass ich das auch schon alles durchprobiert hatte, aber vielleicht war da gerade irgendwas anderes falsch.

Auf diese Weise funktioniert es nun jedenfalls mit der alten functions_messenger.php aus 3.1.10. Das scheint für mich jetzt erst mal eine kurzfristige Lösung zu sein.

Danke fürs Mitdenken!


Zurück zu „Support-Forum“