Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Tutorial de Sendmail - Envíos locales

Tutorial de Sendmail - Envíos locales

 ***** (3 opiniones)
Creative Commons Tutorial de Diego Bravo Estrada - 27 de Octubre de 2005
Temas Relacionados: Servidores de correo
24. Envíos locales

Envíos locales


Sendmail normalmente determina si un mensajes es local cuando la dirección de destino contiene sólo un nombre de usuario (por ejemplo, "diego".) Asimismo, cuando la dirección de destino contiene un host que coincide con el "hostname" del servidor. Por ejemplo, en la dirección "diego@correo.caligula.net" el host especificado (lo que sigue a la @) es "correo.caligula.net"; si este coincide con el hostname del computador, entonces el mensaje debe ser considerado local.

Una excepción (extremadamente común) a lo último consiste en forzar que ciertas direcciones sean tratadas como locales. Para esto, el usuario generalmente configurará el archivo /etc/mail/local-host-names con los nombres de host considerados "locales" o "sinónimos" del host local. Por ejemplo, para que el mensaje con destino "diego@neron.org" sea también considerado local, habría que incluir en el archivo /etc/mail/local-host-names:

|| neron.org ||
Esto es muy importante, puesto que típicamente las organizaciones deciden utilizar una dirección de email terminada en "@dominio", donde "dominio" casi nunca coincide exactamente con el hostname del servidor. De no configurarse el archivo local-host-names, todos los mensajes que lleguen al servidor con esta dirección serían considerados no locales, y por tanto serían rechazados.

En otros sistemas el nombre del archivo de configuración local-host-names puede variar. Para averiguar o verificar esto, debemos consultar la documentación o en último caso el archivo "cf":

|| # grep "^Fw" /etc/mail/sendmail.cf Fw/etc/mail/local-host-names ||
En versiones anteriores de Sendmail, este archivo se denominaba /etc/sendmail.cw.

Si se dispone del archivo "M4" que dio origen al "cf", deberíamos buscar allí una línea tal como:

|| FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl ||
En algunos casos (no en RedHat), esta funcionalidad puede no estar definida y se debe activar.

Sin embargo, esta configuración también puede hacerse en el mismo archivo "cf" con el comando "class-macro-w" (clase w.) Por ejemplo, las siguientes líneas muestran que las direcciones terminadas en "@localhost" y "@localhost.localdomain" también son consideradas locales.

|| # grep "^Cw" /etc/mail/sendmail.cf Cwlocalhost.localdomain Cwlocalhost ||
En otras palabras, la "clase w" se puede considerar un "array" que contiene los nombres de las direcciones consideradas "locales". Esta clase se puede configurar en el archivo "cf" mediante el comando "C" (seguido por el nombre de la clase, o sea "Cw") o mediante un archivo externo (definido por el comando "F", en nuestro caso "Fw".)

Los envíos locales conllevan a que los mensajes sean almacenados en la "casilla de correo" del usuario destinatario. El usuario deberá extraer estos mensajes con su programa "cliente", posiblemente mediante los protocolos IMAP o POP como se verá después.

La casilla de correo (inbox) es simplemente un archivo cuyo nombre coincide con el del usuario y se ubica en el directorio /var/spool/mail (como siempre, esto puede variar en otros Unix.) Como veremos, Sendmail no escribe directamente en este archivo y por tanto no es parte de su configuración.

Definición del envío local


Como se indicó, el envío local conlleva a que el mensaje sea guardado en el archivo "inbox" o "casilla de correo". Sin embargo, Sendmail no realiza directamente este trabajo, sino que invoca a un programa auxiliar para esta tarea (aparentemente sencilla.)

Esto se configura en el archivo "cf" con la definición "Mlocal" (mailer local.) En el archivo "cf" de RedHat 8.0, esta sección luce así:

|| Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=procmail -t -Y -a $h -d $u ||
Las líneas que se inician con espacios o tabuladores se consideran la continuación de la anterior, por tanto, el extracto mostrado arriba debe considerarse una sola línea.

Como se aprecia, Sendmail utiliza un programa auxliar llamado /usr/bin/procmail para el delivery local. En muchos sistemas Unix el programa usado es /bin/mail. No profundizaremos más sobre esto por ahora, pero en general "procmail" es mucho más flexible y eficiente que las alternativas tradicionales.
Autor y licencia de 'Tutorial de Sendmail - Envíos locales'
Diego Bravo Estrada Extraído de: http://www.mononeurona.org/index.php?idp=392

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Tutorial de Sendmail - Envíos locales'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Bienvenidos al manual de HTML de Indaya. A través de todos estos capítulos vamos a... Más »
La red telefónica básica se creó para permitir las comunicaciones de voz a distancia. Esto... Más »
¿Estás seguro de que deseas eliminar este capítulo?