Dette er mitt oppsett av sendmail
på lokal server.
Jeg opererere med det fiktive domenenavnet acme.no
.
Følgende funksjoner er ønsket:
Dette dokumentet er laget med grunnlag i
sendmail address rewriting mini-HOWTO, samt artikkel i Linux Journal
(april 2001).
Se også mine qmail-notater hvis du har
qmail
-klienter i tillegg (første avsnitt).
mail.acme.net
arne@acme.net
mail.myisp.net
acc@myisp.net
Sørg for at disse setningene finnes i sendmail.mc
.
define(`ALIAS_FILE',`/etc/aliases') MASQUERADE_AS(myisp.net) FEATURE(masquerade_envelope) FEATURE(limited_masquerade) # LJ FEATURE(genericstable,`hash -o /etc/mail/genericstable') GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') define(`SMART_HOST',`smtp:mail.myisp.net') define(`confCON_EXPENSIVE',True) define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch') MAILER(local) MAILER(smtp)MAILER kan også være
procmail
i stedet for
local
(vil jeg tro).
Generer /etc/sendmail.cf
fra denne sendmail.mc
med kommandoene m4 sendmail.mc > _sendmail.cf mv -f _sendmail.cf sendmail.cf(bruk midlertidig filnavn for å hindre at
sendmail
kan lese delvis genererte
konfigurasjonfil(er).
Endre/se etter følgende i den nye sendmail.cf
DMmyisp.net DSsmtp:mail.myisp.net(i 'Options' seksjonen):
O HoldExpensive=TrueLet opp følgende sekvens i fila (nær slutten av fila):
##### @(#)smtp.m4 8.38 (Berkeley) 5/19/1998 ##### Msmtp, P=[IPC], F=mDFMuXe, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $h Mesmtp, P=[IPC], F=mDFMuXae, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $h Msmtp8, P=[IPC], F=mDFMuX8e, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $hLegg til '
e
' (expensive) Flag i 'F=...' (flags) for smtp.
Nå skal sendmail ikke sende smtp mail uten videre.
Denne filen kan se slik ut:
aliases files passwd files hosts files
nis
, nisplus
og dns
(spesielt)
skal ikke brukes!
Denne filen inneholder alle navn som lokal mailserver skal handle mail for, og kan se slik ut:
# sendmail.cw - include all aliases for your machine here. localhost localhost.localdomain mail.acme.net server.acme.net pc1.acme.net pc2.acme.net
Legg inn lokale brukernavn som skal mappes om til ISP-adresser:
arne acc@myisp.net laban lbn@myisp.netKjør
makemap -r hash genericstable.db < genericstable
acme.net
Legg til klienter som mail.acme.net skal relay'e mail for:
# Check the /usr/doc/sendmail-8.9.3/README.cf file for a description # of the format of this file. (search for access_db in that file) # The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc # package. # by default we allow relaying from localhost... localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY # and now my local clients... 192.168.5.1 RELAY 192.168.5.2 RELAYGenerer hash-fil:
makemap hash access.db < access
Oppstartfilen /etc/rc.d/init.c/sendmail
må
endres fra
/usr/sbin/sendmail -bd -q15mtil
/usr/sbin/sendmail -bd -os
For å sende mail fra køen til ISP, kjøres denne kommandoen fra et (cron-) script:
/usr/sbin/sendmail -q -v
Jeg har ikke eget domenenavn. Derfor har jeg forsøkt med virtusertable og genericstable. Jeg trodde virtusertable skulle skrive om sin key til value for input addresser, men det ser ikke ut til at noe skjer. Problmet mitt er at hvis jeg prøver reply på lokal mail, prøver den å sende via online.no istedet for å levere lokalt med én gang. Hvordan skal jeg gjøre dette?
Virtusertable input ser slik ut:
sgulbra@online.no sg jentakle@hotmail.com jens
mc-filen jeg bruker for å lage sendmail.cf ser slik ut:
divert(-1) include(`../m4/cf.m4') define(`confDEF_USER_ID',``8:12'') OSTYPE(`linux') FEATURE(always_add_domain) FEATURE(genericstable) FEATURE(virtusertable) FEATURE(use_cw_file) FEATURE(local_procmail) FEATURE(accept_unresolvable_domains) MAILER(procmail) MAILER(smtp)
Genericstable input ser slik ut:
sg sgulbra@online.no jens jentakle@hotmail.com
db-filene lages med "makemap hash virtusertable < virtusertable.input" og legges på /etc/. Tilsvarende for genericstable.
I sendmail.cf står det:
Kgenerics hash -o /etc/genericstable Kvirtuser hash -o /etc/virtusertable
Skulle gjerne også fått monsteret til å ikke aksessere nettet verken for DNS eller for å levere post (jeg har et modem som ringer automatisk) før jeg gjør "sendmail -q", med unntak av mail innen lokalnettet. Men det må bli neste fase i prosjektet.