E-Mails des Webservers über 1&1-Mailserver verschicken?

Jollitop

Registered User
Hallo,

ich habe meinen 1&1 Rootserver erst relativ kurz und leider noch nicht genug Erfahrung mit Mailservern und Co. Mein Problem ist folgendes:

Um mir selbst Administrationsaufwand zu sparen, laufen alle E-Mail-Adressen aller meiner Domains über das 1&1-Mailsystem. Auf meinem Rootserver war QMail vorinstalliert, und ich benutze es, um E-Mails, die von Web-Anwendungen oder der Cron-Tabelle erzeugt werden, zu verschicken. Ansonsten läuft mailmäßig nichts auf meinem Rootserver.

Nun ist es aber so, dass AOL z.B. die E-Mails, die von meinem Server kommen, nicht durchlässt. Die Fehlermeldung, die im Header jeder E-Mail in meiner Warteschlange steht, lautet:
Remote host said: 554-: (RLY:CS4) http://postmaster.info.aol.com/errors/554rlycs4.html
554 TRANSACTION FAILED

Obwohl ich mich von AOL auf die Whitelist habe setzen lassen, besteht das Problem nach wie vor.

Nach einigem Stöbern hier im Forum vermute ich, dass die nachgucken, welche IP-Adressen zu den E-Mail-Domains gehören, dabei nicht meinen, sondern den Mailserver von 1&1 finden, und deshalb meine E-Mails als SPAM klassifizieren.

Deshalb denke, dass folgendes Vorgehen mein Problem lösen könnte: Ich richte auf dem 1&1-Mailsystem einen Account ein, mit dessen Daten mein eigener Server sich via SMTP-Auth bei 1&1 authentifizieren kann. Jetzt muss ich "nur" noch meinen Mailserver dazu bringen, nichts mehr selbst zu verschicken, sondern alles über den 1&1-Mailserver.

