sendmail(8) es el agente de transporte de correo (MTA) por defecto de FreeBSD. La responsabilidad de sendmail consiste en aceptar correo de agentes de correo de usuario (MUA) y en entregar dichos correos al agente de transporte de correo apropiado, según se especifique en su archivo de configuración. Sendmail también acepta conexiones de red provinientes de otros agentes de transporte y puede depositar el correo recibido en carpetas locales o o entregarlo a otros programas.
sendmail utiliza los siguientes ficheros de configuración:
Filename | Function |
---|---|
/etc/mail/access | Base de datos de accesos de sendmail |
/etc/mail/aliases | Carpeta de alias |
/etc/mail/local-host-names | Listados de máquinas para las que sendmailacepta correo |
/etc/mail/mailer.conf | Configuración del programa de correo |
/etc/mail/mailertable | Tabla de entregas de correo |
/etc/mail/sendmail.cf | Archivo de configuración principal de sendmail |
/etc/mail/virtusertable | Usuarios virtuales y tablas de dominio |
La base de datos de accesos define qué máquinas o direcciones IP pueden
acceder al servidor de correo y quée clase de acceso tienen permitido. Las
máquinas se listan junto con las opciones OK
, REJECT
, RELAY
o simplemente junto con
un mensaje de error que se entrega a la rutina de gestión de excepciones de sendmail. Las máquinas que se listan junto con la
opción OK
, que es el valor por defecto, tienen permiso
para enviar correo a la máquina servidora siempre y cuando la dirección de
correo de destino sea la máquina servidora de correo. Las máquinas listadas
junto con la opción REJECT
tienen el acceso prohibido
a conexiones de correo electrónico con el servidor. Por último las
máquinas que poseen la etiqueta RELAY
para sus nombres
tienen permitido enviar correo para cualquier destino a través de la
máquina servidora de correo.
Ejemplo 27-1. Configuración de la base de datos de acceso de sendmail
cyberspammer.com 550 We don't accept mail from spammers FUENTE.DE.CORREO.INDISCRIMINADO@ 550 We don't accept mail from spammers otra.fuente.de.spam REJECT okay.cyberspammer.com OK 128.32 RELAY
En el ejemplo se pueden observar cinco entradas. Los generadores de correo que coinciden con la parte izquierda de la tabla se ven afectados por la parte acción especificada en la parte derecha. Los primeros dos ejemplos emiten un código de error para la rutina de excepciones de sendmail. El mensaje de error se transmite a la máquina remota cuando se recibe un correo que coincide con la parte izquierda de la tabla. La siguiente entrada rechaza correo de una determinada máquina de internet, otra.fuente.de.spam. La siguiente entrada acepta conexiones de correo de la máquina okay.cyberspammer.com, lo cual es más exacto que la línea de arriba de cyberspammer.com. Las coincidencias más completas tienen precedencia sobre las menos específicas. La última entrada permite actuar como “relay” o pasarela de correo electrónico para aquellas máquinas que posean una dirección IP que comience por 128.32. Éstas máquinas podrían enviar correo destinado a otros servidores de correo utilizando el nuestro.
Cuando se actualiza este fichero se debe ejecutar make dentro de /etc/mail/ para que se actualice la base de datos.
La base de datos de alias contiene una lista de directorios virtuales que son traducidas a otros usuarios, ficheros, programas o incluso otros alias. A continuación se muestran unos pocos ejemplos de la sintáxis que se puede utilizar dentro del fichero /etc/mail/aliases:
Ejemplo 27-2. Mail Aliases
root: usuariolocal ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
El formato del fichero es sencillo; el nombre de la carpeta de correo que aparece a la izquierda de los dos puntos se traduce al/los destinos de la derecha. El primer ejemplo simplemente traduce la carpeta root a la carpeta usuariolocal, la cual se examina de nuevo utilizando la misma base de datos de alias, y si no existe ninguna otra coincidencia el mensaje se entrega al usuario local usuariolocal. En el ejemplo siguiente se muestra una lista de correo. Todo correo que se envía a la carpeta ftp-bugs se traduce en un envío para tres carpetas locales diferentes: joe, eric y paul. Es importante señalar que también se pueden especificar carpetas remotas mediante la forma usuario@ejemplo.com. El siguiente ejemplo muestra la escritura del correo a un fichero, en este caso en /dev/null. El último ejemplo muestra el envió de correo a un programa; en este caso el mensaje de correo se escribe en la entrada estándar del programa /usr/local/bin/procmail utilizando una tubería (o “ pipe”) de UNIX®.
Cuando se actualiza este fichero se debe ejecutar make dentro de /etc/mail/ para actualizar la base de datos.
Este archivo es una lista de nombres de máquinas que sendmail(8) acepta como nombres locales. Se suele utilizar para escribir aquellos dominios o máquinas de los cuales sendmail va a recibir correo. Por ejemplo, si nuestro servidor de correo va a aceptar correo proveniente del dominio ejemplo.com y también de la máquina mail.ejemplo.com nuestro local-host-names debería ser algo así:
ejemplo.com mail.ejemplo.com
Cuando se actualiza este fichero sendmail(8) necesita ser reiniciado para que tenga en cuenta los cambios.
Archivo de configuración principal de sendmail, controla el comportamiento global de sendmail, incluyendo cualquier tarea desde la reescritura de direcciones de correo electrónico hasta la devolución de mensajes de error a los servidores de correo remotos. Es evidente que con un abanico tan diverso el fichero de configuración acaba por ser bastante complejo y sus detalles quedan fuera de los objetivos de esta sección. Afortunadamente este fichero raras veces necesita ser modificado, al menos en lo que respecta a servidores de correo estándar.
El fichero de configuración principal de sendmail se puede construir a partir de m4(1), es decir, macros que se utilizan para definir características y comportamientos específicos de sendmail. Se ruega al lector consultar /usr/src/contrib/sendmail/cf/README para obtener más detalles acerca de las distintas macros que se pueden utilizar.
Cuando se realizan cambios a este fichero sendmail debe ser reiniciado para que los cambios surtan efecto.
El fichero virtusertable asocia direcciones de correo pertenecientes a dominios y carpetas virtuales con carpetas reales. Estas carpetas pueden ser locales, remotas, alias definidos en /etc/mail/aliases o incluso ficheros.
Ejemplo 27-3. Ejemplo de asociación de correo de dominio virtual
root@ejemplo.com root postmaster@ejemplo.com postmaster@noc.ejemplo.net @ejemplo.com joe
En el ejemplo superior se observa una asociación para el dominio ejemplo.com. Este fichero se procesa de arriba a abajo buscando la primera coincidencia. La primera entrada asocia root@ejemplo.com con la carpeta de correo local denominada root. La siguiente entrada asocia postmaster@ejemplo.com con la carpeta postmaster situada en la máquina noc.ejemplo.net. Por último, si no se ha encontrado ninguna coincidencia para ejemplo.com se le asigna la última asociación, la cual asocia cualquier mensaje de correo proveniente de ejemplo.com con la carpeta de correo local denominada joe.
Anterior | Inicio | Siguiente |
Utilización del correo electrónico | Subir | Sustitución del Agente de Transferencia de Correo |
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>.