sendmail(8) is de standaard Mail Transfer Agent (MTA) in FreeBSD. sendmail's taak is het accepteren van mail van gebruikersprogramma's (MUA ) en deze te bezorgen bij de juiste mailer zoals gedefinieerd in het betreffende configuratiebestand. sendmail kan ook netwerkverbindingen accepteren en mail in lokale postbussen afleveren of bezorgen bij een ander programma.
sendmail gebruikt de volgende configuratiebestanden:
Bestandsnaam | Functie |
---|---|
/etc/mail/access | bestand met de toegangsdatabase van sendmail |
/etc/mail/aliases | Aliases voor postbussen |
/etc/mail/local-host-names | Lijst van servers waarvoor sendmail mail accepteert |
/etc/mail/mailer.conf | Configuratie voor het mailerprogramma |
/etc/mail/mailertable | Aflevertabel voor de mailer |
/etc/mail/sendmail.cf | Hoofdconfiguratiebestand van sendmail |
/etc/mail/virtusertable | Tabellen voor virtuele gebruikers en domeinen |
De toegangsdatabase definieert welke host(s) of IP-adressen
toegang hebben tot de lokale mailserver en wat voor soort toegang
ze hebben. Hosts kunnen in de lijst als OK
,
REJECT
, of RELAY
staan, of
worden doorgevoerd naar de foutafhandelingsprocedure van
sendmail met een bepaalde mailerfout.
Hosts welke vermeld staan als OK
, wat de
standaard is, kunnen mail versturen naar deze host zolang de
eindbestemming van de mail de lokale machine is. Hosts welke
vermeld staan als REJECT
worden voor alle
verbindingen geweigerd. Hosts met een RELAY
vermelding wordt toegestaan om via deze server mail naar elke
bestemming te sturen.
cyberspammer.com 550 We accepteren geen mail van spammers FREE.STEALTH.MAILER@ 550 We accepteren geen mail van spammers another.source.of.spam REJECT okay.cyberspammer.com OK 128.32 RELAY
In dit voorbeeld staan vijf vermeldingen. Mailafzenders die
overeenkomen met de linkerzijde van de tabel worden beļnvloed
door de actie die vermeld staan aan de rechterzijde van de tabel.
De eerste twee voorbeelden geven een foutcode af aan de
foutafhandelingsroutine van sendmail.
Het bericht wordt bij de externe host bekend gemaakt wanneer een
mail voldoet aan de linkerzijde van de tabel. De volgende regel
weigert mail van een specifieke host op het Internet,
another.source.of.spam
. De volgende regel accepteert
mailverbindingen van een host
okay.cyberspammer.com
, welke nauwkeuriger is dan de
regel met cyberspammer.com
erboven. Specifiekere regels vervangen minder specifieke. De
laatste regel staat het doorsturen van elektronische mail toe
vanaf hosts waarvan de IP-adressen beginnen met 128.32
.
Deze hosts zijn dan in staat om via deze mailserver naar een andere
bestemming mail te versturen.
Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/
te gedraaid te
worden om de database bij te werken.
De aliasdatabase bevat een lijst met virtuele postbussen die
verwijzen naar andere gebruiker(s), bestand(en), programma('s) of
andere aliassen. Hier zijn een paar voorbeelden die gebruikt
kunnen worden in /etc/mail/aliases
:
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Het bestandsformaat is simpel; de postbusnaam aan de
linkerzijde van de dubbele punt wordt verder uitgewerkt naar de
doel(en) aan de rechterzijde. Het eerste voorbeeld breidt de
postbus van root
uit naar de postbus
localuser
, welke dan vervolgens weer wordt
opgezocht in de aliasdatabase. Als er geen verdere overeenkomst
wordt gevonden, dan wordt het bericht afgeleverd bij de lokale
gebruiker localuser
. Het volgende
voorbeeld toont een mailinglijst. Mail voor de postbus
ftp-bugs
wordt doorverwezen naar de drie
lokale postbussen joe
, eric
en paul
. Merk op dat een
externe postbus gespecificeerd kan worden als <
user@example.com>
. Het volgende voorbeeld toont het
schrijven van mail naar een bestand, in dit geval
/dev/null
. Het laatste voorbeeld toont het sturen
van mail naar een programma, in dit geval wordt het mailbericht
doorgestuurd naar de standaard invoer van
/usr/local/bin/procmail
via een UNIX® pijp.
Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/
gedraaid te worden
om de database bij te werken.
Dit is een lijst van hostnamen die sendmail(8) moet
accepteren als de lokale hostnaam. Hierin dienen alle hostnamen
geplaatst te worden waarvoor sendmail
mail moet ontvangen. Als deze mailserver mail moet ontvangen
voor het domein example.com
en de hostnaam is mail.example.com
,
dan ziet local-host-names
er ongeveer zo
uit:
example.com mail.example.com
Wanneer dit bestand is bijgewerkt, dient sendmail(8) opnieuw gestart te worden zodat het de veranderingen kan lezen.
Het hoofdinstellingenbestand van sendmail
, sendmail.cf
controleert het
algemene gedrag van sendmail,
inclusief alles van het herschrijven van emailadressen tot het
sturen van weigeringsberichten naar externe mailservers. Met
zo'n diverse rol is dit instellingenbestand redelijk complex en
vallen de details buiten het bereik van dit hoofdstuk. Gelukkig
hoeft dit bestand maar zelden aangepast te worden voor standaard
mailservers.
Het hoofdinstellingenbestand van sendmail
kan gebouwd worden met m4(1) macro's die het
gedrag en de mogelijkheden van sendmail
specificeren. Lees
/usr/src/contrib/sendmail/cf/README
voor meer
details.
Wanneer dit bestand is bijgewerkt, dient sendmail(8) opnieuw gestart te worden om de wijzigingen door te voeren.
De virtusertable
verbindt mailadressen
voor virtuele domeinen en postbussen met echte postbussen. Deze
postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in
/etc/mail/aliases
, of bestanden zijn.
root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe
In het voorbeeld hierboven staat een tabel voor een domein
example.com
. Dit bestand
wordt van boven naar beneden verwerkt, en de eerste
overeenkomende regel wordt gebruikt. De eerste regel verbindt
<root@example.com>
met de lokale postbus
root
. De volgende regel verbindt <
postmaster@example.com>
met de postbus
postmaster
op de host
noc.example.net
. Als geen van de vorige regels van
example.com
overeenkomen, zal
de laatste regel gebruikt worden, die alle andere post
geadresseerd aan iemand bij
example.com
opvangt en naar de lokale postbus
joe
stuurt.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.