PDF de programación - tutorial de sendmail

Imágen de pdf tutorial de sendmail

tutorial de sendmailgráfica de visualizaciones

Actualizado el 24 de Febrero del 2020 (Publicado el 14 de Enero del 2017)
756 visualizaciones desde el 14 de Enero del 2017
62,3 KB
27 paginas
Creado hace 22a (14/10/2001)
Tutorial sendmail

Page1

TUTORIAL DE SENDMAIL

Este documento fue realizado en la UJI (Universidad Jaume I de Castellon) durante el
transcurso del curso universitario 97-98, en la asignatura Interconexion de Sistemas
Abiertos. Se permite la libre distribucion o copia de este documento. Si tienes cualquier duda,
critica o sugerencia, puedes contactar con el autor, que soy yo:

David Rubert Viana ([email protected])

1. Introducción

1.1 Función y características de sendmail
1.2 Situación y descripción de los programas y ficheros de soporte utilizados

por sendmail

2. Funciones de sendmail

2.1 Sendmail como agente de usuario
2.2 Sendmail como agente de transporte
2.3 La cola de correo
2.4 Los Alias en sendmail

2.4.1 El fichero /etc/aliases
2.4.2 El fichero .forward
2.4.3 Las listas de correo
2.5 Sendmail en modo traza
2.6 Parámetros más comunes de la línea de comandos en sendmail

3. El fichero de configuración de sendmail

3.1 Función y organización del fichero
3.2 Macros

3.2.1 Los nombres largos
3.2.2 Los condicionales
3.2.3 Las macros internas de sendmail

3.3 Clases

3.3.1 Clases internas más comunes
3.3.2 Ejemplo del uso conjunto de macros y clases

3.4 Opciones

34.1 Opciones más comunes
3.4.2 Modos de reparto
3.4.3 Timeouts

3.5 Precedencia de mail
3.6 Trusted Users
3.7 Formato de las cabeceras
3.8 Las reglas de reescritura

3.8.1 Los conjuntos de reglas de reescritura (Rewriting rule sets)
3.8.2 La parte izquierda y derecha de una regla (Left-hand-side &

Right-hand-side)

3.8.3 Los separadores de tokens
3.8.4 Como probar nuestras propias reglas de reescritura

http://lucas.hispalinux.es/Universitarios/tutorial-sendmail.html

20:33:40 02/10/01

Tutorial sendmail

Page2

3.8.5 Ejemplos de reglas de reescritura extraidas del fichero de

configuración de LINUX
3.9 Definición de mailers

3.9.1 Campos más comunes en la definición de mailers
3.9.2 Parámetros más comunes en la definición de mailers
3.9.3 Ejemplos de definición de mailers
3.9.4 La definición del mailers en el fichero de configuración de LINUX

4. Links interesantes

1. Introducción

Este tutorial intenta dar una visión global de sendmail v8.8.7 (Berkeley), programa de

distribución gratuita creado (y actualmente revisado) por Eric Allman. La versión actual es
la v8.8.8, aunque nosotros trataremos la anterior versión. Se intentará explicar claramente la
mayoría de sus funciones sin entrar muy a fondo en cada una de ellas, pero dando ejemplos
conprensivos. También veremos como podemos configurar sendmail para su
funcionamiento en un sistema específico.

1.1 Función y características de sendmail

Existe una gran variedad de programas de correo electrónico que proveen al usuario de
una aplicación para la creación y envío de mail. Estos programas son los llamados Agentes
de Usuario o MUA (Mail User Agent), y su propósito es el aislar al usuario de los Agentes de
Transporte o MTA (Mail Transport Agent), que son los encargados de transferir los mails a
su correcto destino.

Sendmail es el agente de transporte de correo más común de Internet (en los sistemas

UNIX). Aunque actua principalmente como MTA, también puede ser utilizado como MUA
(aunque no posee interfaz de usuario). Las misiónes básicas de sendmail son las siguientes:

Recogida de mails provinientes de un Mail User Agent (MUA) como pueden ser elm,
Eudora o pine; o provinientes de un Mail Transport Agent (MTA) como puede ser el
propio sendmail.

Elección de la estrategia de reparto de los mails, basándose en la información de la
dirección del destinatario contenida en la cabecera:

Si el mail es local en nuestro sistema, enviará el mail al programa de reparto local
de mails.

Si el mail no es local, sendmail utilizará el DNS de nuestro sistema para
determinar el host al que debe ser enviado el mail. Para transferir el mensaje,

http://lucas.hispalinux.es/Universitarios/tutorial-sendmail.html

20:33:40 02/10/01

Tutorial sendmail

Page3

iniciará una sesión SMTP con el MTA de dicho host.

Si no es posible mandar el mail a su destino (porque la maquina receptora esta
desconectada, o va muy lenta), sendmail almacenará los mails en una cola de
correo, y volverá a intentar el envío del mail un tiempo despues. Si el mail no
puede ser enviado tras un tiempo razonable, el mail será devuelto a su autor con
un mensaje de error. Sendmail debe garantizar que cada mensaje llegue
correctamente a su destino, o si hay error este debe ser notificado (ningún mail
debe perderse completamente).

Reformatear el mail antes de pasarlo a la siguiente máquina, según unas reglas de
reescritura. Según el tipo de conexión que poseamos con una determinada máquina, o
según el agente de transporte al que vaya dirigido el mail, necesitaremos cambiar los
formatos de las direcciones del remitente y del destinatario, algunas lineas de la
cabecera del mail, o incluso puede que necesitemos añadir alguna línea a la cabecera.
Sendmail debe realizar todas estas tareas para conseguir la máxima compatibilidad
entre usuarios distintos.

