[LMO 4.1.4] SMTP Funktion für den PHPMailer

In diesem Forum befinden sich Addons für den LMO.
Probleme mit Addons nicht hier posten, sondern im Forum LMO Addons.
Antworten
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

[LMO 4.1.4] SMTP Funktion für den PHPMailer

Beitrag von Henshingly »

Hi, seit der LMO Version 4.1.4 ist die eMail-Klasse PHPMailer im LMO integriert. (momentan in der Version 6.9.2)

Momentan wird mit dieser Klasse im LMO nur die mail() Funktion verwendet. Das sollte auch in den aller meisten Fällen (beim Ligaversand, und im Tippspiel beim Passwortversand, bei der Anmeldung, beim Newsletter, bei der Tippbenachrichtigung und beim persönlichen Anschreiben des Admins an einen Tipper ausreichen und funktionieren.

Leider kann es vorkommen das die mail() Funktion auf eurem Webspace nicht richtig funktioniert, oder eMails an Yahoo oder Googlemail kommen beim Adressaten nicht an.

Bei Yahoo liegt es daran das eMails die mit mail() versendet werden nicht vom Server akzeptiert werden. Das geht nur wenn die eMails über einen SMTP Server laufen. In wenigen Fällen kommt es auch bei Googlemail (gmail.com) zu Ablehnungen des Mailservers.

Zum Glück kann die eMail Klasse PHPMailer aber auch SMTP.

Bei einer Problembesprechung mit 2 anderen Usern auf github.com (tombrain und babbisch) machte wir einige Vorschläge deswegen.

Nun habe ich einen Hack für den LMO 4.1.4 hier zur Verfügung um zukünftig per SMTP eMails mit dem LMO zu versenden.

Es werden ein paar Dateien im installierten LMO überschrieben. Nicht wundern das die Sprachdateien in der ZIP Datei enthalten sind. Ich habe dort einige Anpassungen vorgenommen. (doppelte Einträge, leere Einträge) .

In der Datei lmo-smtptest.php müsst Ihr die Einstellungen zum SMTP Server vornehmen. Ich habe mir zwar Gedanken gemacht die Einstellung in der cfg.txt zu speichern und alles im Adminmenü irgendwo einstellen zu können, aber da eure eMail-Anmeldedaten im Klartext später auf dem Server als Textdatei liegen habe ich diese Überlegung fallen gelassen.

Es reicht schon das die Daten unverschlüsselt in der lmo-smtptest.php stehen aber man sollte nur per FTP diese dort auslesen können. Statt zusätzlich auch noch im Adminmenü.

In der genannten Datei müsst Ihr in 5 Zeilen euren Daten anpassen.

Code: Alles auswählen

    $smtp_Host = 'smtp.YOUR_SERVER.de';               // Stelle den SMTP-Server zum versenden ein (Beispiel: smtp.example.com)
    $smtp_Username = 'Username@DOMAIN.COM';           // SMTP Benutzername
    $smtp_Password = 'YOUR_PASSWORD';                 // SMTP Passwort (secret_password)
    $smtp_Port = '587';                               // SMTP Port
    $smtp_Secure = 'PHPMailer::ENCRYPTION_STARTTLS';  // ENCRYPTION_SMTPS (implizites TLS auf Port 465) oder ENCRYPTION_STARTTLS (explizites TLS auf Port 587)
$smtp_Host, $smtp_Username und $smtp_Password sollten Euch keine Probleme bereiten.

Bei den beiden Punkten $smtp_Port und $smtp_Secure geht es um die Portnummer und das zu verwendete Protokoll bei der Anmeldung an den Mailserver. Wie diese bei euch heißen kann ich vorher nicht wissen.
Was ich aber weiß, durch selber testen, das diese 4 Mailserver mit folgenden Einstellungen laufen.
  • GMX.de

Code: Alles auswählen

    $smtp_Host = 'mail.gmx.net';
    $smtp_Username = 'YOUR@gmx.de';
    $smtp_Password = 'YOUR_PASSWORD';
    $smtp_Port = '587';
    $smtp_Secure = 'PHPMailer::ENCRYPTION_STARTTLS';

  • WEB.de

Code: Alles auswählen

    $smtp_Host = 'smtp.web.de';
    $smtp_Username = 'YOUR@web.de';
    $smtp_Password = 'YOUR_PASSWORD';
    $smtp_Port = '587';
    $smtp_Secure = 'PHPMailer::ENCRYPTION_STARTTLS';

  • 1und1.de

Code: Alles auswählen

    $smtp_Host = 'smtp.1und1.de';
    $smtp_Username = 'YOUR@EMAIL.COM';
    $smtp_Password = 'YOUR_PASSWORD';
    $smtp_Port = '587';
    $smtp_Secure = 'PHPMailer::ENCRYPTION_STARTTLS';

  • Webhoster 1blu.de

Code: Alles auswählen

    $smtp_Host = 'smtp.1blu.de';
    $smtp_Username = 'YOUR@DOMAIN_BY_1BLU.COM';
    $smtp_Password = 'YOUR_PASSWORD';
    $smtp_Port = '465';
    $smtp_Secure = 'PHPMailer::ENCRYPTION_SMTPS';

SMTP Anmeldungen bei yahoo.de und gmail.com sind momentan nicht möglich da diese beiden noch weitere Anpassungen verlangen um sich an seinem Postfach anzumelden. Das senden an diese beiden Mailadressen ist aber uneingeschränkt möglich.
Wenn Du die Anpassungen an Dein SMTP Postfach nicht weißt so stelle hier dazu einfach eine Frage. Ich kann aber auch auf die Webseite von Patrick Canterino verweisen dieser hat dort eine umfangreiche Liste.

Ich weise nochmal darauf hin das dieser Hack nur etwas für LMO Administratoren ist, die Probleme mit dem versenden von Mails aus dem Tippspiel haben.

Nach dem ganzen Geschreibe hier nun aber der Download.
lmo.zip
Gruß
Henshingly
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Henshingly am Fr 8. Nov 2024, 15:09, insgesamt 1-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: [LMO 4.1.4] SMTP Funktion für den PHPMailer

Beitrag von Henshingly »

Achja,
das hatte ich ganz vergessen.
Die Mailadresse die Ihr unter -->Optionen -->Optionen -->Grundeinstellungen eingegeben habt ist mit diesem Hack außer Funktion.
Damit meine ich die Adresse aus dem Bild hier drunter
admin_email.png
Es wird nur noch die Adresse aus den Einstellungen in der lmo-smtptest.php für den eMail Versand benutzt.

Gruß
Henshingly
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Henshingly am Sa 9. Nov 2024, 08:33, insgesamt 1-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Antworten