Mailversand (SMTP) unter Contao 4

Thema: Mailversand (SMTP) unter Contao 4

Stichworte:
  1. Avatar von Nina

    Nina:

    Standard Mailversand (SMTP) unter Contao 4

    Während man in älteren Contao-Versionen Angaben zum Mailversand per SMTP in die Einstellungen geschrieben hat (wodurch sie in der localconfig.php landeten), ist das in Contao 4 nun anders.

    Da ich davon ausgehe, dass andere Admins anfangs auch doof schauen, wenn sie merken, dass diese Einstellmöglichkeit nicht mehr an der gewohnten Stelle im Backend vorhanden ist, hier nun die Info wie es stattdessen geht:

    1. Rufe bei deiner Contao4-Installation die Datei /app/config/parameters.yml mit einem geeigneten UTF8-Editor auf.
    2. Schreibe in eine neue Zeile:
      Code: [Ansicht]
          mailer_transport: smtp
          mailer_host: HOSTNAME
          mailer_user: BENUTZERNAME
          mailer_password: PASSWORT
          mailer_port: 587
          mailer_encryption: tls


    Hostname, Benutzername und Passwort musst du natürlich durch die entsprechend korrekten SMTP-Daten austauschen. Ebenso kann es sein, dass du ggf. einen anderen Port oder Verschlüsselungstypen benötigst.

    Laut dieser Symfony-Info zum Thema E-Mailversand kannst du folgende Parameter eingeben:
    • für ...transport: smtp, mail, sendmail, oder gmail wobei laut Symfony "mail" seit SwiftMailer 5.4.5 deprecated ist und mit V6 komplett entfernt wird
    • für ...encryption: tls oder ssl


    Dachte mir nur, das könnte ganz hilfreich sein, damit ihr nicht auch danach suchen müsst (fühle mich derzeit bei C4 teilweise noch wie eine Frontend-Forscherin ;-)).
     
  2. Avatar von Nina

    Nina:

    Standard

    Dazu noch ein Nachtrag:
    Wenn das Formular versandt wird, schreibt Contao eine entsprechende Meldung ins Logfile vom Contao-Backend. Wenn es natürlich schon vorher kracht und gar nicht erst bis zum Versand kommt, steht dort möglicherweise nichts (war bei mir so, da eine andere Extension zuvor quergeschossen hatte). Dann müsst ihr erstmal unter /var/logs/ am Server nachschauen, was los ist.
     
  3. Avatar von Harleyqquinn

    Harleyqquinn:

    Standard

    Zitat Zitat von Nina Beitrag anzeigen
    Dazu noch ein Nachtrag:
    Wenn das Formular versandt wird, schreibt Contao eine entsprechende Meldung ins Logfile vom Contao-Backend. Wenn es natürlich schon vorher kracht und gar nicht erst bis zum Versand kommt, steht dort möglicherweise nichts (war bei mir so, da eine andere Extension zuvor quergeschossen hatte). Dann müsst ihr erstmal unter /var/logs/ am Server nachschauen, was los ist.
    Noch ein Nachtrag: Falls im System-Log weiterhin steht "E-mail address rejected:...", den Cache unter /var/cache löschen. Danach sollte es klappen.
     
  4. Avatar von stefan.sl

    stefan.sl:

    Standard

    Nachtrag: Bei 1und1 darf kein TLS benutzt werden. Nur Standardport 25.
    So sieht meine app/config/parameters.yml aus:
    Code: [Ansicht]
    # This file has been auto-generated during installation
    parameters:
        database_host: db123123123.db.1and1.com
        database_port: 3306
        database_user: dbo123123123
        database_password: '123123123'
        database_name: db123123123
        secret: 123123123123123123123123123123123123123123123
        mailer_transport: smtp
        mailer_host: smtp.1und1.de
        mailer_user: noreply@domain.de
        mailer_password: 123123123123
        mailer_port: 25
     
  5. Avatar von Stefko

    Stefko:

    Standard

    Zitat Zitat von stefan.sl Beitrag anzeigen
    Nachtrag: Bei 1und1 darf kein TLS benutzt werden. Nur Standardport 25.
    Unter Contao4.4 habe ich es noch nicht getestet, aber unter 3.5.x geht bei 1&1 auch SSL mit Port 465.
    Grüße, Stefko
     
  6. Dublay:

    Standard

    Zitat Zitat von stefan.sl Beitrag anzeigen
    Nachtrag: Bei 1und1 darf kein TLS benutzt werden. Nur Standardport 25.
    Kann ich bestätigen. Danke für den Tipp.
     
  7. Murmelschorsch:

    Standard Abweichende E-Mail-Adresse zum SMTP-Postfach in den Einstellungen

    Ich habe eine grundsätzliche Frage zu dem Thema, nach gefühlt unendlicher Zeit habe ich den Mailer via SMTP bei meinem Hoster ALL-INKL.COM zum Laufen gekriegt.

    Folgende Einstellungen haben für mich funktioniert:
    1. app/config/paramters.yml öffnen
    2. Code: [Ansicht]
      mailer_transport: smtp
      mailer_host: POSTFACH_EIN-AUSGANGSSERVER
      mailer_user: POSTFACH_BENUTZERNAME
      mailer_password: POSTFACH_PASSWORT
      mailer_port: 465 (oder 25 und dann ohne mailer_encryption)
      mailer_encryption: ssl
    3. Contao Manager öffnen
    4. Systemwartung
    5. Prod.-Cache erneuern

    Und jetzt zu meiner eigentlichen Frage, in den Einstellungen (Contao Backend) hatte ich eine andere E-Mail-Adresse, als die des Postfachs angegeben. Das hat nicht funktioniert. Dort musste die Postfach-E-Mail-Adresse rein. Ist das so gewollt oder handelt es sich dabei möglicherweise um einen Fehler (Contao 4.6.6)?
     
  8. Avatar von Spooky

    Spooky:

    Standard

    Das kommt auf den SMTP Server an. Der SMTP Server muss die eingestellte Absenderadresse erlauben.
     
  9. GOVILI:

    Standard Noch ein Beispiel für Mittwald

    mailer_transport: smtp
    mailer_host: mail.agenturserver.de
    mailer_user: test@deinedomain.de
    mailer_password: deinpasswort
    mailer_port: 25
    mailer_encryption: tls

    mailer_host ist der STMP-Postaugangsserver (https://www.mittwald.de/faq/frage/e-...ent-einrichten), heißt bei Mittwald eben "mail.agenturserver.de". Achtung nach dem Speicernd er paramters.yml nicht vergessen den Prod.Cache (Contao-Manager / Konsole) zu erneuern.
     
  10. Avatar von xchs

    xchs:

    Standard

    Sollte man heutzutage nicht besser Port 587 verwenden?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]
     
  11. juju:

    Standard

    Hallo,

    bei mir will das unter Contao 4.4.38 mit den smtp-Angaben nicht klappen. Das Kontaktformular wird zwar verschickt, aber nicht per smtp sondern über die im Website-root angegebene E-Mail-Adresse. Dementsprechend wird die Mail als Spam bzw. Werbung eingestuft.

    Die Einstellungen in der parameters.yml werden trotz anschließendem löschen des Prod-Caches ignoriert (im E-Mail-Header steht die domain als Absender). In der gleichen 3.5er Installation funktionieren genau diese Angaben.

    Ich habe folgendes in die app/config/parameters.yml eingetragen:
    Code: [Ansicht]
    mailer_transport: smtp
    mailer_host: mein_smtp_server
    mailer_user: ich@meinedomain.de
    mailer_password: meinpasswort
    mailer_port: 465
    mailer_encryption: ssl
    In den Contao Logs sehen die Einträge wie folgt aus:
    Code: [Ansicht]
    [13.04.2019 09:00] Form "Kontakt" has been submitted by 123.123.123.0.
    [13.04.2019 09:00] An e-mail has been sent to name@domain.de
    Auch keine Einträge diesbezüglich in var/logs/

    Wenn das mit dem angegebenen smtp-Server nicht klappen sollte, dann müsste doch hier ein Hinweis zu finden sein, oder? Nur um sicher zu gehen, dass nicht irgendwelche Einstellungen beim Kunden das verhindern.

    Ich lese und versuche schon seit 2 Tagen alles, aber ohne Erfolg.

    Was könnte noch helfen?

    Danke und Grüße
    juju

    PS: Hoster ist df
     
  12. Avatar von Spooky

    Spooky:

    Standard

    Laut log wurde die Email ohne Fehler gesendet.
     
  13. juju:

    Standard

    Hi Spooky,

    danke für Deine prompte Antwort!!!

    Der Weg war aber korrekt, oder?

    Ich habe auch gerade noch einmal die Header von zwei systemgenerierten Mails aus dem alten und dem neuen System verglichen und die sehen doch sehr ähnlich aus. Insofern muss ich dem doch nochmal beim Kunden auf den Grund gehen.

    Woran würde ich im Header genau erkennen, ob per smtp oder per sendmail versendet wurde? Ich dachte das wäre unter "Received:from ..." an der domain erkennbar, die ist aber im Header der Mail aus dem alten System auch angegeben.

    Danke und Grüße
    juju
     
  14. Avatar von PaddySD

    PaddySD:

    Standard

    Möglicherweise hängt das an den smtp Einstellungen beim Hoster. Ich hatte letzthin einen polnischen Hoster, der hat alles ausser tls auf port 587 kommentarlos abgewiesen. Also auch ssl... Bis ich, als nicht polnisch Sprechender, den Absatz in den FAQ gefunden hatte...

    Wo liegt die Seite denn?
     
  15. juju:

    Standard

    Hallo PaddySD,

    die Site liegt bei domainfactory. Die domain ist allerdings extern, daher ist hier ein gewisses Potential für Kuddelmuddel, das ich leider nicht einsehen kann.

    Kannst Du mir sagen, woran ich im Header der E-Mail erkennen kann, ob die Mail über smtp oder per sendmail versendet wurde?

    Danke und viele Grüße
    juju
    Geändert von juju (13.04.2019 um 14:50 Uhr)
     
  16. sonnenblume:

    Standard mehrere Mail-Adressen in Contao - SMTP-Versand?

    Hallo...
    kann ich in der parameters.yml mehrere E-Mail-Adressen und deren Zugangsdaten eintragen?
    Ich habe eine Mail-Adresse, die für die Bestellungen und deren Bestätigungsmails genutzt wird und die Newsletter-E-Mail Adresse, die für den Versand genutzt wird ist eine andere.

    Danke für eure Antwort.
     
  17. Avatar von Spooky

    Spooky:

    Standard

    Zitat Zitat von sonnenblume Beitrag anzeigen
    Hallo...
    kann ich in der parameters.yml mehrere E-Mail-Adressen und deren Zugangsdaten eintragen?
    Ich habe eine Mail-Adresse, die für die Bestellungen und deren Bestätigungsmails genutzt wird und die Newsletter-E-Mail Adresse, die für den Versand genutzt wird ist eine andere.

    Danke für eure Antwort.
    Leider nicht. Siehe auch https://github.com/contao/core-bundle/issues/1613