Exim kézbesíthetetlenek mentése

Eximben szeretném elmenteni azokat a leveleket, amik beérkeznek, de nem kézbesíthetőek, emiatt bounce üzenet megy rájuk.
Mi ennek a korrekt módja?

Hozzászólások

"azokat a leveleket, amik beérkeznek, de nem kézbesíthetőek"
Ilyet nem kellene elfogadni, hanem SMTP időben visszautasítani.

Ennek fényében miért van szükség épp erre a fajta működésre? Ha valahova kézbesíted (most mindegy, hogy mentésnek vagy postfiókba kézbesítésnek hívjuk), akkor miért kell visszamennie bounce-nak? Ha bounce-ot akarsz küldeni, akkor meg miért kell menteni, kézbesíteni?

Csak olyan levelet szabad elfogadnia, amely címzettjének domainje a szerveren local mail domainként van felvéve, és a címzett mailcíme (postafiókja, vagy forwardolásra szánt alias címe) a szerveren létezik. A nem neki szóló levelek közül (relay) pedig csak a "belső" kliensektől (akik lehetnek IP szerint a LAN-on, vagy autentikáltan akár az interneten is) szabad átvenni, mástól nem, és csak olyankor kell bounce-ot generálni, ha egy ilyen levelet (permanens hibával vagy a queue timeout lejártával) nem vesz át a szerveredtől a lecél címzettjének domainjét kezelő szserver.

Igen, így kell működnie. Kipróbálhatod, ha például nem létező gmail-es címre küldesz levelet, nem a Gmail rendszere fog neked bounce-ot generálni, hanem ő egy szép 550-nel át sem veszi tőled. De megnézhetsz bármely szolgáltatót, vagy bármely szervert. Ez a normális működés.

Szerk.: most látom, hogy épp a Google-t hozod fel példának, hogy bounce-ot generál. Ezért bemásolom, hogy én nem ezt látom:


# telnet gmail-smtp-in.l.google.com. 25
Trying 2a00:1450:400c:c0a::1a...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y17si979683wmd.55 - gsmtp
ehlo aaa
250-mx.google.com at your service, [2001:4c48:0000:0000:0000:0000:0000:0000]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
mail from: <xxxxxx@freemail.hu>
250 2.1.0 OK y17si979683wmd.55 - gsmtp
rcpt to: <lewndsfiiuqwnsdf@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1  https://support.google.com/mail/?p=NoSuchUser y17si979683wmd.55 - gsmtp
quit
221 2.0.0 closing connection y17si979683wmd.55 - gsmtp
Connection closed by foreign host.
#

Azaz bounce jön, ha nem létező g-s címre küld levelet. Akkor nem jönne bounce, ha minden levelet elfogadna, és utána a kézbesíthetetleneket némán eldobná. (Technikaliag nem a g-től, hanem a saját mta-tól jön a bounce értesítés)
Anno volt ilyen ötlet is, hogy "ne lehessen találgatással begyűjteni a valid e-mail címeket"...

Ezt azért nagyjából tudjuk. Az RFC 5321, 6.2 a bouce-ot NDN értelemben használja, és nem az SMTP időben való elutasítást érti alatta: If they cannot be delivered, and cannot be rejected by the SMTP server during the SMTP transaction, they should be "bounced" (returned with non-delivery notification messages) as described above.

Oké, igazad van, picit összemostam a két dolgot - sajnos sok esetben nem lehet tudni/egyszerűen kideríteni, hogy a gezuka.okosfiu@cegnev.tld valdi cím-e vagy sem. Nem biztos ugyanis az, hogy a cegnev.tld teljes és aktuális valid címlistával rendelkezik, rendelkez_het_. van pl. egy spam/vírusszűrő szolgáltatás, amire rá van irányítva csilliom+1 domain MX-e. Innen az adott cég külső smtp-átjárójára kerül tovább a levél, onnan meg mondjuk egy belső Exchange-re, aminél az e-mail címek az AD-ben vannak letárolva.
Ebből az AD-ből online naná, hogy nem fog tudni kérdezni a "látszólagos" MX, és az sem biztos, hogy a cég az orrára köti napi/óránkénti/akármilyen frissítéssel az aktuális e-mail címlistát. Vegye át, adja ide, aztán majd csinálunk vele amit tudunk, de az esetek 9x%-ában a "nincs ilyen cím" az Exchange-nél fog kiderülni.

Azaz bounce-ot kell generálnia a plt által üzemeltett szervernek, amennyiben az ő jogos felhasználója (ügyfele, munkatársa) számára relayel.
De kívülről jövő levél esetén neki nem lenne szabad elfogadnia nem létező címre érkező levelet, majd ezt követően bouce-ot generálnia, hanem még SMTP időben illene visszautasítania. Aztán majd a küldeni próbáló szerver generál az ő saját felhasználója felé bouce-ot (NDN).

Inenn indultunk: "amik beérkeznek, de nem kézbesíthetőek, emiatt bounce üzenet megy rájuk". Erre mondtam, hogy nem szabad előfordulnia, hogy a plt által üzemeltetett szerverre "levelek érkezzenek be" (tehát kerüljenek elfogadásra, ugyanis ha nem fogadja el, akkor nem mondható rá, hogy beérkeznek), majd utána jöjjön rá, hogy ezzel nem tud mit kezdeni ("de nem kézbesíthetőek"), és generáljon NDN-t ("emiatt bounce üzenet megy rájuk").

Szerintem egyet beszélünk, csak máshogy fogalmazzuk meg.