Otra funcion muy importante de sendmail es permitir el uso de "alias" entre los
usuarios del sistema; lo que nos permitirá (entre otras funciones) crear y mantener
listas de correo entre grupos.

Ejecución como agente de usuario (MUA). Aunque no posee interfaz de usuario,
sendmail tambien permite el envío directo de mails a través de su ejecutable.

Todas estas características y muchas otras que posee el sendmail deben ser configuradas

y variarán de unos sistemas a otros. Para configurarlas hacemos uso del fichero de
configuración de sendmail. La revisión y modificación de este fichero es bastante complicada
y necesita de una serie de conocimientos previos.

1.2 Situación y descripción de los programas y ficheros de soporte utilizados por
sendmail

1. /usr/sbin/sendmail ( /usr/lib/sendmail en algunos sistemas)

Ejecutable del sendmail.

2. /etc/sendmail.cf (/usr/lib/sendmail.cf)

Fichero de configuración de sendmail.

3. /etc/aliases

Fichero donde se almacenan los alias del sistema.

4. /usr/bin/newaliases

Reconstruye la base de datos de alias usada por sendmail, a partir del fichero aliases. Es

un enlace simbólico a sendmail en el modo - bi.

http://lucas.hispalinux.es/Universitarios/tutorial-sendmail.html

20:33:40 02/10/01

Tutorial sendmail

Page4

5. /var/spool/mqueue

Es el directorio donde se almacena la cola de correo.

6. /usr/bin/mailq

Saca por pantalla el contenido de la cola de correo. Es un enlace simbólico a sendmail en

el modo -bp.

2. Funciones de sendmail

2.1 Sendmail como agente de usuario

Como agente de usuario, sendmail lee por defecto de su entrada estandard hasta

encontrar un end-of-file (EOF) o una linea que contenga únicamente un punto ("."). En ese
momento manda una copia de ese mensaje a cada una las direcciones destino (que se le
habrán pasado previamente en la línea de comandos). Él mismo determinará la ruta a seguir
(consultando el DNS si fuera necesario), basándose en el contenido de la dirección
destinataria.

Sendmail determina cómo enrutar un mensaje (cuyo destino sea la dirección o direcciónes

que le habremos establecido), de acuerdo a la información que posee en su fichero de
configuración (por defecto /usr/lib/sendmail.cf).

Ejemplo 1:

Este comando manda un mail a "[email protected]", sin título y cuyo cuerpo contiene

únicamente "hola que tal".

$ sendmail [email protected]

hola que tal
..

$

Ejemplo 2:

Podemos tambien pasarle el cuerpo del mail mediante un fichero:

$ cat fichero | sendmail alonso@xyz

Ejemplo 3:

Podemos incluso pasarle los datos de la cabecera manualmente, mediante el parámetro -t:

$ sendmail -t alonso@xyz

From: [email protected]
Date: ....
.....

http://lucas.hispalinux.es/Universitarios/tutorial-sendmail.html

20:33:40 02/10/01

Tutorial sendmail

Page5

2.2 Sendmail como agente de transporte

La utilización de sendmail como demonio en el sistema nos permite enviar y recibir correo

SMTP. Para ello, sendmail se queda como proceso residente escuchando el puerto 25,
admitiendo y realizando conexiones SMTP cuando sea necesario (es decir, actua como un
Agente de Transporte de Correo (MTA)). Cuando reciba o una petición de conexión,
creará un proceso hijo que se encargará de ello, mientras el proceso padre seguirá
escuchando el puerto 25.
Solo puede ser ejecutado en este modo por el superusuario del sistema.

Para utilizar sendmail como demonio, debemos iniciarlo en el arranque del sistema en uno

de los scripts de inicio con los siguiente parámetros:

sendmail -bd -q15m

Con esta orden, sendmail actuará en modo background admitiendo conexiones por el

puerto 25. La opción -q15m le indica que actualice la cola de correo cada 15 minutos (este
parámetro puede variar).

El parámetro -bD es igual al -bg, pero actuando en foreground.

2.3 La cola de correo

Cuando el envío de un mail no puede alcanzar su destino porque nos rechazan la conexión

(normalmente debido a que la máquina destinataria esté apagada o sobrecargada), éste
debe ser almacenado en una cola de la máquina que manda el mail, para intertar de nuevo el
envío más tarde.

La cola de correo se encuentra en /var/spool/mqueue. En este directorio se crean unos

ficheros temporales para cada mail que se almacena. El formato de los ficheros en este
directorio es el siguiente:

- d f - - - - - - - - -

(ficheros donde se guardan los cuerpos de los mensajes, sin las

cabeceras).

- q f - - - - - - - - -

(ficheros donde se guardan la información necesaria para procesar

los trabajos).

- t f - - - - - - - - -

(ficheros temporales imagen de los ficheros qf cuando estos están

siendo reconstruidos).
- x f - - - - - - - - -

(fichero donde se almacena toda la información transmitida durante

la apertura y cierre de una sesión).

Para visualizar el contenido de la cola usamos el comando "mailq", que es un link simbólico

a el comando "sendmail -bp". Este producirá una lista con los identificadores de los
mensajes, su tamaño, la fecha en la que el mensaje entró
  • Links de descarga
http://lwp-l.com/pdf148

Comentarios de: tutorial de sendmail (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad