Am Samstag, 10. Juli 2004 20:22 schrieb Dieter Kluenter:
In rfc 2822 steht eher was über die Mailstruktur (Header/Body). Der smtp-Handshake ist in 2821 definiert. Ich vermute mal Du verwechselst das mit der sender-address? Die darf leer sein. Im Falle von Bounce-Meldungen z.B.. Der Recipient sollte schon existieren.
Du hast natürlich Recht, das steht in RFC 2821. Ich denke, wir sind uns einig, daß ein SMTPD jede Mail für seinen Verantwortungsbereich annehmen muß, üblicherweise ein SMTPD verantwortlich für localhost, muß also Mail an @localhost entgegen nehmen. Wenden wir uns
Hmm, da bin ich nicht ganz Deiner Meinung. Das würde bedeuten, der MTA müsste auch Mails an nicht-existente Empfänger annehmen. Abgesehen davon, ein MTA muss eigentlich gar keine Mail annehmen, nur wenn er sie annmmt ist er dafür verantwortlich, sprich er muss dafür sorgen sie entweder entsprechend weiterzuleiten oder wenn das nicht möglich ist, den Absender mit einer "Unzustellbar-Nachricht" informieren. Nirgendwo steht geschrieben, dass ein MTA auch Mails an user@localhost annehmen muss. Das würde die Spammer sicher freuen. Das aktuelle Problem ist es, dass die Spammer immer trickreichere Methoden entwickeln lokale Adressen auszuprobieren, sprich wenn Du alle Mails an Deine Domain anehmen würdest, hättest Du die Queues voller Bounces. Da die Absender-Adresse wohl nur in den seltensten Fällen stimmt. Deswegen ist es äusserst sinnvoll, Mails an unbekannte User schon im SMTP-Dialog zu rejecten. Postfix bitet dazu unter anderem die "local_recipient_maps" bzw. "relay_recipient_maps" an.
dem linken Teil der Mailadresse zu. Die Empfängerangabe muß aus einem ascii String bestehen, daher ist die Empfängerangabe " "@localhost eine gültige Mailadresse, denn auf der linken Seite ist ein ascii String. Da die Mail aber nicht zugestellt werden kann, wird diese an den zuständigen Administrator übergeben.
Es mag sein, dass ein Space (" ") ein gültiger local-part ist, die Vorschriften dazu sind aus historischen Gründen sehr weich, aber ich habe bisher noch kein System gesehen, wo solch ein User auch wirklich existierte. Also ist es auch sehr sinnvoll solche Versuche schon am Eingang zu rejecten. Es mag in einer Firma eventuell auch schonmal sinnvoll sein, alles anzunehmen wegen eventuellen Rechtschreibfehlern potenzieller Kunden. Allerdings dürfte dies in der heutigen Zeit schon fast eine Beschäftigung für einen oder mehrere Mitarbeiter sein diese Mails aus einem Haufen Spam/Viren/Sonstwas herauszusuchen. Abgesehen davon ging es ursprünglich um ""@localhost und das wäre ein leerer local-part also definitiv kein Empfänger. Wenn man eine Mail an eine unbekannte Domain schreiben möchte, ist man wohl mit dem postmaster@domain.tld am besten Beraten. -- Andreas