Como ya se ha comentado FreeBSD viene con sendmail ya instalado como agente de transferencia de correo por defecto. De esta forma sendmail se encarga de gestionar el correo entrante y saliente.
No obstante, debido a distintas razones algunos administradores de sistemas prefieren utilizar otro MTA. Estas razones varían desde simplemente querer probar otros programas de transferencia de correo, hasta la necesidad de utilizar un determinado programa que hace uso de una función específica de un agente determinado. Por suerte cualesquiera que sean estas razones FreeBSD posee un sencillo procedimiento para sustituir a sendmail.
Existen una amplia gama de MTA alternativos a sendmail. Un buen punto de partida es el Sistema de Ports de FreeBSD, donde se pueden localizar varios. Por supuesto el usuario tiene libertad para utilizar cualquier MTA, siempre y cuando se pueda ejecutar en FreeBSD sin problemas.
Lo primero es instalar el nuevo MTA. Una vez que está
instalado normalmente se tiene la oportunidad para decidir si
realmente cubre las necesidades y también se tiene la
oportunidad de configurar el nuevo software antes de sustituir a
sendmail. El usuario debe tener en cuenta
que el nuevo MTA puede sobreescribir algunos binarios del sistema como
por ejemplo /usr/bin/sendmail
.
En cualquier caso el nuevo software de correo
suele entrar en funcionamiento con una configuración
por defecto.
Por favor, recuerde que se recomienda leer la documentación del MTA seleccionado para obtener más información.
El procedimiento utilizado para ejecutar sendmail cambió significativamente entre las releases 4.5-RELEASE y 4.6-RELEASE. De esta forma el procedimiento utilizado para la desactivación hoy en día es sutílmente distinto al utilizado en dichas distribuciones.
Introducir:
dentro de /etc/rc.conf
. Esta variable
desactiva el servicio de recepción de correo de
sendmail,
pero salvo que se modifique (ver más adelante) el
fichero /etc/mail/mailer.conf
sendmail todavía será
la aplicación elegida para enviar correo
electrónico.
Para poder desactivar completamente sendmail haga lo siguiente:
dentro del fichero /etc/rc.conf.
Se desactiva el servicio de correo de salida de sendmail. Es importanque que se reemplace con un sistema de entrega de correo alternativo que sea totalmente funcional. En caso contrario funciones del sistema FreeBSD tales como periodic(8) no podrán entregar sus resultados por correo eletrónico tal y como normalmente hacen. Varias partes del sistema FreeBSD esperan disponer de un sistema de correo funcional compatible con sendmail. Si las aplicaciones continúan utilizando los binarios de sendmail para realizar envíos de correo después de su desactivación el correo podría ser almacenado en una cola inactiva de sendmail, en cuyo caso nunca se entregaría.
Si sólo se quiere desactivar el servicio de correo de entrada de sendmail, basta con establecer la variable:
dentro de /etc/rc.conf
.
En rc.sendmail(8) tiene más información sobre
las opciones de arranque de
sendmail.
Existen dos métodos alternativos para ejecutar el nuevo MTA en el arranque, dependiendo de la versión de FreeBSD que se esté ejecutando.
Se debe añadir un script en
/usr/local/etc/rc.d/
cuyo nombre termine en
.sh
y que sea ejecutable por
root
. El script debe aceptar los
parámetros start
y
stop
. Cuando el sistema FreeBSD se está
inicializando, los scripts de arranque
ejecutarán el siguiente comando:
La misma orden se puede utilizar también para ejecutar
el servidor de forma manual.
Cuando el sistema se está reiniciando los scripts del sistema
ejecutan los ficheros ubicados en
/usr/local/etc/rc.d/
utilizando la opción
stop
, en nuestro caso:
Dicho comando tambíen se puede utilizar para detener el servidor de correo de forma manual cuando el sistema FreeBSD se ejecuta con normalidad.
Con las últimas versiones de FreeBSD se puede utilizar el método anterior pero también se puede especificar
dentro de /etc/rc.conf
, donde
nombre_de_fichero
es el nombre de
algún script que se ejecuta en tiempo de arranque
para inicializar el nuevo MTA.
El programa sendmail es tan imprescindible y es utilizado por tal multitud de programas en los sistemas UNIX® que algunos programas simplemente asumen que sendmail se encuentra instalado y configurado dentro del sistema. Por esta razón varios MTAs alternativos proporcionan su propia implementación de la interfaz de línea de comandos que posée sendmail; esto facilita que se puedan utilizar como sustitutos de sendmail sin mayores dificultades.
Por lo tanto si desea utilizar un agente de transporte de correo
alternativo debe asegurarse de que todo software que intente ejecutar
binario de sendmail estándar,
/usr/bin/sendmail
, realmente ejecute el nuevo MTA
en su lugar. Por fortuna FreeBSD proporciona un sistema llamado
mailwrapper(8) que realiza precisamente esta tarea.
Cuando sendmail está funcionando
se debe localizar algo como lo siguiente dentro del fichero
/etc/mail/mailer.conf
:
Esto significa que cuando cualquiera de estos comandos
(por ejemplo sendmail
mísmamente)
se ejecutan el sistema ejecutará en su lugar una copia del
el sistema ejecuta en su lugar una copia del “
mailwrapper” denominada sendmail
que chequea el fichero mailer.conf
y ejecuta
/usr/libexec/sendmail/sendmail
.
Este sistema permite cambiar de una forma sencilla los binarios que
se ejecutan realmente cuando se invocan las funciones de
sendmail
.
Si se quiere que ejecutar
/usr/local/supermailer/bin/sendmail-compat
en lugar de sendmail se puede cambiar el
fichero /etc/mail/mailer.conf
para que contenga
lo siguiente:
Una vez que todo estáconfigurado a su gusto hay que matar los procesos de sendmail que ya no se necesitan y ejecutar los procesos pertenecientes al nuevo software de MTA, o utilizar la opción más sencilla: reiniciar la máquina. Reinicar la máquina nos brinda la oportunidad de comprobar que se ha configurado correctamente el arranque del sistema para que ejecute de forma automática el nuevo MTA.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.