Mailversand geht nicht. An was liegts?

Hallo, der Shop versendet keinerlei Mails. Ich weiß aber nicht, wieso.

 

Unsere Domain liegt bei Anbieter 1), während der Shop bei Anbieter 2) liegt. Umleitung mittels A-Record auf Server 1).

Kann es daran liegen? Mailversand sollte aber doch trotzdem gehen…

/usr/sbin/sendmail

… wurde in einem anderen Thread erwähnt, ist aber bei uns vorhanden

Hallo,

geht gar keine email raus (also auch nicht bei Kunden) oder bekommt der Domain-Inhaber keine Shop-emails ? Falls letzteres bei der Domain im SPF Eintrag prüfen, ob der Hostname des Servers wo Dein Shop liegt, im SPF Eintrag vorhanden ist (andernfalls werden die emails ggfs. als Spam abgewiesen). Alternativ kannst Du in der Shopware .env Datei auch Deinen Shop so konfigurieren, dass dieser als SMTP Host Anbieter 1 zum Senden von emails verwendet und nicht lokal über die phpmail Funktion.

Viele Grüße

@SCOOPEX‍

nein es geht überhaupt keine Mail raus. Keine Bestellbestätigung, keine Newsletter-Double-Opt-In, auch kein Kontaktformular-Eintrag an den Betreiber …

Shopware 6 nutzt doch soweit ich weiß gar kein phpmail sondern sendmail…?

Ich würde empfehlen über den Server zu senden, der für die Deine Domain zuständig ist.

In der Doku findest Du entsprechende Beispiele:

Viele Grüße

habe es gerade mit SMTP versucht. Funktioniert auch nicht. Keine Logs, kein gar nicht … 

 

###> symfony/swiftmailer-bundle ###
# For Gmail as a transport, use: "gmail://username:password@localhost"
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
# Delivery is disabled by default via "null://localhost"
MAILER_URL=null://localhost
###< symfony/swiftmailer-bundle ###

was sagt mir dieser Eintrag in de .env? Hat das was damit zu tun oder kann ich das ignorieren? Für SMTP gibts doch eigentlich die Eingabe im Backend 

MAILER_URL=null://localhost -> Du verschickst über den lokalen Server. Nutze den Server, der für die Domain zuständig ist oder ansonsten müsstest Du mal in Deine email Logfiles schauen (/var/log/maillog) ob da überhaupt was ankommt.

Für den Versand über einen externen Server halt MAILER_URL=null://localhost durch eine entsprechend angepasste Zeile ersetzen:

MAILER_URL=smtp:// mailserveradresse : port?username= Benutzername &password= Passwort

/var/log/maillog existiert hier nicht. Müsste es das?

wir möchten einen externen SMTP nutzen.

wieso muss ich im Backend die SMTP-Daten eintragen und in die env?

Du kannst das auch über das Backend konfigurieren. Für Zugriff auf /var/log/maillog benötigst Du root Rechte auf Deinem Server.

kann doch nicht so kompliziert sein einen blöden Mailversand einzurichten … das is für mich als Programmierer ja schon umständlich… wie soll das ein Laie schaffen?

wieso brauch ich root-Rechte fürs maillog? Ist das nicht im Shopverzeichnis unter /var/log wo auch das Dev-Log und das Prod-Log liegen?

Im PHP-Log steht übrigens auch nix …

ich kann direkt im Hosting-Backend (Hetzner) ins Maillog schauen, kA ob das das selbe ist … das ist jedenfalls leer.

Naja - im PHP Log wirst Du auch nichts finden, wenn die email erfolgreich an den lokalen Mailer übergeben wurde. Da müsstest Du schon die Maillogs prüfen, was mit der email passiert. Wie email konfiguriert wird, ist nicht kompliziert und in der Doku entsprechend ausführlich beschrieben.

Ansonsten an den Hoster wenden, der Dir vielleicht weiterhelfen kann, wenn Du selbst keinen Zugriff auf die entsprechenden Logs hast.

habe gerade mal was ausprobiert, was in einem anderen Thread aufgeführt war

Ein Beispiel kannst du dir auch hier anschauen:

vendor/symfony/swiftmailer-bundle/Command/NewEmailCommand.php

Ist dieser Befehl in der Console:  php bin/console swiftmailer:email:send

Ergebnis

  Connection could not be established with host smtp.my-url.com :stream_socket_client(): unable to connect to ssl://smtp.my-url.com:25 (Connection refused)                                                                                         

 

Connection could not be established with host smtp.my-url.com :stream_socket_client(): unable to connect to ssl://smtp.my-url.com:25 ( Connection refused )

Verbindung zum Server auf Port 25 nicht möglich. Und wenn Du eine SSL verschlüsselte email Verbindung nehmen möchtest, musst Du auch entsprechend je nach Server Setup TCP Port 587 oder 465 verwenden und nicht Port 25 (unverschlüsselt).

Lies nochmal die erste Antwort… du bist nicht auf den SPF-Record eingegangen. Der hat bei mir auch erst Probleme gemacht, wobei ich nur eine IP von mehreren Einträgen vergessen hatte. In meiner .env steht auch noch Nullblablubb drin, geht aber trotzdem sowohl per lokal als auch SMTP.

habe mittlerweile herausgefunden, dass der Versand nur klappt mit diesen Settings:

  • SMTP
  • unverschlüsselt
  • Port 587
  • Auth: Login

alle anderen Kombinationen klappen nicht … 

2 „Gefällt mir“