Postfix SMTP Mail Versand sehr langsam


Tommy57

Erfahrenes Mitglied
Hallo,

wir haben kürzlich einen neuen Mailer (Postfix) eingerichtet bekommen, welcher die Mails aus unserer Applikation zustellen soll.

Der Versand einer Mail dauert knapp 2 Sekunden. Wenn man was bestellt, versendet die Applikation gleich 2-3 Mail, wodurch die Seite gut 5 Sekunden braucht, um die Bestellung abzuschließen, was uns schon ziemlich lang erscheint.

Ein Cronjob läuft minütlich und arbeitet die getätigten Bestellungen ab und verschickt noch mal Statusmails. Nun kann es in Hochzeiten dazu kommen, dass rund 100 Mails gleich nacheinander verschickt werden und das System hängt sich dann auf.

Aktuell versuche ich das Problem zu lösen, aber kann mir noch nicht so richtig erklären, warum es abstürzt. Der Versand so vieler Mails dauert mehr als eine Minute. Startet dann schon der nächste Cronjob oder wartet er zuerst?

Ist es normal, dass der Versand so lange dauert? Kann man das irgendwie beschleunigen?

Die Server, die wir haben, sind eigentlich alles sehr gute Geräte.
 

ComFreek

Mod | @comfreek
Moderator
Versende die Mails asynchron zum Website-Aufbau. D.h. lass dein serverseitiges Skript die Mail in eine Mail-Queue einfügen und dann zum Benutzer zurückkehren.

Natürlich weißt du dann nicht mehr, ob die Mail wirklich erfolgreich versendet wird. Aber E-Mail-Verkehrt ist ja sowieso best-effort ohne Zustellgarantien.
 

Tommy57

Erfahrenes Mitglied
Danke @ComFreek für deine Antwort. Wollte morgen mich um so ein Script kümmern, dass die E-Mails dann nacheinander abarbeitet.

Gibt es dafür schon fertige Konzepte? Wird vermutlich nur ganz wenig Code sein, aber könnte ja sein, dass es da schon was fertiges gibt.
 

Tommy57

Erfahrenes Mitglied
Ich hab jetzt einiges noch gelesen. Es wird wohl davon abgeraten, einen eigenen MTA (Mail Transfer Agent) zu schreiben, der vermutlich dann die E-Mails lokal entgegen nehmen würde, um diese an den Mail Server durch zu stellen. Habe gelesen, dass Sendmail wohl die richtige Anlaufstelle ist. Blicke da aber nicht ganz durch, da mein Schwerpunkt auf der Software Entwicklung liegt. Nur aktuell (seit dem Server Umzug neulich) hängen sich unsere Systeme bei hoher Anzahl von Bestellungen auf und daher brauche ich zeitnah eine Lösung.

Kennt sich jemand mit Sendmail aus? Wie genau richtige ich (oder der SysAdmin) das ein und kann ich damit auch wie gewohnt verschiedene Absender verwenden, zb. für die Registrierung, die Kontakt-Anfrage und eben die Bestellung und intere Kommunikation?