Zoals eerder vermeld wordt FreeBSD geleverd met sendmail voorgeïnstalleerd als MTA (Mail Transfer Agent). Daarom regelt het standaard uitgaande en binnenkomende mail.
In sommige gevallen willen systeembeheerders wegens uiteenlopende redenen hun MTA vervangen. Deze redenen variëren van het uitproberen van een andere MTA tot het installeren van een bepaalde functionaliteit of pakket dat afhankelijk is van een andere MTA.
Er is een waaier van MTA's beschikbaar. Een goed startpunt is de FreeBSD Ports Collectie waar er veel gevonden kunnen worden. Het is natuurlijk mogelijk iedere MTA te gebruiken vanaf iedere locatie, zolang het draait op FreeBSD.
Begin met het installeren van de nieuwe MTA. Als de MTA eenmaal geïnstalleerd is wordt er de kans gegeven te beslissen of de nieuwe MTA echt voldoet aan de eisen, en is het mogelijk de nieuwe software te configureren voordat deze het werk van sendmail overneemt. Bevestig voordat de MTA geïnstalleerd wordt dat de nieuwe software geen poging onderneemt systeemtoepassingen zoals /usr/bin/sendmail te overschrijven, anders wordt de nieuwe software onmiddellijk in gebruik genomen voordat het is geconfigureerd.
Neem de documentatie van de gekozen MTA door voor meer informatie over het configureren van de software.
WaarschuwingAls sendmail's uitgaande emaildienst uitgeschakeld wordt, is het belangrijk dat het vervangen wordt door een alternatief systeem. Als ervoor gekozen wordt dit niet te doen, zullen systeemfunctionaliteiten zoals periodic(8) niet in staat zijn hun resultaten te bezorgen per email, zoals ze normaliter verwachten te kunnen doen. Vele delen van het systeem zullen verwachten een werkend systeem aan te treffen dat compatibel is met sendmail. Als toepassingen binaries van sendmail blijven gebruiken om mail te versturen nadat deze uitgeschakeld werden, kan de mail in een inactieve sendmail wachtrij geplaatst worden, en nooit bezorgd worden.
Om sendmail volledig uit te schakelen, inclusief de uitgaande emaildienst, dient
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
toegevoegd te worden aan /etc/rc.conf.
Als enkel sendmail's ingaande emaildienst uitgeschakeld dient te worden, dient
sendmail_enable="NO"
toegevoegd te worden aan /etc/rc.conf. Meer informatie over de opstartopties van sendmail is beschikbaar in de hulppagina rc.sendmail(8).
De nieuwe MTA kan gestart worden door deze instellingsregel toe te voegen aan /etc/rc.conf, zoals het volgende voorbeeld voor postfix:
# echo 'postfix_enable=“YES”' >> /etc/rc.conf
De MTA zal nu automatisch tijdens het opstarten worden gestart.
Het programma sendmail is zo vanzelfsprekend als standaard software op UNIX® systemen dat sommige softwarepakketten ervan uitgaan dat sendmail reeds geïnstalleerd en geconfigureerd is. Daarom voorzien vele alternatieve MTA's in compatibele implementaties van de opdrachtregelinterface van sendmail; dit vergemakkelijkt het gebruik van alternatieve MTA's als vervanging voor sendmail.
Bij het gebruiken van een alternatieve MTA moet men er zeker van zijn dat software die probeert de standaardtoepassingen van sendmail zoals /usr/bin/sendmail te gebruiken, ook daadwerkelijk de gekozen alternatieve mailer gebruikt. Gelukkig heeft FreeBSD hiervoor een systeem, mailwrapper(8), dat deze taak van de systeembeheerder overneemt.
Als sendmail werkt zoals origineel geïnstalleerd, bevat /etc/mail/mailer.conf bij benadering het volgende:
sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail
Dit wil zeggen dat wanneer een van deze algemene opdrachten (zoals sendmail zelf) uitgevoerd wordt, het systeem in werkelijkheid een kopie van de mailwrapper genaamd sendmail uitvoert, dat mailer.conf controleert en /usr/libexec/sendmail/sendmail uitvoert. Dit systeem maakt het eenvoudiger te specificeren welke toepassingen daadwerkelijk uitgevoerd worden wanneer deze standaard sendmail functies aangeroepen worden.
Als men bijvoorbeeld wil dat /usr/local/supermailer/bin/sendmail-compat uitgevoerd wordt in plaats van sendmail, kan men /etc/mail/mailer.conf als volgt aanpassen:
sendmail /usr/local/supermailer/bin/sendmail-compat send-mail /usr/local/supermailer/bin/sendmail-compat mailq /usr/local/supermailer/bin/mailq-compat newaliases /usr/local/supermailer/bin/newaliases-compat hoststat /usr/local/supermailer/bin/hoststat-compat purgestat /usr/local/supermailer/bin/purgestat-compat
Wanneer alles correct geconfigureerd is, dienen ofwel alle ongebruikte sendmail processen gestopt te worden en de processen behorend aan de nieuwe software gestart te worden, ofwel dient het systeem opnieuw gestart te worden. Herstarten geeft ook de mogelijkheid te controleren of de nieuwe MTA correct geconfigureerd is om tijdens het opstartproces gestart te worden.