Daher meine Fragen:
- Ist das Vorgehen grundsätzlich richtig?
- Wenn ja: Was muss ich bei QMail wo und wie einstellen? (Plesk gibt's nicht mehr...)
- Wenn nein: Wie anders kann ich das Problem lösen? (Die E-Mails sollten weiterhin standardmäßig über 1&1 laufen.)
- Oder muss ich einen anderen MTA einsetzen?

Vielen Dank für Eure Hilfe!

Jochen
 
Viele Fragen, fangen wir an:
Jollitop said:
- Ist das Vorgehen grundsätzlich richtig?
Ja.

- Wenn ja: Was muss ich bei QMail wo und wie einstellen?
Bei Postfix könnte ich es Dir direkt sagen.
Bei Qmail kann ich Dich nur auf Google und folgende Seiten verweisen:
- Kapitel 3.2.4. Relaying to a smart host
- PDF: qmail-smtp-auth-howto (Kapitel (SMTP-AUTH-Patch (Server) installieren")

- Wenn nein: Wie anders kann ich das Problem lösen?
Mit Postfix.

- Oder muss ich einen anderen MTA einsetzen?
Wenn Du eh Plesk runter geschmissen hast, solltest Du vieleicht auch einen 'leichteren' Mailserver installieren. Z.B. wie oben angedeutet: Postfix.

huschi.
 
Danke

Vielen Dank für die Antwort - das sieht relativ "einfach" machbar aus. Ich probier's die Tage aus und melde über den Erfolg (hoffentlich)...
 
Es scheint zu funktionieren

So, ich bin den Anleitungen gefolgt und habe es anscheinend hinbekommen (anscheinend, weil ich zum einen keine Mails mehr in der Warteschlange habe, zum anderen aber noch nicht die versprochene Rückmeldung von AOL bekommen habe...).

So läuft's:

Im Prinzip funktioniert es so, wie ich oben angedacht habe, allerdings kann QMail in seiner "Standardauslieferung" kein SMTP-Auth. Daher muss ein Patch eingespielt werden, dass diese Anmeldemethode unterstützt.

Als allererstes richte ich mir bei 1&1 einen E-Mail-Account ein, den ich nur dafür benutze, um meine Server-E-Mails darüber zu verschicken. Die Anmeldedaten brauche ich später, um sie in QMail einzutragen.

Jetzt besorge ich mir folgende Dateien:
  • qmail-1.03.tar.gz
  • qmail-remote_authenticated_smtp.patch
  • qmail-sourcen.tgz

Die Dinger entpacke ich mir in mein Sourcenverzeichnis und führe folgende Kommandos aus:
Code:
# tar xfvz qmail-1.03.tar.gz
# cp qmail-remote_authenticated_smtp.patch qmail-1.03/
# cp qmail/patches/qmail-1.03.errno.patch qmail-1.03/
# cd qmail-1.03/
# patch < qmail-remote_authenticated_smtp.patch
# patch -p1 < qmail-1.03.errno.patch
# make
Das letzte Patch benötige ich, weil ich sonst beim "MAKE" eine Fehlermeldung erhalte - evtl. soll das auch ohne funktionieren.

So, als nächstes muss das laufende QMail gestoppt und die entsprechende Datei ausgetauscht werden:
Code:
# /etc/rc.d/qmail stop
# cp /var/qmail/bin/qmail-remote /var/qmail/bin/qmail-remote.old
# cp qmail-remote /var/qmail/bin

Die Zugangsdaten von dem benutzten 1&1-E-Mail-Postfach müssen jetzt Base64-codiert werden:
Code:
# perl -MMIME::Base64 -e 'print encode_base64("benutzername")'
Ergebnis: YmVudXR6ZXJuYW1l
Code:
# perl -MMIME::Base64 -e 'print encode_base64("passwort")'
Ergebnis: cGFzc3dvcnQ=

Als nächstes müssen die SMTP-Routes in QMail konfiguriert und QMail neu gestartet werden:
Code:
# cd /var/qmail/control/
# vi smtproutes
Einfügen:
Code:
:smtp.1und1.de YmVudXR6ZXJuYW1 cGFzc3dvcnQ=
Code:
# /etc/rc.d/qmail start

...selbstverständlich müssen "benutzername" und "passwort" sowie die jeweiligen Ergebnisse durch die eigenen Daten ersetzt werden.

Da dies mein erster "größerer" Eingriff ins System war, kann ich leider nicht sagen, was es wo für Probleme geben könnte - das einzige, was ich feststellen konnte, ist, dass es bei mir so wie beschrieben (anscheinend) funktioniert!
 
...und wie mach ich´s mit Postfix?

Hallo!

Ich brauch das auch ;-) Als MTA hab ich Postfix. Wie funzt das denn? Was muß ich denn in das mail.cf eintragen?

Vielen Dank und einen schönen Feier-Tag!
 
Postfix main.cf, smtp_auth abhängig von der Absende-Domain?

Hallo!

Super - das hab ich gesucht! Danke für den Link und die tolle Beschreibung! Kann ich das für verschiedene "Absender-Adressen" auch unterschiedlich konfigurieren? Bsp:
eMails von @abc.de über smtp-auth 1 (Host:abc.de,User:abc,Pass:abc)
eMails von @def.de über smtp-auth 2 (Host:def.de,User:def,Pass:def)
eMails von @xzy.de direkt raus
?
Ich suche quasi eine Bedingungsprüfung für das main.cf.

Vielen Dank für einen kleinen Hinweis :-)
 
Postfix 2.3.0 + SMTP-Auth

Hallo!

Inzwischen habe ich Postfix 2.3.0 mit cyrus sasl installiert. Irgendwie klappt das mit den Absender-spezifischen Relayhosts noch nicht ganz.

In die main.cf habe ich folgendes eingetragen:
Code:
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
smtp_sasl_security_options =

Die sasl_passwd schaut wie folgt aus:
Code:
abc.de abc:abc
def.de def:def
Die habe ich auch mit "postmap hash:/etc/postfix/sasl_passwd" umgewandelt.

Wenn ich nun mit der PHP-mail()-Funktion eine eMal verschicke, dann klappt das irgendwie nicht:
mail("testmailempfaenger@gmail.com","test-titel","test-inhalt","From: lala@abc.de");

Code:
Jul 23 14:35:31 meinemaschine postfix/pickup[8234]: 94FF9F6C148: uid=30 from=<wwwrun>
Jul 23 14:35:31 meinemaschine postfix/cleanup[8328]: 94FF9F6C148: message-id=<20060723123531.94FF9F6C148@meinemaschine.de>
Jul 23 14:35:31 meinemaschine postfix/qmgr[8235]: 94FF9F6C148: from=<wwwrun@meinemaschine.de>, size=329, nrcpt=1 (queue active)
Jul 23 14:35:32 meinemaschine postfix/smtp[8336]: 94FF9F6C148: to=<testmailempfaenger@gmail.com>, relay=gmail-smtp-in.l.google.com[64.233.183.114]:25, delay=0.65, delays=0.01/0.01/0.12/0.51, dsn=2.0.0, status=sent (250 2.0.0 OK 1153658126 p72si315552nfc)
Jul 23 14:35:32 meinemaschine postfix/qmgr[8235]: 94FF9F6C148: removed
Die Mail wird direkt zugestellt und nicht über das gewünschte Relay (abc.de, bei dem der MX-Eintrag auf mail.abc.de eingestellt ist).

Trage ich zusätzlich in die main.cf noch
Code:
relayhost = abc.de
ein, dann klappt der Versand über diesen einen Relay-Host (aber Postfix verschickt dann IMMER über abc.de und eben nicht nur für bestimmte Absender):
Code:
Jul 23 14:42:07 meinemaschine postfix/pickup[8502]: 54242F6C148: uid=30 from=<wwwrun>
Jul 23 14:42:07 meinemaschine postfix/cleanup[8509]: 54242F6C148: message-id=<20060723124207.54242F6C148@meinemaschine.de>
Jul 23 14:42:07 meinemaschine postfix/qmgr[8503]: 54242F6C148: from=<wwwrun@meinemaschine.de>, size=329, nrcpt=1 (queue active)
Jul 23 14:42:08 meinemaschine postfix/smtp[8511]: 54242F6C148: to=<testmailempfaenger@gmail.com>, relay=mail.abc.de[123.123.123.123]:25, delay=1, delays=0.1/0.01/0.92/0.01, dsn=2.0.0, status=sent (250 Ok: queued as A93038ACE82)
Jul 23 14:42:08 meinemaschine postfix/qmgr[8503]: 54242F6C148: removed

Mehrere Einträge für relayhost in der main.cf akzeptiert Postfix leider nicht.

Was hab ich übersehen?

Vielen Dank für einen kleinen Hinweis :-)
 
Back
Top