Egy Exim 4 szerveren be van állítva a vacation transport, autoreply driverrel.
A probléma az, hogy az automatikus válasznak üres a sender értéke, emiatt az SPF validációkon fennakadnak ezek a levelek.
Semmilyen olyan paramétrét nem találom az autoreply drivernek, amivel a sendert (nem a from-ot) be lehetne állítani. Mivel ez nem kerül bele a levél header részébe, még az egyedi header megadása sem segíthet.
Van erre valakinek ötlete, hogy hogyan lehetne Eximmel valid automatikus válaszokat generálni?
Megoldás: autoreply levelek esetén a remote_smtp router-be kell egy plusz "return_path = $h_from" sor.
- 235 megtekintés
Hozzászólások
mail commanddal a filter file-ban:
from $local_part\@$domain
to $reply_address
...
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
A dokumentáció szerint a filter fájl az "address_reply" transportert hívja meg, és ez egy dirver=autoreply transporter, pont olyan, mint amit én is használok. A from és a to itt - gondolom - a filter fájlból jön, nálam a transporterben van megadva, de ez ugyanannak a funkciónak tűnik.
Mivel most minden adatbázisból jön, csak akkor állnék neki átvariálni fájlba, ha ez tényleg segít.
Te ezt használod? Így nálad lesz értéke a sender-nek küldéskor?
- A hozzászóláshoz be kell jelentkezni
ennyire most nem neztem meg, csak itt lattam, hogy a filter fajlban mail vagy vacation command, ennek megorultem, mert en is mail commanddal csinaltam:
https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_autore…
kb. 15 eve csinaltam, router driver=redirect-el, bar vagy 10 eve nem hasznalom.
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Köszönöm. A dokumentáció legalább egyértelműen fogalmaz:
"messages created by the autoreply transport always have empty envelope sender addresses, like bounce messages"
Vagyis az exim definíció szerint nem képes valid automatikus választ generálni az automatikus válasz moduljával ...
Nem semmi!
- A hozzászóláshoz be kell jelentkezni
Próbáltam helyettesíteni az autoreply-t egy pipe transporterrel, de ez esetben meg a $h_subject értékét nem tudom átadni a scriptnek, mert tainted ... :(
Végül ráfanyalodtam az AI-ra, azonban mindkettő csak működésképtelen ostobaságokat mondott, jórészt olyan tanácsokkal, amik hibát okoztak.
Végül azonban megszületett egy működőképes megoldás: a remote_smtp transporterbe kell egy "return_path: $h_from" sor.
Mivel ez minden kimenő levél esetén aktív lenne, és félek, hogy a bounce üzeneteknél talán mégsem véletlen az üres Sender, ezért létrehoztam egy új transportert "remote_smtp_autoreply" néven, ami a "remote_smtp" másolata, csak kibővítve a
return_path = $h_from
sorral. Valamint a "dnslookup" router elé beillesztettem egy új routert kifejezetten az autoreply leveleknek, ami ugyanaz, mint a dnslookup, csak a következő sorral ki van bővítve:
condition = ${if and { {def:h_Auto-Submitted:} {eq {$h_Auto-Submitted:}{auto-replied}} }}
és természetesen a transporter sora módosult:
transport = remote_smtp_autoreply
Így már az autoreply leveleknél is van megfelelő Sender.
- A hozzászóláshoz be kell jelentkezni