PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sendmail - mehrere SmartHosts



real-challo
28.11.05, 17:27
Hallo !

Ziel : ich möchte, je nach Sendeadresse meine Mails über bestimmte Mailserver verschicken. Z.B. wenn ich als "xxx@gmx.de" schicke, dann soll die Mail über den smtp server von gmx verschickt werden. Wenn ich "xxx@challo.de" bin, dann über den Server von puretec.

Ich weiss, daß man über die Mailertable etwas ähnliches realisieren kann - abhängig von Zieladresse. Ich möchte aber das gleiche nur abhängig von der Sendeadresse.

Geht soetwas mit sendmail ? Wenn ja wie, bzw. wo sind infos ?

P.S. NEIN ich kann/werde NICHT auf postfix, exim etc umsteigen !

Danke !

soenke
28.11.05, 23:13
Moin real-challo,

das Problem hatte ich auch mal und mir wurde diese Seite genannt:

http://anfi.homeunix.net/sendmail/smarttab.html

Seitdem lauft es bei mir genauso wie es sein soll.

Ich füge mal meine Smart-Table-Datei als Muster an. (Das @soenke.linuxserver kommt daher, weil ich mit Masquarade arbeite und Smarttable vorher abgearbeitet wird.)

Viele Grüße
Sönke

real-challo
29.11.05, 16:00
Hallo nochmal !

Muß ich dafür sendmail neu erstellen (alsoi komplett neu mut der m4 datei) ?

das würde nicht so gut passen, da ich z.B. Virenscanner etc. nachträglich dazugepackt habe.

Oder reicht es, wenn ich einfach
------------------------------------------------------------
Ksmarttable ifelse(defn(`_ARG_'), `', DATABASE_MAP_TYPE MAIL_SETTINGS_DIR`smarttable',
defn(`_ARG_'), `LDAP', `ldap -1 -v sendmailMTAMapValue -k (&(objectClass=sendmailMTAMapObject)(|(sendmailMTACl uster=${sendmailMTACluster})(sendmailMTAHost=$j))( sendmailMTAMapName=smarttable)(sendmailMTAKey=%0)) ',
`_ARG_')
LOCAL_NET_CONFIG
R$+ < @ $+ > $: $>SmartTable $1 < @ $2 >

LOCAL_RULESETS
SSmartTable
R$* $: ${opMode} $| $(dequote "" $&f $) $| $1
# rewrite <> sender address (empty) to @
Ri $| $* $| $* $: $| $1 $| $2
R$- $| $@ $| $* $: $| @ $| $2
R$* $| $* $| $* $: $| $2 $| $3
# check sender in smarttable as it is (with domain part)
R$| $+ $| $* $: $(smarttable $1 $: $) $| $1 $| $2
# check user part of sender address in smarttable
R$| $+@$+ $| $* $: $(smarttable @$2 $: $) $| $1@$2 $| $3
# smartable found smart host
R$+ $| $* $| $* $: $1 $| $2 $| $>95 <$1> $3
# clenup
R$* $| $* $| $* $: $3
------------------------------------------------------------

in die Sendmail.cf kopiere - und natürlich ein "Ksmarttable hash ..." davor

Danke schonmal

soenke
29.11.05, 20:08
Wenn Du mit neu erstellen neu kompilieren meinst, das ist nicht nötig. Ich muss jetzt leider zugeben, dass ich die sendmail.cf nie direkt bearbeitet habe. Die habe ich immer aus der mc Datei generieren lassen. Ich werde die Datei auch mal hier anhängen.

Viele Grüße
Sönke

real-challo
03.12.05, 11:22
Danke schön - hat alles geklappt !