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.
Avvertimento: 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 <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.