Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Este documento es continuación de Configuración básica de Sendmail (Parte I).
Sendmail incluye soporte para realizar en re-encaminamiento de dominios de correo a través del parámetro FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db') que debe estar habilitado de modo predefinido en el fichero /etc/mail/sendmail.mc. Esta función permite a Sendmail realizar traducción de dominios, especificar un agente de entrega y cambiar el encaminamiento establecido en un DNS.
Cuando se tiene un dominio de correo electrónico que recibe mucho tráfico, es conveniente establecer redundancia en el servicio para garantizar que el correo siempre será recibido y llegará a los buzones de correo hacia los que está destinado.
Se requieren dos servidores de correo. Uno deberá estar registrado en la zona del dominio en el DNS como servidor de correo primario (mail.dominio.com) y otro deberá estar registrado en la zona del dominio en el DNS como servidor de correo secundario (mail2.dominio.com) a fin de contar con redundancia.
| 1. | Defina en la zona de DNS de dominio.com un servidor de correo primario (mail.dominio.com) y un servidor de correo secundario (mail2.dominio.com) | ||
| 2. | Configure normalmente el servidor de correo primario (mail.dominio.com) para administrar el correo de dominio.com. | ||
| 3. | Configure el servidor de correo secundario (mail2.dominio.com) del mismo modo, pero no añada dominio.com en el fichero /etc/mail/local-host-names ya que de otro modo el correo será tratado como local y jamas podrá ser entregado en el servidor de correo primario. | ||
| 4. | Debe de estar listado dominio.com en el fichero /etc/mail/relay-domains en el servidor de correo secundario (mail2.dominio.com) a fin de permitir la retransmisión de éste hacia el servidor de correo primario (mail.dominio.com). | ||
| 5. | En el servidor de correo secundario (mail2.dominio.com) modifique el fichero /etc/mail/mailertable y defina que dominio.com será
entregado en el servidor de correo primario utilizando el nombre plenamente resuelto en la zona del DNS.
Si lo desea, puede especificar la dirección IP en lugar del nombre:
|
||
| 6. | Reinicie Sendmail
|
||
| 7. | En adelante el correo de dominio.com será entregado normalmente y de primera instancia en el servidor de correo primario (mail.dominio.com), pero cuando éste, por alguna razón, se vea imposibilitado para recibir conexiones, el servidor de correo secundario (mail2.dominio.com) definido en la zona de DNS recibirá todo el correo de dominio.com y lo entregará en el servidor de correo primario (mail.dominio.com) cuando éste re-establezca operaciones normalmente. |
Sendmail puede servir de intermediario de correo electrónico ya sea para filtrado de correo con un antivirus, equipamiento lógico para filtrado de correo chatarra o bien como intermediario entre una red pública y un servidor en red local. Se requieren dos servidores de correo. Uno que será el servidor de correo intermediario (proxy.dominio.com), que de forma obligatoria deberá estar definido en la zona de DNS del dominio como servidor de correo primario (un registro MX), y otro que servirá como servidor de correo de destino (mail.dominio.com).
| 1. | El servidor de correo que funcionará como intermediario (proxy.dominio.com) se configura normalmente, pero no añada dominio.com en el fichero /etc/mail/local-host-names ya que de otro modo el correo será tratado como local y jamas podrá ser entregado en el servidor de correo de destino (mail.dominio.com). | |
| 2. | Debe de estar listado dominio.com en el fichero /etc/mail/relay-domains en el servidor de correo intermediario (proxy.dominio.com) a fin de permitir la retransmisión de éste hacia el servidor de correo primario (mail.dominio.com). | |
| 3. | La dirección P del servidor de destino (mail.dominio.com) debe estar listada en el fichero /etc/mail/access con RELAY (retransmisión autorizada) del servidor de correo intermediario (proxy.dominio.com). | |
| 4. | La dirección P del servidor de intermediario (proxy.dominio.com) debe estar listada en el fichero /etc/mail/access con RELAY (retransmisión autorizada) del servidor de correo de destino (mail.dominio.com). | |
| 5. | En el servidor de correo intermediario (proxy.dominio.com) modifique el fichero /etc/mail/mailertable y defina que dominio.com será entregado en el servidor de correo de destino (mail.dominio.com) utilizando el nombre FQDN (Fully Qualified Domain Name) y plenamente resuelto.
|
|
| 6. | Si lo desea, puede especificar la dirección IP en lugar del nombre:
|
|
| 7. | En el servidor de correo de destino (mail.dominio.com), des-comente y defina proxy.dominio.com como valor para el parámetro define(`SMART_HOST',`smtp.your.provider'), de modo que proxy.dominio.com sea el servidor de retransmisión (smart host:
|
|
| 8. | Reinicie Sendmail en ambos servidores de correo.
|
Desde una terminal, ejecute el programa telnet dirigido hacia el puerto 25 de la dirección IP principal del sistema:
$ telnet 192.168.0.254 25 |
Si Sendmail está funcionando correctamente, se establecerá una conexión exitosa y deberá devolver una salida similar a la siguiente:
Trying 192.168.1.254...
|
Ejecute el mandato HELO seguido de el nombre del anfitrión:
HELO nombre.dominio |
Obtendrá una salida similar a esta:
250 nombre.dominio Hello nombre.dominio [192.168.1.254], pleased to meet you
|
Ejecute el mandato EHLO seguido del nombre del anfitrión:
EHLO nombre.dominio |
Obtendrá una salida similar a esta y que mostrará las funciones del servidor:
250-nombre.dominio Hello nombre.dominio [192.168.1.254], pleased to meet you
|
Ejecute el mandato QUIT para cerrar la conexión.
QUIT |
El servidor deberá contestar lo siguiente al terminar la conexión:
221 2.0.0 nombre.dominio closing connection Connection closed by foreign host. |
La salida completa de todo el procedimiento anterior debe lucir similar a esto (mandatos utilizados resaltados en negrita):
[fulano@nombre ~]$ telnet 192.168.1.254 25
|
Utilizar el mandato telnet permite conocer y examinar como funciona realmente la interacción entre un servidor de correo y un cliente de correo.
Abra una sesión con telnet dirigido hacia el puerto 25 de la dirección IP principal del sistema.
telnet 192.168.1.254 25 |
Salude al sistema con el mandato HELO seguido del nombre del anfitrión.
HELO nombre.dominio |
El servidor de correo deberá contestarle:
250 nombre.dominio Hello nombre.dominio [192.168.1.254], pleased to meet you
|
Ejecute el mandato MAIL FROM especificando la cuenta de correo de un usuario local de sus sistema del siguiente modo:
MAIL FROM: <fulano@nombre.dominio> |
El servidor de correo deberá contestarle lo siguiente, a menos que especifique una cuenta de correo con un dominio distinto a los especificados en el fichero /etc/mail/relay-domains:
250 2.1.0 <fulano@nombre.dominio>... Sender ok
|
Ejecute el mandato RCPT TO especificando una cuenta de correo existente en el servidor del siguiente modo:
RCPT TO: <root@nombre.dominio> |
El servidor de correo deberá contestarle lo siguiente:
250 2.1.5 <root@nombre.dominio>... Recipient ok |
Ejecute el mandato DATA:
DATA |
El servidor de correo deberá contestarle lo siguiente:
354 Enter mail, end with "." on a line by itself |
Enseguida se ingresa el texto que desee incluir en le mensaje de correo electrónico. Al terminar finalice con un punto en una nueva línea.
Hola, este es un mensaje de prueba. . |
El sistema deberá contestarle algo similar a lo siguiente:
250 2.0.0 k263wEKK006209 Message accepted for delivery |
Ejecute el mandato QUIT:
QUIT |
El servidor deberá contestar lo siguiente al terminar la conexión:
221 2.0.0 nombre.dominio closing connection Connection closed by foreign host. |
La salida completa de todo el procedimiento anterior debe lucir similar a esto (mandatos utilizados resaltados en negrita):
[fulano@nombre ~]$ telnet 192.168.1.254 25
|
Mutt, término utilizado en la lengua inglesa para referirse a perros mestizos, es un cliente de correo electrónico (MUA o Mail User Agent) para modo texto. Incluye soporte para color, hilos, MIME, PGP/GPG, protocolos POP3, IMAP y NNTP, y para los formatos de correo Maildir y mbox.
Basta ejecutar mutt y pulsar las teclas indicadas la interfaz de texto para realizar diversas tareas. Para enviar un mensaje de correo electrónico siga este procedimiento:
| 1. | Como usuario sin privilegios, ejecute mutt. |
| 2. | Responda con la tecla «s» para confirmar que se creará ~/Mail. |
| 3. | Una vez iniciada la interfaz de texto de mutt, pulse la tecla «m» para crear un nuevo mensaje. |
| 4. | En la parte inferior de la pantalla aparece un diálogo para el destinatario (To: ). Ingrese una cuenta de correo electrónico válida o alguna que exista al menos en el dominio de la Red Local (LAN). |
| 5. | En la parte inferior de la pantalla aparece un diálogo para ingresar el asunto del mensaje (Subject: ). Ingrese un título para el mensaje. |
| 6. | Enseguida mutt iniciará vi para crear el texto que se enviará en el mensaje. Inicie el modo de insertar texto (i) de vi e ingrese algunas palabras. Al terminar, guarde y salga de vi (:wq). |
| 7. | Tras terminar con el editor de texto simple vi, mutt presentará una vista previa del mensaje. Confirme que los datos son los correctos y pulse la tecla «y» para enviar el mensaje. Si necesita cambiar alguno de éstos, pulse «t» para cambiar el destinatario o «s» para cambiar el campo de asunto del mensaje. |
| 8. | Mutt le devolverá a la pantalla principal. Si recibe un mensaje de respuesta, seleccione éste y pulse la tecla ENTER para visualizar el contenido. |
| 9. | Si desea responder el mensaje, pulse la tecla «r» y repita los procedimientos del paso 4 al 7. |
Si lo desea, también puede utilizar mutt desde la linea de mandatos.
echo -e \
"Hola, soy ${USER} en ${HOSTNAME}.\n\
Por favor responde este mensaje.\n\nSaludos." \
| mutt \
-s "Mensaje enviado desde ${HOSTNAME}" \
fulano@maquina.dominio
|
Lo anterior envía un mensaje de correo electrónico hacia la cuenta fulano@maquina.dominio, con el asunto «Mensaje enviado desde nombre.dominio» con el siguiente contenido como texto del mensaje:
Hola, soy usuario en nombre.dominio Por favor responde este mensaje. Saludos. |
http://www.ietf.org/rfc/rfc2222.txt
http://www.ietf.org/rfc/rfc821.txt
http://www.ietf.org/rfc/rfc2821.txt
http://www.ietf.org/rfc/rfc1939.txt
http://www.ietf.org/rfc/rfc3501.txt
Este documento es continuación de Configuración básica de Sendmail (Parte I).
Alcance Libre
http://www.alcancelibre.org/staticpages/index.php/15-como-sendmail-apendice-02