11 junio, 2024

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.

27.3. Configuración de sendmail
Anterior  Capítulo 27. Correo Electrónico  Siguiente

27.3. Configuración de sendmail

Contribuido por Christopher Shumway.

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

27.3.1. /etc/mail/access

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.

27.3.2. /etc/mail/aliases

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.

27.3.3. /etc/mail/local-host-names

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.

27.3.4. /etc/mail/sendmail.cf

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.

27.3.5. /etc/mail/virtusertable

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *