Configuración de sendmail
Esta es una recopilación de lo que está publicado en:
https://www.freebsd.org/doc/es/books/handbook/sendmail.html
Lo dejó aquí por si desaparece la página origianal.
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.
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
:
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.
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
.
No hay comentarios:
Publicar un comentario