Come già menzionato, l'MTA (Mail Transfer Agent, agente di trasferimento della posta elettronica) installato di default su FreeBSD è sendmail. Di conseguenza sendmail è responsabile della tua posta in partenza e di quella in arrivo.
Comunque, per vari motivi, alcuni amministratori necessitano di cambiare l'MTA dei loro sistemi. Questi motivi spaziano dal voler semplicemente provare un altro MTA all'aver bisogno di una caratteristica o di un pacchetto specifico ritrovabile in un altro MTA. Fortunatamente, per qualsiasi motivo, FreeBSD semplifica il processo di sostituzione.
Hai un'ampia scelta di MTA utilizzabili. Un buon punto di partenza è la FreeBSD Ports Collection dove puoi trovarne molti. Naturalmente sei libero di usare qualunque MTA proveniente da qualche sito, a condizione che tu riesca ad eseguirlo sotto FreeBSD.
Inizia installando il tuo nuovo MTA. Una volta installato devi
valutare se realmente soddisfa le tue necessità, inoltre devi
avere la possibilità di configurare il tuo nuovo programma prima
che subentri a sendmail. Valutato questo,
devi essere sicuro che durante l'installazione del nuovo programma non
ci siano stati tentativi di sovrascrivere binari di sistema come
/usr/bin/sendmail
. Altrimenti, il tuo nuovo
programma di posta è stato essenzialmente messo in
attività prima che tu l'abbia configurato.
Per cortesia fai riferimento alla documentazione dell'MTA che hai scelto per informazioni su come configurarlo.
La procedura usata per avviare sendmail cambia significativamente tra la 4.5-RELEASE e la 4.6-RELEASE. Di conseguenza, la procedura usata per disabilitarlo è leggermente differente a seconda della versione di FreeBSD utilizzata.
Se disabiliti il servizio di consegna della posta di sendmail in questo modo, è importante che questo venga rimpiazzato con un altro sistema di consegna della posta. Se non lo farai, le funzioni di sistema come periodic(8) saranno incapaci di inviare i loro risultati tramite e-mail come normalmente prevedono di fare. Molte parti del tuo sistema potrebbero presupporre di avere un sistema funzionante compatibile con sendmail. Se le applicazioni continuano a usare i binari di sendmail per tentare di spedire e-mail dopo che tu l'hai disabilitato, la posta potrebbe finire in una coda inattiva di sendmail, senza che venga mai consegnata.
Metti:
sendmail_enable="NO"
in /etc/rc.conf
. In questo modo si
disabiliterà il servizio di ricezione della posta
di sendmail, ma se
/etc/mail/mailer.conf
(vedi sotto) non viene
modificato, sendmail verrà ancora
usato per spedire e-mail.
Per disabilitare completamente sendmail, incluso il servizio della posta in uscita, devi mettere
sendmail_enable="NONE"
in /etc/rc.conf.
Se vuoi solamente disabilitare il servizio di ricezione della posta di sendmail, devi mettere
sendmail_enable="NO"
in /etc/rc.conf
. Comunque, se
la ricezione della posta è disabilitata, la consegna locale
funzionerà ancora. Maggiori informazioni sulle
opzioni di avvio di sendmail sono
disponibili nella pagina man di rc.sendmail(8).
Per disabilitare completamente sendmail, servizi di posta in ingresso e in uscita inclusi, devi usare
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
in /etc/rc.conf.
Se vuoi solamente disabilitare il servizio di ricezione della posta di sendmail, devi mettere
sendmail_enable="NO"
in /etc/rc.conf
. Molte informazioni sulle
opzioni di avvio di sendmail sono
disponibili nella pagina man di rc.sendmail(8).
Hai due possibili metodi per eseguire il tuo nuovo MTA all'avvio, a seconda della versione di FreeBSD utilizzata.
Posiziona uno script in
/usr/local/etc/rc.d/
con estensione
.sh
ed eseguibile da root
.
Lo script deve accettare i parametri start
e
stop
. Nella fase di avvio di FreeBSD gli script
di sistema eseguiranno il comando
/usr/local/etc/rc.d/supermailer.sh start
che puoi anche usare per avviare manualmente il
server. Nella fase di chiusura di FreeBSD, gli script di sistema
useranno l'opzione stop
, eseguendo il
comando
/usr/local/etc/rc.d/supermailer.sh stop
che puoi anche usare per arrestare manualmente il server mentre il sistema è in funzione.
Con le versioni recenti di FreeBSD, puoi usare il metodo precedente oppure puoi mettere
mta_start_script="nomefile"
in /etc/rc.conf
, dove
nomefile
è il nome dello script
che vuoi eseguire all'avvio per avviare il tuo MTA.
sendmail è così onnipresente come programma standard su sistemi UNIX® che alcuni programmi lo suppongono già installato e configurato. Per questa ragione, molti degli altri MTA forniscono la loro compatibile implementazione dell'interfaccia a riga di comando di sendmail; questo agevola il loro utilizzo come sostituti «drop-in» di sendmail.
Quindi, se usi un altro programma di posta, dovrai assicurarti
che i programmi che tentano di eseguire i binari standard di
sendmail come
/usr/bin/sendmail
in realtà eseguano
il programma di posta da te scelto. Fortunatamente, FreeBSD fornisce
un meccanismo chiamato mailwrapper(8) che fa questo lavoro per
te.
Quando sendmail è operativo,
dovresti vedere in /etc/mail/mailer.conf
qualcosa
di simile a questo:
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
Questo significa che quando uno di questi comandi
(come sendmail
stesso) viene eseguito, in
realtà il sistema invoca una copia di mailwrapper di nome
sendmail
, la quale esamina
mailer.conf
ed esegue
/usr/libexec/sendmail/sendmail
. Questo meccanismo
facilita la sostituzione dei binari che sono realmente eseguiti quando
vengono invocate queste funzioni di default di
sendmail
.
Quindi se vuoi che
/usr/local/supermailer/bin/sendmail-compat
sia
eseguito al posto di sendmail, devi
modificare /etc/mail/mailer.conf
in questo
modo:
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
Una volta che hai configurato ogni cosa a tuo piacimento, devi terminare i processi di sendmail di cui non hai più bisogno e avviare i processi appartenenti al tuo nuovo programma, oppure puoi semplicemente riavviare il sistema. Riavviando il sistema avrai la possibilità di verificare se il sistema sia stato configurato correttamente per eseguire il tuo nuovo MTA in modo automatico all'avvio.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Per domande su FreeBSD, leggi la
documentazione prima di contattare
<questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a
<doc@FreeBSD.org>.