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.
Voorbeeld 28-1. Configureren van de sendmail toegangsdatabase
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:
Voorbeeld 28-2. Mailaliassen
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.
Voorbeeld 28-3. Voorbeeld van een mailtabel voor een virtueel domein
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.
Deze en andere documenten kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Lees voor vragen over FreeBSD de documentatie alvorens contact te zoeken
<questions@FreeBSD.org>.
Vragen over deze documentatie kunnen per e-mail naar <doc@FreeBSD.org>.