aboutsummaryrefslogtreecommitdiff
path: root/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'es_ES.ISO8859-1/books/handbook/mail/chapter.sgml')
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/mail/chapter.sgml2574
1 files changed, 0 insertions, 2574 deletions
diff --git a/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml b/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml
deleted file mode 100755
index 81a33b8219..0000000000
--- a/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml
+++ /dev/null
@@ -1,2574 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
-<!--
- The FreeBSD Documentation Project
-
- The FreeBSD Spanish Documentation Project
- %SOURCE% en_US.ISO8859-1/books/handbook/mail/chapter.sgml
- %SRCID% 0.0
-
- $FreeBSD$
- $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml,v 1.2 2004/07/29 15:31:44 carvay Exp $
--->
-
-<chapter id="mail">
- <chapterinfo>
- <authorgroup>
- <author>
- <firstname>Bill</firstname>
- <surname>Lloyd</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Jim</firstname>
- <surname>Mock</surname>
- <contrib>Reescrito por </contrib>
- </author>
- </authorgroup>
- </chapterinfo>
-
- <title>Correo Electrónico</title>
-
- <sect1 id="mail-synopsis">
- <title>Sinopsis</title>
- <indexterm><primary>email</primary></indexterm>
- <indexterm><primary>correo electónico</primary></indexterm>
-
- <para>El <quote>Correo Electrónico</quote>, o <quote>email</quote>,
- es una de las formas de comunicación más usadas hoy en
- dia.
- Este capítulo es una introducción básica de
- cómo poner en marcha un servidor de correo en FreeBSD, aunque
- no es una guía completa y se han omitido muchos conceptos
- importantes. Si se necesita información exhaustiva sobre el
- tema puede recurrirse a los libros listados en <xref
- linkend="bibliography"/>.</para>
-
- <para>Después de leer este capítulo usted sabrá:</para>
-
- <itemizedlist>
- <listitem>
- <para>Qué software está involucrado en el envío y
- recepción de correo electrónico.</para>
- </listitem>
-
- <listitem>
- <para>Dónde se encuentran en FreeBSD los ficheros
- básicos de configuración de
- <application>sendmail</application>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo bloquear a los <quote>spammers</quote> y evitar
- el uso no autorizado de su servidor de correo.</para>
- </listitem>
-
- <listitem>
- <para>Cómo instalar y configurar agentes de transferencia de
- correo (MTA) en su sistema, para reemplazar
- <application>sendmail</application>.</para>
- </listitem>
-
- <listitem>
- <para>Cómo resolver problemas comunes en servidores de
- correo.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar SMTP con UUCP.</para>
- </listitem>
-
- <listitem>
- <para>Cómo usar correo con una conexión dialup.</para>
- </listitem>
-
- <listitem>
- <para>Cómo configurar SMTP con autentificación para
- más seguridad.</para>
- </listitem>
- </itemizedlist>
-
- <para>Antes de leer este capítulo debería usted:</para>
-
- <itemizedlist>
- <listitem>
- <para>Configurar apropiadamente su conexión de red
- (<xref linkend="advanced-networking"/>).</para>
- </listitem>
-
- <listitem>
- <para>Configurar apropiadamente la información de DNS de su
- servidor de correo (<xref linkend="advanced-networking"/>).</para>
- </listitem>
-
- <listitem>
- <para>Saber como instalar software adicional (<xref linkend="ports"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="mail-using">
- <title>Utilización del correo electrónico</title>
- <indexterm><primary>POP</primary></indexterm>
- <indexterm><primary>IMAP</primary></indexterm>
- <indexterm><primary>DNS</primary></indexterm>
-
- <para>Existen varios elementos relacionados con el intercambio de correo
- electrónico. A saber:
- <link linkend="mail-mua">El agente de usuario (Mail User Agent o
- MUA)</link>,
- <link linkend="mail-mta">El agente de transporte de correo (Mail
- Transport Agent o MTA)</link>,
- <link linkend="mail-dns">El DNS</link>,
- <link linkend="mail-receive">Las carpetas de correo (Mailboxes)</link>,
- y por supuesto,
- <link linkend="mail-host">la máquina servidora de correo (mail
- host)</link>.</para>
-
- <sect2 id="mail-mua">
- <title>El Agente de Usuario</title>
-
- <para>Entre las opciones más conocidas tenemos:
- <application>mutt</application>,
- <application>pine</application>, <application>elm</application>,
- y <command>mail</command>, junto con programas con interfaz
- gráfica del estilo de <application>balsa</application> o
- <application>xfmail</application> por nombrar unos pocos.
- También existen lectores de correo basados en navegadores web.
- Los programas de correo basados en navegadores web
- actúan de pasarela para las transacciones de correo
- electrónico, entregando dichas transacciones al
- <link linkend="mail-host"><quote>servidor de correo</quote></link>
- local, llamando a uno de los <link linkend="mail-mta">agentes
- de transporte de correo</link> disponibles en la máquina local,
- o entregando dichas transacciones a un agente de transporte
- remoto utilizando el protocolo <acronym>TCP</acronym>.</para>
- </sect2>
-
- <sect2 id="mail-mta">
- <title>Agente de Transporte de Correo</title>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>sendmail</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>postfix</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>qmail</application></secondary>
- </indexterm>
- <indexterm>
- <primary>transporte</primary>
- <secondary><application>exim</application></secondary>
- </indexterm>
-
- <para>&os; viene con <application>sendmail</application> por defecto,
- pero también se soportan otros d&aelig;mones, entre los cuales
- se encuentran:</para>
- <itemizedlist>
- <listitem>
- <para><application>exim</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>postfix</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>qmail</application>.</para>
- </listitem>
- </itemizedlist>
-
- <para>El agente de transporte de correo normalmente posee dos
- funcionalidades, por un lado se responsabiliza de la recepción
- y por otro se encarga de entregar el correo de salida.
- <emphasis>No</emphasis> es responsable de la recolección
- automática de correo mediante la utilización de
- protocolos como <acronym>POP</acronym> o <acronym>IMAP</acronym>,
- ni se utiliza para que el usuario pueda acceder a las
- carpetas de correo locales. Para realizar estas otras tareas,
- se necesitan <link linkend="mail-receive">d&aelig;mons</link>
- adicionales.</para>
-
- <warning>
- <para> Versiones antiguas de <application>sendmail</application>
- poseen varios problemas de seguridad que pueden facilitar a un
- atacante el acceso local o remoto a la máquina
- que ejecuta <application>sendmail</application>.
- Para evitar dichos problemas de seguridad se recomienda
- utilizar una versión actualizada de <application>
- sendmail</application>.
- Tiene más opciones a la hora de elegir <acronym>
- MTA</acronym> en los <link linkend="ports">Ports de
- &os;</link>.</para>
- </warning>
- </sect2>
-
- <sect2 id="mail-dns">
- <title>Correo electrónico y DNS</title>
-
- <para>El Sistema de Nombres de Dominio (en inglés DNS) y su
- correspondiente d&aelig;mon (llamado <command>named</command>)
- constituyen una parte fundamental del procedimiento
- de entrega de correo electrónico. Para entregar el correo
- electrónico al destinatario adecuado el d&aelig;mon
- servidor de correo busca el sitio remoto dentro del sistema de
- DNS.</para>
- <indexterm>
- <primary>registro MX</primary>
- </indexterm>
-
- <para>El <acronym>DNS</acronym> es la entidad responsable de asociar
- nombres con direcciones IP, pero además se encarga de
- almacenar información específica relacionada con la
- entrega de correo mediante registros de tipo MX. Los registros MX
- (Mail eXchanger) especifican qué máquina o
- máquinas están encargadas de recibir correo
- electrónico para un determinado nombre de dominio. En caso
- de no existir ningún registro MX para el dominio del
- destinatario, se busca información almacenada
- en registros de tipo A para enviar el correo al destino final.</para>
-
- <para>Se pueden consultar los registros MX para cualquier dominio
- utilizando el comando &man.host.1;, como se puede observar en el
- siguiente ejemplo:</para>
-
- <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
- FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
- </sect2>
-
- <sect2 id="mail-receive">
- <title>Recepción de correo</title>
- <indexterm>
- <primary>correo</primary>
- <secondary>recepción</secondary>
- </indexterm>
-
- <para>La recepción de correo electrónico para su dominio
- se realiza mediante lo que se conoce como la máquina de
- correo (mail host). Ésta máquina recoge todo el correo
- dirigido a su dominio y lo almacena en <filename>mbox</filename>
- (el método por defecto para el almacenamiento de correo) o en
- formato Maildir, dependiendo de la configuración de la
- máquina. Una vez que el correo ha sido almacenado
- con éxito se puede leer en local utilizando aplicaciones como
- &man.mail.1; o como <application>mutt</application>, o de forma remota
- mediante un conjunto de protocolos tales como
- <acronym>POP</acronym> o <acronym>IMAP</acronym>. Esto significa que
- si usted va a leer el correo de forma local no necesita instalar
- ningún servidor de <acronym>POP</acronym> o
- <acronym>IMAP</acronym>.</para>
-
- <sect3 id="pop-and-imap">
- <title>Acceso a carpetas de correo remotas mediante
- <acronym>POP</acronym> e <acronym>IMAP</acronym></title>
-
- <indexterm><primary>POP</primary></indexterm>
- <indexterm><primary>IMAP</primary></indexterm>
- <para>Para poder acceder a carpetas de correo de forma remota se
- necesita tener acceso a un servidor de <acronym>POP</acronym> o
- <acronym>IMAP</acronym>. Éstos protocolos permiten a los
- usuarios conectarse a sus carpetas de correo desde ubicaciones
- remotas de una forma sencilla. Aunque ambos, <acronym>POP</acronym>
- y <acronym>IMAP</acronym>, permiten este acceso remoto
- <acronym>IMAP</acronym> ofrece algunas ventajas añadidas,
- algunas de las cuales son:</para>
-
- <itemizedlist>
- <listitem>
- <para>El acceso mediante <acronym>IMAP</acronym> permite almacenar
- los correos en el servidor remoto sin necesidad de extraerlos
- y tener que almacenarlos en local.</para>
- </listitem>
-
- <listitem>
- <para><acronym>IMAP</acronym> soporta actualizaciones concurrentes.</para>
- </listitem>
-
- <listitem>
- <para><acronym>IMAP</acronym> resulta ser extremadamente
- útil bajo enlaces de baja velocidad puesto que permite
- a los usuarios recuperar la estructura de los mensajes sin
- necesidad de bajarse todo el contenido. Además puede
- realizar tareas tales como búsquedas directas en el
- servidor con el fin de minimizar la utilización
- de la red.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Para instalar un servidor de <acronym>POP</acronym> o de
- <acronym>IMAP</acronym> se deben dar los siguientes pasos:</para>
-
- <procedure>
- <step>
- <para>Seleccionar el servidor <acronym>IMAP</acronym> o
- <acronym>POP</acronym> que mejor cumpla a sus necesidades.
- Los siguientes servidores <acronym>POP</acronym> e
- <acronym>IMAP</acronym> son bien conocidos y son firmes
- candidatos para ello:</para>
-
- <itemizedlist>
- <listitem>
- <para><application>qpopper</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>teapop</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>imap-uw</application>;</para>
- </listitem>
-
- <listitem>
- <para><application>courier-imap</application>;</para>
- </listitem>
- </itemizedlist>
-
- </step>
-
- <step>
- <para>Instalar el d&aelig;mon <acronym>POP</acronym> o
- <acronym>IMAP</acronym> de su elección desde
- el árbol de <quote>ports</quote>.</para>
- </step>
-
- <step>
- <para>Modifique donde sea necesario <filename>
- /etc/inetd.conf</filename> para que el servidor
- <acronym>POP</acronym> o <acronym>IMAP</acronym>
- se ejecute automáticamente.</para>
- </step>
- </procedure>
-
- <warning>
- <para> Tenga en cuenta que tanto <acronym>POP</acronym>
- como <acronym>IMAP</acronym> transmiten información,
- en especial el usuario y la contraseña, en texto plano.
- Eso significa que si se desea seguridad en la transmisión
- de la información a través de la red se deben
- considerar mecanismos adicionales como por ejemplo el
- encapsulado de la sesión mediante &man.ssh.1;.
- El encapsulado de sesiones se explica en
- <xref linkend="security-ssh-tunneling"/>.</para>
- </warning>
- </sect3>
-
- <sect3 id="local">
- <title>Acceso a carpetas de correo locales</title>
-
- <para>Las carpetas de correo pueden abrirse de forma local utilizando
- un agente de correo de usuario <acronym>(MUA)</acronym>
- en el servidor donde reside la carpeta. Se suelen usar los
- programas <application>mutt</application> or &man.mail.1;.</para>
- </sect3>
- </sect2>
-
- <sect2 id="mail-host">
- <title>El Servidor de Correo (Mail Host)</title>
- <indexterm><primary>servidor de correo</primary></indexterm>
-
- <para>El servidor de correo es el nombre que se usa para identificar a
- la máquina responsable de la entrega y
- recepción de correo electrónico dentro de una
- organización. Ésta máquina puede recibir correo
- de varios usuarios dentro de su dominio.</para>
- </sect2>
- </sect1>
-
- <sect1 id="sendmail">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Christopher</firstname>
- <surname>Shumway</surname>
- <contrib>Contribuido por </contrib>
- </author>
- </authorgroup>
- </sect1info>
- <title>Configuración de <application>sendmail</application></title>
-
- <indexterm>
- <primary><application>sendmail</application></primary>
- </indexterm>
-
- <para>&man.sendmail.8; es el agente de transporte de correo (MTA) por
- defecto de FreeBSD.
- La responsabilidad de <application>sendmail</application> consiste en
- aceptar correo de agentes de correo de usuario (<acronym>MUA</acronym>)
- y en entregar dichos correos al agente de transporte de correo
- apropiado, según se especifique en su archivo de
- configuración. <application>Sendmail</application>
- 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.</para>
-
- <para><application>sendmail</application> utiliza los siguientes ficheros
- de configuración:</para>
-
- <indexterm>
- <primary><filename>/etc/mail/access</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/aliases</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/local-host-names</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/mailer.conf</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/mailertable</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/sendmail.cf</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/etc/mail/virtusertable</filename></primary>
- </indexterm>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Filename</entry>
- <entry>Function</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <filename>/etc/mail/access</filename>
- </entry>
- <entry>Base de datos de accesos de <application>sendmail</application></entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/aliases</filename>
- </entry>
- <entry>Carpeta de alias</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/local-host-names</filename>
- </entry>
- <entry>Listados de máquinas para las que
- <application>sendmail</application>acepta correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/mailer.conf</filename>
- </entry>
- <entry>Configuración del programa de correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/mailertable</filename>
- </entry>
- <entry>Tabla de entregas de correo</entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/sendmail.cf</filename>
- </entry>
- <entry>Archivo de configuración principal de
- <application>sendmail</application></entry>
- </row>
- <row>
- <entry>
- <filename>/etc/mail/virtusertable</filename>
- </entry>
- <entry>Usuarios virtuales y tablas de dominio</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2>
- <title><filename>/etc/mail/access</filename></title>
-
- <para>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 <option>OK</option>, <option>REJECT</option>,
- <option>RELAY</option> o simplemente junto con un mensaje de error
- que se entrega a la rutina de gestión de excepciones de
- <application>sendmail</application>.
- Las máquinas que se listan junto con la opción
- <option>OK</option>, 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
- <option>REJECT</option> tienen el acceso prohibido a
- conexiones de correo electrónico con el servidor. Por
- último las máquinas que poseen la etiqueta
- <option>RELAY</option> para sus nombres tienen permitido enviar correo
- para cualquier destino a través de la máquina
- servidora de correo.</para>
-
- <example>
- <title>Configuración de la base de datos de acceso de <application>sendmail</application>
- </title>
-
- <programlisting>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</programlisting>
- </example>
-
- <para>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 <application>sendmail</application>.
- 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, <hostid>otra.fuente.de.spam</hostid>.
- La siguiente entrada acepta conexiones de correo de la máquina
- <hostid role="fqdn">okay.cyberspammer.com</hostid>, lo cual es
- más exacto que la línea de arriba de
- <hostid role="domainname">cyberspammer.com</hostid>. Las coincidencias
- más completas tienen precedencia sobre las menos
- específicas. La última entrada permite actuar como
- <quote>relay</quote> o pasarela de correo electrónico para aquellas
- máquinas que posean una dirección IP que comience por
- <hostid>128.32</hostid>. Éstas máquinas podrían
- enviar correo destinado a otros servidores de correo utilizando el
- nuestro.</para>
-
- <para>Cuando se actualiza este fichero se debe ejecutar
- <command>make</command> dentro de <filename>/etc/mail/</filename>
- para que se actualice la base de datos.</para>
-
- </sect2>
- <sect2>
- <title><filename>/etc/mail/aliases</filename></title>
-
- <para>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 <filename>/etc/mail/aliases</filename>:</para>
-
- <example>
- <title>Mail Aliases</title>
- <programlisting>root: usuariolocal
-ftp-bugs: joe,eric,paul
-bit.bucket: /dev/null
-procmail: "|/usr/local/bin/procmail"</programlisting>
- </example>
-
- <para>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
- <username>root</username>
- a la carpeta <username>usuariolocal</username>, 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 <username>usuariolocal</username>.
- En el ejemplo siguiente se muestra una lista de correo.
- Todo correo que se envía a la carpeta <username>ftp-bugs</username> se traduce en un envío para
- tres carpetas locales diferentes: <username>joe</username>,
- <username>eric</username> y <username>paul</username>.
- Es importante señalar que
- también se pueden especificar carpetas remotas mediante la forma
- <literal>usuario@ejemplo.com</literal>. El siguiente ejemplo muestra
- la escritura del correo a un fichero, en este caso en <filename>
- /dev/null</filename>. 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
- <filename>/usr/local/bin/procmail</filename> utilizando una
- tubería (o <quote> pipe</quote>) de &unix;.</para>
-
- <para>Cuando se actualiza este fichero se debe ejecutar
- <command>make</command> dentro de <filename>/etc/mail/</filename>
- para actualizar la base de datos.</para>
- </sect2>
- <sect2>
- <title><filename>/etc/mail/local-host-names</filename></title>
-
- <para>Este archivo es una lista de nombres de máquinas que
- &man.sendmail.8; acepta como nombres locales.
- Se suele utilizar para escribir aquellos dominios o máquinas
- de los cuales <application>sendmail</application> va a recibir correo.
- Por ejemplo, si nuestro servidor de correo
- va a aceptar correo proveniente del dominio <hostid
- role="domainname">ejemplo.com</hostid> y también de la
- máquina <hostid role="fqdn">mail.ejemplo.com</hostid> nuestro
- <filename>local-host-names</filename>
- debería ser algo así:</para>
-
- <programlisting>ejemplo.com
-mail.ejemplo.com</programlisting>
-
- <para>Cuando se actualiza este fichero &man.sendmail.8; necesita ser
- reiniciado para que tenga en cuenta los cambios.</para>
-
- </sect2>
-
- <sect2>
- <title><filename>/etc/mail/sendmail.cf</filename></title>
-
- <para>Archivo de configuración principal de <application>
- sendmail</application>, controla el comportamiento global de
- <application>sendmail</application>, 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.
- </para>
-
- <para>El fichero de configuración principal de <application>
- sendmail</application> se puede construir a partir de
- &man.m4.1;, es decir, macros que se utilizan para definir
- características y comportamientos específicos
- de <application>sendmail</application>. Se ruega al lector consultar
- <filename>/usr/src/contrib/sendmail/cf/README</filename> para obtener
- más detalles acerca de las distintas macros que
- se pueden utilizar.</para>
-
- <para>Cuando se realizan cambios a este fichero
- <application>sendmail</application> debe ser reiniciado para que los
- cambios surtan efecto.</para>
-
- </sect2>
- <sect2>
- <title><filename>/etc/mail/virtusertable</filename></title>
-
- <para>El fichero <filename>virtusertable</filename> asocia direcciones de
- correo pertenecientes a dominios y carpetas virtuales con carpetas
- reales. Estas carpetas pueden ser locales, remotas, alias
- definidos en <filename>/etc/mail/aliases</filename> o incluso ficheros.</para>
-
- <example>
- <title>Ejemplo de asociación de correo de dominio virtual</title>
-
- <programlisting>root@ejemplo.com root
-postmaster@ejemplo.com postmaster@noc.ejemplo.net
-@ejemplo.com joe</programlisting>
- </example>
-
- <para>En el ejemplo superior se observa una asociación para el
- dominio <hostid role="domainname">ejemplo.com</hostid>.
- Este fichero se procesa de arriba a abajo buscando la primera
- coincidencia. La primera entrada asocia <literal>
- root@ejemplo.com</literal> con la carpeta de correo local denominada
- <username>root</username>. La siguiente entrada asocia
- <literal>postmaster@ejemplo.com</literal> con la carpeta
- <username>postmaster</username> situada en la máquina
- <hostid role="fqdn">noc.ejemplo.net</hostid>. Por último, si
- no se ha encontrado ninguna coincidencia para
- <hostid role="domainname">ejemplo.com</hostid> se le asigna la
- última asociación, la cual asocia cualquier mensaje
- de correo proveniente de <hostid role="domainname">
- ejemplo.com</hostid> con la carpeta de
- correo local denominada <username>joe</username>.</para>
-
- </sect2>
- </sect1>
-
- <sect1 id="mail-changingmta">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Andrew</firstname>
- <surname>Boothman</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Gregory</firstname>
- <surname>Neil Shapiro</surname>
- <contrib>Información obtenida de correos escritos por </contrib>
- </author>
- </authorgroup>
- </sect1info>
- <title>Sustitución del Agente de Transferencia de Correo</title>
- <indexterm>
- <primary>email</primary>
- <secondary>cambio de mta</secondary>
- </indexterm>
-
- <para>Como ya se ha comentado FreeBSD viene con <application>
- sendmail</application> ya instalado como agente de transferencia de
- correo por defecto. De esta forma <application>sendmail</application>
- se encarga de gestionar el correo entrante y saliente.</para>
-
- <para>No obstante, debido a distintas razones algunos administradores de
- sistemas prefieren utilizar otro MTA.
- Estas razones varían desde simplemente querer probar otros
- programas de transferencia de correo, hasta la necesidad
- de utilizar un determinado programa que hace uso de una función
- específica de un agente determinado. Por suerte
- cualesquiera que sean estas razones FreeBSD posee un sencillo
- procedimiento para sustituir a
- <application>sendmail</application>.</para>
-
- <sect2>
- <title>Instalación de un nuevo MTA</title>
-
- <para>Existen una amplia gama de MTA alternativos a <application>
- sendmail</application>. Un buen punto de partida es el <link
- linkend="ports">Sistema de Ports de FreeBSD</link>,
- donde se pueden localizar varios. Por supuesto el usuario tiene
- libertad para utilizar cualquier MTA, siempre y cuando se pueda
- ejecutar en FreeBSD sin problemas.</para>
-
- <para>Lo primero es instalar el nuevo MTA. Una vez que está
- instalado normalmente se tiene la oportunidad para decidir si
- realmente cubre las necesidades y también se tiene la
- oportunidad de configurar el nuevo software antes de sustituir a
- <application>sendmail</application>. El usuario debe tener en cuenta
- que el nuevo MTA puede sobreescribir algunos binarios del sistema como
- por ejemplo <filename>/usr/bin/sendmail</filename>.
- En cualquier caso el nuevo software de correo
- suele entrar en funcionamiento con una configuración
- por defecto.</para>
-
- <para>Por favor, recuerde que se recomienda leer la documentación
- del MTA seleccionado para obtener más
- información.</para>
-
- </sect2>
-
- <sect2>
- <title>Desactivación de la aplicación <application>
- sendmail</application></title>
-
- <para>El procedimiento utilizado para ejecutar
- <application>sendmail</application> cambió significativamente
- entre las releases 4.5-RELEASE y 4.6-RELEASE.
- De esta forma el procedimiento utilizado para la desactivación
- hoy en día es
- sutílmente distinto al utilizado en dichas distribuciones.</para>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE antes de 2002/4/4 y anteriores
- (Incluyendo 4.5-RELEASE y anteriores)</title>
-
- <para>Introducir:</para>
-
- <programlisting>sendmail_enable="NO"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>. Esta variable
- desactiva el servicio de recepción de correo de
- <application>sendmail</application>,
- pero salvo que se modifique (ver más adelante) el
- fichero <filename>/etc/mail/mailer.conf</filename>
- <application>sendmail</application> todavía será
- la aplicación elegida para enviar correo
- electrónico.</para>
- </sect3>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE desde de 2002/4/4
- (Incluyendo 4.6-RELEASE y posteriores)</title>
-
- <para>Para poder desactivar completamente
- <application>sendmail</application> haga lo siguiente:</para>
-
- <programlisting>sendmail_enable="NONE"</programlisting>
-
- <para>dentro del fichero <filename>/etc/rc.conf.</filename></para>
-
- <warning>
- <para> Se desactiva el servicio de correo de salida de
- <application>sendmail</application>.
- Es importanque que se reemplace con un sistema de entrega de
- correo alternativo que sea totalmente funcional.
- En caso contrario funciones del sistema FreeBSD tales como
- &man.periodic.8; no podrán entregar sus resultados por
- correo eletrónico tal y como normalmente hacen.
- Varias partes del sistema FreeBSD esperan disponer de un sistema
- de correo funcional compatible con
- sendmail. Si las aplicaciones continúan utilizando los
- binarios de <application>sendmail</application>
- para realizar envíos de correo después de su
- desactivación el correo podría ser almacenado en una
- cola inactiva de <application>sendmail</application>, en cuyo caso
- nunca se entregaría.</para>
- </warning>
-
- <para>Si sólo se quiere desactivar el servicio de correo de
- entrada de <application>sendmail</application>, basta con establecer
- la variable:</para>
-
- <programlisting>sendmail_enable="NO"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>.
- En &man.rc.sendmail.8; tiene más información sobre
- las opciones de arranque de <application>
- sendmail</application>.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ejecución del nuevo MTA en el arranque</title>
-
- <para>Existen dos métodos alternativos para ejecutar el nuevo
- MTA en el arranque, dependiendo
- de la versión de FreeBSD que se esté ejecutando.</para>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE antes de 2002/4/11
- (Incluyendo 4.5-RELEASE y anteriores)</title>
-
- <para>Se debe añadir un script en
- <filename>/usr/local/etc/rc.d/</filename> cuyo nombre termine en
- <filename>.sh</filename> y que sea ejecutable por
- <username>root</username>. El script debe aceptar los
- parámetros <literal>start</literal> y
- <literal>stop</literal>. Cuando el sistema &os; se está
- inicializando, los scripts de arranque
- ejecutarán el siguiente comando:</para>
-
- <programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting>
-
- <para>La misma orden se puede utilizar también para ejecutar
- el servidor de forma manual.
- Cuando el sistema se está reiniciando los scripts del sistema
- ejecutan los ficheros ubicados en
- <filename>/usr/local/etc/rc.d/</filename> utilizando la opción
- <literal>stop</literal>, en nuestro caso:</para>
-
- <programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting>
-
- <para>Dicho comando tambíen se puede utilizar para detener el
- servidor de correo de forma manual cuando el
- sistema FreeBSD se ejecuta con normalidad.</para>
-
- </sect3>
-
- <sect3>
- <title>FreeBSD 4.5-STABLE después de 2002/4/11
- (Incluyendo 4.6-RELEASE y posteriores)</title>
-
- <para>Con las últimas versiones de FreeBSD se puede utilizar el
- método anterior pero también se puede
- especificar</para>
-
- <programlisting>mta_start_script="nombre_de_fichero"</programlisting>
-
- <para>dentro de <filename>/etc/rc.conf</filename>, donde
- <replaceable>nombre_de_fichero</replaceable> es el nombre de
- algún script que se ejecuta en tiempo de arranque
- para inicializar el nuevo MTA.</para>
- </sect3>
-
- </sect2>
-
- <sect2>
- <title>Sustitución de <application>sendmail</application> como el
- agente de transporte de correo predeterminado.</title>
-
- <para>El programa <application>sendmail</application> es tan
- imprescindible y es utilizado por tal multitud de programas en
- los sistemas &unix; que algunos programas simplemente asumen que
- <application>sendmail</application> se encuentra instalado y
- configurado dentro del sistema.
- Por esta razón varios MTAs alternativos proporcionan su propia
- implementación de la interfaz de línea de comandos que
- posée <application>sendmail</application>; esto facilita que se
- puedan utilizar como sustitutos de <application>sendmail</application>
- sin mayores dificultades.</para>
-
- <para>Por lo tanto si desea utilizar un agente de transporte de correo
- alternativo debe asegurarse de que todo software que intente ejecutar
- binario de <application>sendmail</application> estándar,
- <filename>/usr/bin/sendmail</filename>, realmente ejecute el nuevo MTA
- en su lugar. Por fortuna FreeBSD proporciona un sistema llamado
- &man.mailwrapper.8; que realiza precisamente esta tarea.</para>
-
- <para>Cuando <application>sendmail</application> está funcionando
- se debe localizar algo como lo siguiente dentro del fichero
- <filename>/etc/mail/mailer.conf</filename>:</para>
-
-<programlisting>sendmail /usr/libexec/sendmail/sendmail
-send-mail /usr/libexec/sendmail/sendmail
-mailq /usr/libexec/sendmail/sendmail
-newaliases /usr/libexec/sendmail/sendmail
-hoststat /usr/libexec/sendmail/sendmail
-purgestat /usr/libexec/sendmail/sendmail</programlisting>
-
- <para>Esto significa que cuando cualquiera de estos comandos
- (por ejemplo <filename>sendmail</filename> mísmamente)
- se ejecutan el sistema ejecutará en su lugar una copia del
- el sistema ejecuta en su lugar una copia del <quote>
- mailwrapper</quote> denominada <filename>sendmail</filename>
- que chequea el fichero <filename>mailer.conf</filename> y ejecuta
- <filename>/usr/libexec/sendmail/sendmail</filename>.
- Este sistema permite cambiar de una forma sencilla los binarios que
- se ejecutan realmente cuando se invocan las funciones de
- <filename>sendmail</filename>.</para>
-
- <para>Si se quiere que ejecutar
- <filename>/usr/local/supermailer/bin/sendmail-compat</filename>
- en lugar de <application>sendmail</application> se puede cambiar el
- fichero <filename>/etc/mail/mailer.conf</filename> para que contenga
- lo siguiente:</para>
-
-<programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat
-send-mail /usr/local/supermailer/bin/sendmail-compat
-mailq /usr/local/supermailer/bin/mailq-compat
-newaliases /usr/local/supermailer/bin/newaliases-compat
-hoststat /usr/local/supermailer/bin/hoststat-compat
-purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Últimos Pasos</title>
-
- <para>Una vez que todo estáconfigurado a su gusto
- hay que matar los procesos de <application>sendmail</application>
- que ya no se necesitan y ejecutar los procesos pertenecientes al
- nuevo software de MTA, o utilizar la opción más
- sencilla: reiniciar la máquina. Reinicar la máquina
- nos brinda la oportunidad de comprobar que se ha configurado
- correctamente el arranque del sistema para que ejecute de forma
- automática el nuevo MTA.</para>
- </sect2>
- </sect1>
-
- <sect1 id="mail-trouble">
- <title>Depuración de Problemas</title>
- <indexterm>
- <primary>email</primary>
- <secondary>Depuración de problemas</secondary>
- </indexterm>
-
- <qandaset>
- <qandaentry>
- <question>
- <para>?Por qué tengo que utilizar el FQDN para las
- máquinas de mi organización?</para>
- </question>
-
- <answer>
- <para>Probablemente se deba a que la máquina de correo se
- encuentra en un dominio diferente; si por ejemplo la
- máquina de correo se encuentra en <hostid
- role="fqdn">foo.bar.edu</hostid>
- y se desea alcanzar una máquina llamada
- <hostid>mumble</hostid> en el dominio
- <hostid role="domainname">bar.edu</hostid> se tiene que referir a
- ella mediante un nombre de dominio completo
- (<quote>fully-quailified domain name</quote> o FQDN), en éste
- caso <hostid role="fqdn">mumble.bar.edu</hostid> en lugar de
- referirse a ella simplemente como <hostid>mumble</hostid>.</para>
-
- <indexterm><primary>BIND</primary></indexterm>
- <para>Tradicionalmente, la referencia incompleta era posible
- utilizando <quote>resolvers</quote> de BSD BIND.
- No obstante la versión de <application>BIND</application>
- que en la actualidad se ofrece con FreeBSD ya no permite por defecto
- el uso de dichas abreviaturas salvo para aquellas máquinas
- que pertenecen al dominio al que su sistema pertenezca.
- Una máquina como <hostid>mumble</hostid> será buscada
- como <hostid role="fqdn">mumble.foo.bar.edu</hostid> o la
- búsqueda será redireccionada al servidor de dominio
- raíz del DNS.</para>
-
- <para>Esto es distinto a lo que ocurría en versiones anteriores
- de BIND, donde la búsqueda se producía a través
- de <hostid role="domainname">mumble.bar.edu</hostid> y de
- <hostid role="domainname">mumble.edu</hostid>. Se recomienda
- consultar a la RFC 1535 para conocer el motivo que se considerara
- una práctica errónea o incluso un agujero de
- seguridad.</para>
-
- <para>Una buena solución a este problema puede ser
- incluír la siguiente línea
-
- <programlisting>search foo.bar.edu bar.edu</programlisting>
-
- en lugar de
-
- <programlisting>domain foo.bar.edu</programlisting>
-
- dentro del fichero <filename>/etc/resolv.conf</filename>.
- No obstante se debe asegurar de que el orden de
- búsqueda no se expande más allá del
- <quote>límite entre la administración local y la administración pública</quote>,
- tal y como se le denomina en la RFC 1535.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <indexterm>
- <primary>MX record</primary>
- </indexterm>
-
- <para><application>sendmail</application> dice <errorname>mail
- loops back to myself</errorname> (el correo vuelve a mis manos)</para>
- </question>
-
- <answer>
- <para>Esta pregunta se responde en las FAQ de
- <application>sendmail</application> de la siguiente forma:</para>
-
- <programlisting>Estoy obteniendo los siguientes mensajes de error:
-
-553 MX list for domain.net points back to relay.domain.net
-554 &lt;user@domain.net&gt;... Local configuration error
-
-¿Cómo puedo solucionar esto?
-
-Usted ha especificado que el correo para el dominio (por ejemplo,
-para el dominio dominio.net) sea reenviado a una máquina determinada
-(en este caso relay.dominio.net), para lo que se utiliza un registro
-de DNS de tipo MX, pero la máquina que actúa de relay no se
-reconoce a sí misma como perteneciente al dominio dominio.net.
-Se debe añadir dominio.net al fichero /etc/mail/local-host-names,
-que recibe el nombre de /etc/sendmail.cw en versiones de sendmail previas
-a la 8.10. Se puede utilizar la macro FEATURE(use_cw_file) para indicar
-dónde se encuentra el fichero local-host-names; también se
-puede añadir <quote>Cw dominio.net</quote> directamente
-al fichero <filename>/etc/mail/sendmail.cf</filename>
- </programlisting>
-
- <para>Las FAQ de <application>sendmail</application> se pueden
- encontrar en <ulink
- url="http://www.sendmail.org/faq/"></ulink> y son de lectura
- obligada si se quiere depurar el comportamiento y la
- configuración de <application>sendmail</application>.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <indexterm><primary>PPP</primary></indexterm>
- <para>?Cómo puedo ejecutar un servidor de correo
- utilizando una máquina que se conecta a internet
- mediante modem analógico (dial-up) ?</para>
- </question>
-
- <answer>
- <para>Se quiere conectar una máquina FreeBSD dentro de una LAN a
- Internet. La máquina FreeBSD será una pasarela de
- correo para dicha LAN. La conexión mediante PPP no es
- dedicada.</para>
-
- <indexterm><primary>UUCP</primary></indexterm>
- <indexterm>
- <primary>MX record</primary>
- </indexterm>
-
- <para>Existen al menos dos formas distintas de hacerlo. Una de ellas
- consiste en utilizar UUCP.</para>
-
- <para>Otra forma consiste en hacerse con un servidor de internet a
- tiempo completo para proporcionar servicios de agente de transporte
- secundario para nuestro dominio. Si por ejemplo el dominio de
- nuestra compañía es <hostid
- role="domainname">ejemplo.com</hostid>, nuestro proveedor de acceso
- a internet puede instalar lo siguiente en el DNS:</para>
-
- <programlisting>ejemplo.com. MX 10 ejemplo.com.
- MX 20 ejemplo.net.</programlisting>
-
- <para>Nótese que el agente de correo primario es nuestro
- dominio, ejemplo.com, y además se encuentra configurado
- un agente de transporte secundario en la máquina
- ejemplo.net. En este caso sólamente se debe especificar
- una máquina como receptor final de correo
- (añadiendo <literal>Cw ejemplo.com</literal>) al fichero
- <filename>/etc/mail/sendmail.cf</filename> de la máquina
- <hostid role="domainname">example.com</hostid>)</para>
-
- <para>Cuando el <command>sendmail</command> que está enviando
- el correo trata de entregar dicho correo primero intentará
- conectarse con nosotros (<hostid
- role="domainname">ejemplo.com</hostid>) utilizando el enlace de
- modem. Lo más probable es que la operación termine
- después de un tiempo de espera debido a que el enlace modem
- esté caído.
- La aplicación <application>sendmail</application>
- automáticamente entregará el correo al servidor
- especificado como agente de transporte de correo secundario
- (segundo registro MX), es decir, entregará el correo a
- nuestro proveedor de servicios de internet (<hostid
- role="domainname">ejemplo.net</hostid>). El sitio MX secundario
- tratará de conectarse con nuestra máquina de una forma
- periódica con el objeto de entregar el correo a la
- máquina que actúa como agente servidor de correo
- primario (<hostid role="domainname">ejemplo.com</hostid>).</para>
-
- <para>Puede ser de mucha utilidad un script de <quote>login</quote>
- como el que se muestra a continuación:</para>
-
- <programlisting>#!/bin/sh
-# Ponme en /usr/local/bin/pppmiconexion
-( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
-/usr/sbin/ppp -direct pppmiconexion</programlisting>
-
- <para>Si vamos a crear un script de <quote>login</quote> separado para
- un usuario determinado se puede utilizar
- <command>sendmail -qRejemplo.com</command> en lugar del script
- anterior. Esto obliga a que se procesen
- de forma inmediata todos los correos que se encuentren en la cola de
- <hostid role="domainname">ejemplo.com</hostid>.</para>
-
- <para>Vamos a dar una vuelta más de tuerca a la
- situación:</para>
-
- <para>Mensaje robado a la &a.isp;.</para>
-
- <programlisting>
-&gt; Nosotros proporcionamos servicio de MX secundario a un cliente nuestro.
-&gt; El cliente se conecta a nuestro servidor varias veces al día
-&gt; de forma automática para recoger sus correos para almacenarlos en
-&gt; su servidor MX primario (nosotros no llamamos a su organización
-&gt; justo cuando nos llega un correo suyo).
-&gt; Nuestro sendmail envía la cola de correos cada 30 minutos. En
-&gt; estos momentos nuestro cliente tiene que estar al menos 30 minutos
-&gt; conectado para asegurarnos de que todo su correo ha sido enviado al
-&gt; servidor MX primario.
-&gt;
-&gt; ?Existe algún comando que permita indicar a sendmail que
-&gt; envíe todos los correos de la cola cuando quiera el cliente?
-&gt; El cliente no tiene permisos de superusuario en la máquina que
-&gt; alberga nuestro agente de transporte, por supuesto.
-
-En la sección de <quote>privacy flags</quote> del fichero sendmail.cf
-existe una definición como ésta:
-Opgoaway,restrictqrun
-
-Basta con eliminar restrictqrun para permitir que usuarios sin permisos de
-superusuario arranquen el procesamiento de la cola.
-Sería conveniente además que reordenaran los registros MX.
-Nosotros somos el primer MX para nuestros clientes.
-Además de esto hay que especificar:
-
-# Si somos el mejor MX para una determinada máquina, intenta
-# utilizarnos directamente en vez de generar un error de
-# configuración local.
-OwTrue
-
-en el archivo de configuración de <application>sendmail</application>.
-Mediante la configuración anterior,
-una organización remota entregará sus correos directamente a
-usted, sin necesidad de intentar conectarse primero a través de
-la conexión del cliente. La etiqueta "OwTrue" se necesita para evitar
-que <application>sendmail</application> genere un mensaje de error.
-A continuación ustedes se encargan de entregar el
-correo a su(s) respectivo(s) cliente(s) tal como vienen haciendo.
-
-Esta configuración sólo funciona para
-<quote>máquinas individuales</quote>,
-de tal forma que se necesita que el cliente especifique su servidor de correo
-mediante entradas de tipo A en el DNS. En concreto se necesita una entrada de
-tipo A en el DNS para el dominio del cliente (<quote>cliente.com</quote>).
-</programlisting>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>?Por qué me siguen saliendo mensajes de error
- del tipo <errorname>Relaying Denied</errorname> cuando se trata
- de enviar correo proveniente de otras máquinas?</para>
- </question>
-
- <answer>
- <para>En las instalaciones del sistema FreeBSD por defecto
- <application>sendmail</application> se configura para enviar
- correo sólamente desde la máquina en la cual
- se está ejecutando. Por ejemplo si un servidor
- <acronym>POP</acronym> está disponible los usuarios
- serán capaces de consultar su correo desde la universidad,
- el trabajo u otras localizaciones remotas, pero dichos usuarios
- podrán enviar correo desde dichas ubicaciones.
- Es habitual que unos instantes después del envío
- del correo dichos usuarios reciban un mensaje proveniente del
- <application>MAILER-DAEMON</application> con un error como
- <errorname>5.7 Relaying Denied</errorname>.</para>
-
- <para>Existen varias formas de solventar este problema. La
- más sencilla consiste en escribir la dirección
- IP de su proveedor de servicios dentro del fichero
- <filename>/etc/mail/relay-domains</filename>. Una forma
- rápida de hacerlo sería:
- </para>
-
- <screen>&prompt.root; <userinput>echo "un.isp.ficticio.com" &gt; /etc/mail/relay-domains</userinput></screen>
-
- <para>Después de crear o editar dicho fichero se debe
- reiniciar <application>sendmail</application>. Esto funciona
- perfectamente si usted es el administrador del servidor y no
- desea enviar correo localmente o si prefiere utilizar un cliente
- de correo o cualquier otro sistema en otra máquina distinta
- a la que alberga el servidor de correo. Es muy útil sobre
- todo cuando sólamente se tienen una o dos direcciones de
- correo eletrónico. Si hay en liza un gran número de
- direcciones de correo, edite el fichero anterior con su editor de
- texto favorito y añada uno a uno los correspondientes
- dominios.</para>
-
- <programlisting>un.isp.ficticio.com
-otro.isp.ficticio.net
-y.otro.isp.ficticio.org
-www.ejemplo.org</programlisting>
-
- <para>Ahora, cualquier correo enviado a través de su sistema
- por cualquier máquina que se encuentre en este fichero
- (siempre y cuando el usuario tenga una cuenta en nuestro sistema)
- podrá ser enviado con éxito.
- Es una manera elegante de permitir a los usuarios enviar
- correo eletrónico desde nuestro servidor de correo sin
- permitir al resto del mundo que haga lo mismo (lo que se conoce
- como SPAM).</para>
- </answer>
- </qandaentry>
- </qandaset>
- </sect1>
-
- <sect1 id="mail-advanced">
- <title>Conceptos Avanzados</title>
-
- <para>La siguiente sección trata conceptos más
- específicos relacionados con la configuración del correo
- y la implantación del servicio de correo en una
- organización.</para>
-
- <sect2 id="mail-config">
- <title>Configuración Básica</title>
- <indexterm>
- <primary>email</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Por defecto debemos ser capaces de enviar correo a máquinas
- externas, siempre y cuando tengamos nuestro <filename>
- /etc/resolv.conf</filename> bien configurado o ejecutemos nuestro
- propio servidor de nombres. Si queremos que el correo para nuestra
- máquina se nos entregue en nuestra propia máquina,
- es decir, a nuestro propio <application>sendmail</application>,
- en lugar de tener que ir a recogerlo al servidor de correo de
- nuestra organización, podemos usar dos métodos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ejecutar nuestro propio servidor de nombres y comprar nuestro
- propio dominio. Por ejemplo <hostid
- role="domainname">FreeBSD.org</hostid></para>
- </listitem>
-
- <listitem>
- <para>Conseguir la entrega de correo directa hacia nuestra
- máquina. Esto se logra entregando el correo a la
- dirección IP que se asocia al nombre de DNS de nuestra
- máquina. Por ejemplo <hostid
- role="fqdn">ejemplo.FreeBSD.org</hostid>.</para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>SMTP</primary></indexterm>
- <para>Independientemente de la opción elegida para tener entrega
- directa en nuestra máquina debemos poseer una dirección
- IP estática (a diferencia de las direcciones dinámicas,
- que son utilizadas en configuraciones donde se utiliza el protocolo
- PPP). Si nos encontramos detrás de un cortafuegos se debe
- permitir el tráfico SMTP (puerto 25) hacia nuestra
- máquina. Si además queremos recibir correo directamente
- en nuestra máquina se deben cumplir los siguientes
- requisitos:</para>
-
- <itemizedlist>
- <indexterm><primary>MX record</primary></indexterm>
- <listitem>
- <para>Asegurar que el registro MX de menor numeración de
- nuestro DNS apunta a la dirección IP de nuestra
- máquina.</para>
- </listitem>
-
- <listitem>
- <para>Asegurar que no existe ninguna entrada MX en nuestro DNS para
- nuestra máquina. Es decir, mientras que el registro MX del
- punto anterior hace referencia al dominio administrativo que
- gestionamos con nuestro servidor de nombres, en este apartado se
- quiere destacar que no debe existir ningún registro MX
- específico para el nombre concreto de nuestra
- máquina.</para>
- </listitem>
- </itemizedlist>
-
- <para>Cumpliendo las dos puntualizaciones anteriores podemos recibir
- correo electrónico mediante entrega directa en nuestra
- máquina.</para>
-
- <para>Por ejemplo:</para>
-
- <screen>&prompt.root; <userinput>hostname</userinput>
-ejemplo.FreeBSD.org
-&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput>
-ejemplo.FreeBSD.org has address 204.216.27.XX</screen>
-
- <para>Si se observa esta configuración la entrega directa de
- correo para <email>su_login@ejemplo.FreeBSD.org</email> debería
- funcionar sin problemas (suponiendo que <application>
- sendmail</application> se está ejecutando correctamente en
- <hostid role="fqdn">ejemplo.FreeBSD.org</hostid>).</para>
-
- <para>Si en lugar de lo anterior ve algo como esto:</para>
-
- <screen>&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput>
-ejemplo.FreeBSD.org has address 204.216.27.XX
-ejemplo.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen>
-
- <para>Todos los correos enviados a nuestro host (<hostid
- role="fqdn">ejemplo.FreeBSD.org</hostid>) serán recogidos por
- <hostid>hub</hostid> bajo el mismo nombre de usuario en lugar de ser
- enviados directamente a nuestra máquina.</para>
-
- <para>La información anterior se gestiona utilizando el servidor
- de DNS. El registro de DNS que transporta la información
- de encaminamiento de correo eletrónico es el
- registro <emphasis>M</emphasis>ail e<emphasis>X</emphasis>change.
- Si no existe ningún registro MX el correo se entregará
- a la dirección IP que se obtenga de resolver el nombre
- de dominio que se encuentre a continuación del nombre de
- usuario en la dirección de correo de destino (esto es,
- (después de la @).</para>
-
- <para>En un cierto momento la entrada MX para <hostid
- role="fqdn">freefall.FreeBSD.org</hostid> tenía este
- aspecto:</para>
-
- <programlisting>freefall MX 30 mail.crl.net
-freefall MX 40 agora.rdrop.com
-freefall MX 10 freefall.FreeBSD.org
-freefall MX 20 who.cdrom.com</programlisting>
-
- <para>Como se puede observar, <hostid>freefall</hostid> tenía
- varias entradas MX. El número de MX más bajo es la
- máquina que recibe correo directamente si se encuentra
- disponible; si dicha máquina no está accesible por
- algún motivo las otras máquinas (llamadas también
- <quote>MXs de backup</quote>) aceptarán los mensajes
- temporalmente, y los transmitirán de nuevo cuando alguna
- máquina perteneciente a alguna entrada MX de numeración
- más baja se encuentre disponible y el proceso se
- repetirá hasta que se alcance la máquina que tenga
- el registro MX más bajo.</para>
-
- <para>Las organizaciones donde residen los servidores (MX) de backup
- deberían poseer acceso a internet de una forma independiente
- para minimizar el riesgo de pérdida de conectividad. Nuestro
- ISP o cualquier otra organización independiente debería
- poder proporcionarnos este servicio sin problemas.</para>
- </sect2>
-
- <sect2 id="mail-domain">
- <title>Correo para Nuestro Dominio</title>
-
- <para>Para establecer un <quote>mailhost</quote> (servidor de correo)
- en nuestra organización debemos ser capaces de redirigir el
- correo destinado a cualquier máquina de nuestra
- organización hacia nuestro servidor de correo.
- Básicamente queremos <quote>reclamar</quote> como nuestro
- cualquier correo destinado a cualquier máquina de nuestro
- dominio (en este caso <hostid
- role="fqdn">*.FreeBSD.org</hostid>) y desviarlo a nuestro servidor
- de tal forma que los usuario lean su correo
- utilizando nuestra máquina servidora.</para>
-
- <indexterm><primary>DNS</primary></indexterm>
- <para>Para hacer las cosas lo más sencillas posible se debe crear
- una cuenta de usuario (con el mismo <emphasis>
- nombre de usuario</emphasis>) tanto en el servidor de correo como en
- la máquina del usuario o destinatario final del correo.
- &man.adduser.8; puede usarse para ello.</para>
-
- <para>El servidor de correo debe funcionar como el agente de transporte
- predeterminado para todas las máquinas de nuestra
- organización. Esto se realiza mediante la siguiente
- configuración del DNS:</para>
-
- <programlisting>ejemplo.FreeBSD.org A 204.216.27.XX ; Workstation
- MX 10 hub.FreeBSD.org ; Mailhost</programlisting>
-
- <para>Esta configuración redirigirá el correo para
- cualquier estación de trabajo hacia nuestro servidor de correo
- sin que tengan importancia las direcciones IP asignadas mediante
- el registro de tipo A. Recordemos que el correo siempre
- se encamina utilizando primero los registros de tipo MX.</para>
-
- <para>Normalmente no podremos realizar esta configuración salvo
- que estemos ejecutando nuestro propio servidor de DNS
- para nuestro dominio. Si no es el caso y no es posible ejecutar
- nuestro propio servidor de DNS debemos comunicarnos con nuestro
- proveedor de servicios o con quien pueda proporcionarnos servicio de
- DNS y solicitarle una modificación como la anterior.</para>
-
- <para>Si además ofrecemos servicios de alojamiento virtual de
- correo la siguiente información puede resultar útil.
- Asumiremos que tenemos un cliente con su propio dominio, por ejemplo
- <hostid role="domainname">cliente1.org</hostid> y queremos que todo el
- correo enviado a <hostid
- role="domainname">cliente1.org</hostid> sea redirigido hasta nuestro
- servidor de correo, <hostid
- role="fqdn">mail.nuestroservidor.com</hostid>. La entrada necesaria
- en el DNS debería ser la siguiente:</para>
-
- <programlisting>cliente1.org MX 10 mail.nuestroservidor.com</programlisting>
-
- <para>No necesitamos <emphasis>ningún</emphasis> registro de tipo
- A para <hostid
- role="domainname">cliente1.org</hostid> si sólamente queremos
- gestionar el correo para ese dominio.
- </para>
-
- <note>
- <para>Tenga en cuenta que un ping a <hostid
- role="domainname">cliente1.org</hostid> no funcionará a menos
- que exista un registro de tipo A para dicha máquina.
- </para>
- </note>
-
- <para>La última cosa que debemos realizar en nuestro servidor de
- correo es comunicar a <application>sendmail</application> para
- qué dominios y/o máquinas debe aceptar correo. Existen
- varias formas en las que se puede realizar esta tarea.
- Cualquiera de las siguiente funcionará:</para>
-
- <itemizedlist>
- <listitem>
- <para>Añadir las máquinas deseadas al fichero
- <filename>/etc/mail/local-host-names</filename> si se está
- utlizando la macro
- <literal>FEATURE(use_cw_file)</literal>. Si se está
- utilizando una versión de <application>
- sendmail</application> anterior a la 8.10 el fichero que se debe
- utilizar es <filename>/etc/sendmail.cw</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Añadir la línea <literal>
- Cwsu.servidor.com</literal> al fichero
- <filename>/etc/sendmail.cf</filename> o
- <filename>/etc/mail/sendmail.cf</filename> si se está
- utilizando una versión de <application>
- sendmail</application> posterior a la versión 8.10.</para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 id="SMTP-UUCP">
- <title>SMTP con UUCP</title>
-
- <para>La configuración de <application>sendmail</application> que
- se proporciona con la distribución de FreeBSD está
- diseñada para organizaciones que se conectan directamente a
- internet. Las organizaciones que deseén enviar y recibir
- sus correos utilizando UUCP deben instalar otro fichero de
- configuración para <application>
- sendmail</application>.</para>
-
- <para>El ajuste de forma manual del archivo <filename>
- /etc/mail/sendmail.cf</filename> es un tema para expertos.
- La versión 8 de <application>sendmail</application> genera
- ficheros de configuración mediante el preprocesador
- &man.m4.1;, gracias al que las opciones de configuración se
- pueden escribir utilizando un nivel de abstracción mayor.
- Los archivos de configuración de &man.m4.1; se pueden encontrar
- en <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para>
-
- <para>Si no se instaló el sistema base con todas las fuentes el
- conjunto de ficheros de configuración de <application>
- sendmail</application> se puede obtener a partir de un paquete de
- fuentes determinado. Suponiendo que tengamos el CDROM con el
- código fuente de FreeBSD montado se puede ejecutar:</para>
-
- <screen>&prompt.root; <userinput>cd /cdrom/src</userinput>
-&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail</userinput></screen>
-
- <para>Este comando extrae sólamente unos pocos cientos de
- kilobytes. El fichero <filename>README</filename> que hay en
- el directorio <filename>cf</filename> puede servirle como
- una introducción básica a la configuración
- mediante &man.m4.1;.</para>
-
- <para>La mejor forma de soportar la entrega de correo mediante UUCP es
- utilizando la característica <literal>mailertable</literal>.
- Esta característica crea una base de datos que
- <application>sendmail</application> utiliza para tomar decisiones de
- encaminamiento.</para>
-
- <para>En primer lugar creamon el fichero <filename>.mc</filename>.
- El directorio <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>
- alberga varios ejemplos del mismo. Suponiendo que nuestro fichero
- configuración se llama
- <filename>foo.mc</filename> para convertir dicho archivo en un fichero
- <filename>sendmail.cf</filename> válido basta con ejecutar lo
- siguiente:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
-&prompt.root; <userinput>make foo.cf</userinput>
-&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
-
- <para>Un fichero <filename>.mc</filename> suele tener este aspecto:</para>
-
- <programlisting>VERSIONID(`<replaceable>Su número de versión</replaceable>') OSTYPE(bsd4.4)
-
-FEATURE(accept_unresolvable_domains)
-FEATURE(nocanonify)
-FEATURE(mailertable, `hash -o /etc/mail/mailertable')
-
-define(`UUCP_RELAY', <replaceable>su.relay.uucp</replaceable>)
-define(`UUCP_MAX_SIZE', 200000)
-define(`confDONT_PROBE_INTERFACES')
-
-MAILER(local)
-MAILER(smtp)
-MAILER(uucp)
-
-Cw <replaceable>alias.de.su.servidor</replaceable>
-Cw <replaceable>nombredesunodouucp.UUCP</replaceable></programlisting>
-
- <para>Las líneas que contienen
- <literal>accept_unresolvable_domains</literal>,
- <literal>nocanonify</literal>, y
- <literal>confDONT_PROBE_INTERFACES</literal> prohíben la
- utilización del DNS durante la entrega de correo.
- La cláusula <literal>UUCP_RELAY</literal> es necesaria
- para soportar entrega mediante UUCP. Lo único que hay que hacer
- es escribir un nombre de máquina en ese punto.
- Dicha máquina debe ser capaz de gestionar las direcciones del
- pseudo-dominio .UUCP; en la mayoría de los casos se escribe en
- este punto el nombre de la máquina perteneciente al proveedor de
- servicios que hace de relay.</para>
-
- <para>Una vez que tenemos esto configurado se necesita un fichero
- <filename>/etc/mail/mailertable</filename>. Si solamente tenemos un
- enlace con el exterior, que usamos para todos nuestro correos,
- basta una configuración como la que se muestra a
- continuación:</para>
-
- <programlisting>#
-# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
-. uucp-dom:<replaceable>su.relay.uucp</replaceable></programlisting>
-
- <para>Un ejemplo más complejo puede parecerse al siguiente:</para>
-
- <programlisting>#
-# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
-#
-horus.interface-business.de uucp-dom:horus
-.interface-business.de uucp-dom:if-bus
-interface-business.de uucp-dom:if-bus
-.heep.sax.de smtp8:%1
-horus.UUCP uucp-dom:horus
-if-bus.UUCP uucp-dom:if-bus
-. uucp-dom:</programlisting>
-
-
- <para>Las primeras tres líneas se encargan de manejar casos
- especiales en los que el correo dirigido directamente al dominio no se
- envía a la ruta por defecto sino a algún vecino UUCP para
- acortar el número de saltos involucrados en la entrega de dichos
- correos.
- La siguiente línea gestiona el correo para el dominio ethernet
- local, el cual puede ser entregado utilizando SMTP. Finalmente los
- vecinos UUCP se mencionan en la notación de pseudo-dominio
- .UUCP para permitir que un
- <literal><replaceable>vecino UUCP receptor</replaceable></literal>
- de correo pueda sobreescribir las reglas por defecto. La última
- línea siempre es un punto; se asocia con cualquier otra cosa que
- no ha sido tratada en reglas anteriores y donde se realiza entrega UUCP
- a un vecino UUCP que sirve como pasarela de correo universal para todo
- el mundo. Todos los nombres de máquinas bajo la clave
- <literal>uucp-dom:</literal> deben ser vecinos UUCP válidos, lo
- cual se puede verificar utilizando el comando <literal>
- uuname</literal>.</para>
-
- <para>Recuerde que este fichero debe convertirse en una base de datos DBM
- antes de que usarse. El comando que se utiliza para realizar esta tarea
- se suele especificar como un comentario al principio del fichero
- <filename>mailertable</filename>. Cada vez que se modifique el fichero
- <filename>mailertable</filename> se debe ejecutar dicho comando.</para>
-
- <para>Un consejo final: si dudamos sobre una determinada ruta de
- encaminamiento de correo se puede ejecutar <application>
- sendmail</application> con el parámetro <option>-bt</option>.
- Este parámetro ejecuta <application>sendmail</application>
- en <emphasis>modo prueba de direcciones</emphasis>;
- simplemente basta con escribir <literal>3,0</literal> seguido por la
- dirección de correo de la que queremos comprobar su correcto
- encaminamiento. La última línea nos dice el agente de
- correo interno que se utiliza, la máquina de destino con que el
- agente será invocado y la dirección (posiblemente
- traducida) de correo. Se puede abandonar este modo de funcionamiento
- escribiendo <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>.</para>
-
- <screen>&prompt.user; <userinput>sendmail -bt</userinput>
-ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
-Enter &lt;ruleset&gt; &lt;address&gt;
-<prompt>&gt;</prompt> <userinput>3,0 prueba@ejemplo.com</userinput>
-canonify input: foo @ example . com
-...
-parse returns: $# uucp-dom $@ <replaceable>su.relay.uucp</replaceable> $: prueba &lt; @ ejemplo . com . &gt;
-<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
- </sect1>
-
- <sect1 id="outgoing-only">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Bill</firstname>
- <surname>Moran</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- </sect1info>
-
- <title>Configuración para sólamente enviar correo</title>
-
- <para>Existen multitud de casos en los que puede bastarnos con enviar
- nuestro correo a través de una pasarela o relay. He aquí
- algunos de ellos:</para>
-
- <itemizedlist>
- <listitem>
- <para>Nuestra computadora es una máquina de escritorio, pero
- queremos ser capaces de utilizar programas como &man.send-pr.1;.
- Para ello se debería utilizar el relay de nuestro ISP.</para>
- </listitem>
-
- <listitem>
- <para>Nuestra computadora es un servidor que no gestiona correo de
- forma local, si no que necesita pasar todos los correos recibidos
- una pasarela que se encarga de su procesamiento y entrega
- final.</para>
- </listitem>
- </itemizedlist>
-
- <para>Casi cualquier <acronym>MTA</acronym> es capaz de actuar como
- pasarela o relay. Por desgracia configurar un MTA para que sólo
- gestione correo saliente puede ser muy complicado. Programas del estilo
- de <application>sendmail</application> y <application>
- postfix</application> son demasiado pesados para realizar
- sólamente esta tarea.</para>
-
- <para>Si además estamos utilizando un servicio de acceso a internet
- típico nuestro contrato puede prohibir explícitamente
- la ejecución de un servidor de correo (o los puertos pueden estar
- filtrados).</para>
-
- <para>La forma más sencilla de utilizar un servicio de pasarela es
- mediante la instalación del port
- <filename role="package">mail/ssmtp</filename>. Basta con ejecutar el
- siguiente comando como <username>root</username>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
-&prompt.root; <userinput>make install replace clean</userinput></screen>
-
- <para>Una vez que ha sido instalado <filename
- role="package">mail/ssmtp</filename> podemos configurarlo
- mediante un fichero de sólo cuatro líneas ubicado en
- <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para>
-
- <programlisting>root=sudireccionrealdecorreo@ejemplo.com
-mailhub=mail.ejemplo.com
-rewriteDomain=ejemplo.com
-hostname=_HOSTNAME_</programlisting>
-
- <para>Debemos asegurarnos de que se utiliza una dirección de correo
- real para <username>root</username>. Se debe introducir nuestra
- pasarela de correo en lugar de <hostid role="fqdn">
- mail.ejemplo.com</hostid> (algunos ISP llaman a la pasarela
- <quote>servidor de correo saliente</quote> o simplemente
- <quote>servidor SMTP</quote>).</para>
-
- <para>Debemos asegurarnos de que se desactiva
- <application>sendmail</application> mediante
- <literal>sendmail_enable="NONE"</literal>
- en <filename>/etc/rc.conf</filename>.</para>
-
- <para><filename role="package">mail/ssmtp</filename> acepta algunas otras
- opciones. Consulte el fichero de ejemplo que encontrará en
- <filename>/usr/local/etc/ssmtp</filename>; consulte también
- la página de manual de <application>ssmtp</application>,
- en la que hay más ejemplos e información al respecto.
- </para>
-
- <para>Ejecutar <application>ssmtp</application> de esta forma permite que
- cualquier software de nuestra computadora que necesite enviar correo
- funcione sin problemas y a la vez poder cumplir con las normas
- estipuladas en el contrato con nuestro ISP. Al mismo tiempo evitamos el
- uso de nuestro servidor de correo por parte de <quote>
- spammers</quote>.</para>
- </sect1>
-
- <sect1 id="SMTP-dialup">
- <title>Utilización del correo con una conexión mediante módem analógico (dial-up)</title>
-
- <para>Si se dispone de una dirección IP privada no es necesario
- realizar ningún ajuste a partir de la configuración por
- defecto. Basta con asignar como nombre de nuestra máquina el
- nombre que tenemos registrado en el DNS y <application>
- sendmail</application> se encargará del resto.</para>
-
- <para>Por otra parte si utilizamos una conexión temporal a internet
- mediante PPP y se nos asigna una dirección IP
- de forma dinámica, lo más normal es tener nuestras
- carpetas de correo alojadas en el servidor de correo de
- nuestro proveedor de servicios. Supongamos que el dominio de nuestro
- ISP es <hostid
- role="domainname">ejemplo.net</hostid> y que nuestro nombre de usuario
- es <username>usuario</username>; además hemos llamado a nuestra
- <username>user</username>, además, hemos llamado a nuestra
- máquina <hostid
- role="fqdn">bsd.home</hostid>, y nuestro ISP nos ha comunicado que
- debemos utilizar como pasarela la máquina <hostid
- role="fqdn">relay.ejemplo.net</hostid>.</para>
-
- <para>Para recuperar correo de nuestra carpeta de correo se debe instalar
- un agente de recuperación automática de correo.
- <application>fetchmail</application> es una buena elección puesto
- que permite utilizar varios protocolos. Este programa está
- disponible como un paquete y también desde la colección de
- ports (<filename
- role="package">mail/fetchmail</filename>). Normalmente nuestro
- <acronym>ISP</acronym> proporciona <acronym>POP</acronym>
- <acronym>POP</acronym>. Si utilizamos <acronym>ppp</acronym> a nivel de
- usuario se puede recuperar automáticamente el correo cuando se
- establece la conexión <acronym>ppp</acronym> utilizando
- el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para>
-
- <programlisting>MYADDR:
-!bg su user -c fetchmail</programlisting>
-
- <para>Si utilizamos <application>sendmail</application> (como se muestra
- más adelante) para entregar correo a cuentas remotas
- probablemente queramos que <application>sendmail</application>
- procese nuestras colas de correo tan pronto como nuestra conexión
- de internet se establezca. Para ello escriba el siguiente comando tras
- el comando de <command>fetchmail</command> que hemos escrito antes en
- el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para>
-
- <programlisting> !bg su user -c "sendmail -q"</programlisting>
-
- <para>Asumiendo que tenemos una cuenta para el usuario
- <username>usuario</username> en <hostid
- role="fqdn">bsd.home</hostid>. En el directorio <quote>home</quote>
- del usuario <username>usuario</username> en la máquina
- <hostid role="fqdn">bsd.home</hostid> debemos crear un fichero
- <filename>.fetchmailrc</filename> con el siguiente contenido:</para>
-
- <programlisting>poll ejemplo.net protocol pop3 fetchall pass Secr3To</programlisting>
-
- <para>Este fichero debe tener permisos de lectura sólo para el
- propio dueño ya que contiene la contraseña de acceso
- a nuestra cuenta de POP en nuestro ISP (<literal>
- Secr3To</literal>).</para>
-
- <para>Para poder enviar correo con la cabecera <literal>from:</literal>
- correcta, debemos decir a
- <application>sendmail</application> que utilice
- <literal>usuario@ejemplo.net</literal> en vez de
- <literal>usuario@bsd.home</literal>. Siguiendo con nuestro ejemplo
- es necesario decirle a <application>sendmail</application> que
- envíe todo el correo a través de la pasarela
- <hostid role="fqdn">relay.ejemplo.net</hostid>.</para>
-
- <para>El siguiente fichero de configuración
- <filename>.mc</filename> debe ser suficiente para cumplir
- con las anteriores tareas:</para>
-
- <programlisting>VERSIONID(`bsd.home.mc version 1.0')
-OSTYPE(bsd4.4)dnl
-FEATURE(nouucp)dnl
-MAILER(local)dnl
-MAILER(smtp)dnl
-Cwlocalhost
-Cwbsd.home
-MASQUERADE_AS(`ejemplo.net')dnl
-FEATURE(allmasquerade)dnl
-FEATURE(masquerade_envelope)dnl
-FEATURE(nocanonify)dnl
-FEATURE(nodns)dnl
-define(`SMART_HOST', `relay.ejemplo.net')
-Dmbsd.home
-define(`confDOMAIN_NAME',`bsd.home')dnl
-define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
-
- <para>En la sección anterior se explica cómo convertir este
- fichero <filename>.mc</filename> en un fichero de
- configuración para <application>sendmail</application>,
- <filename>sendmail.cf</filename>. No debemos olvidar
- reiniciar <application>sendmail</application>
- después de mofidificar el fichero <filename>
- sendmail.cf</filename>.</para>
- </sect1>
-
- <sect1 id="SMTP-Auth">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>James</firstname>
- <surname>Gorham</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- </sect1info>
-
- <title>Autentificación utilizando SMTP</title>
-
- <para>La autentificación mediante SMTP puede proporcionarnos
- diversas ventajas. Añade una capa adicional de seguridad a
- a <application>sendmail</application> y además proporciona a los
- usuarios móviles (usuarios que cambian de máquina)
- la posibilidad de mantener el mismo servidor de correo sin necesidad de
- reconfigurar sus agentes de usuario de correo cada vez que se
- trasladan.</para>
-
- <procedure>
- <step>
- <para>Instalar <filename role="package">security/cyrus-sasl</filename>
- desde los ports. Se puede encontrar dicho port en
- <filename role="package">security/cyrus-sasl</filename>.
- <filename role="package">security/cyrus-sasl</filename> posée
- varias opciones en tiempo de compilación pero para el
- método en particular que se va a explicar en esta
- sección basta con asegurarse de seleccionar
- la opción <option>pwcheck</option>.</para>
- </step>
-
-
- <step>
- <para>Después de instalar <filename
- role="package">security/cyrus-sasl</filename>,
- edite <filename>/usr/local/lib/sasl/Sendmail.conf</filename>
- (o créelo si no existe) y añada la siguiente
- línea:</para>
-
- <programlisting>pwcheck_method: passwd</programlisting>
-
- <para>Este método activa la autentificación de
- <application>sendmail</application> contra nuestra base de
- datos de FreeBSD, <filename>passwd</filename>.
- Esto nos evita el problema de tener que crear un nuevo conjunto de
- usuarios y contraseñas para cada usuario que necesite
- validarse mediante SMTP y además nos permite mantener el
- mismo <quote>login</quote> y contraseña que los usuarios
- utilizan para acceder a sus cuentas para el acceso al correo
- electrónico.</para>
- </step>
-
- <step>
- <para>Editar<filename>/etc/make.conf</filename> y añadir las
- siguientes líneas:</para>
-
- <programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
-SENDMAIL_LDFLAGS=-L/usr/local/lib
-SENDMAIL_LDADD=-lsasl</programlisting>
-
- <para>Estas líneas proporcionan a <application>
- sendmail</application> las opciones de configuración necesarias
- para enlazar con <filename role="package">cyrus-sasl</filename> en
- tiempo de compilación. Debemos asegurarnos de que <filename
- role="package">cyrus-sasl</filename> ha sido instalado correctamente
- recompilar <application>sendmail</application>.</para>
- </step>
-
- <step>
- <para>Recompile <application>sendmail</application> utilizando el
- siguiente comando:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
-&prompt.root; <userinput>make cleandir</userinput>
-&prompt.root; <userinput>make obj</userinput>
-&prompt.root; <userinput>make</userinput>
-&prompt.root; <userinput>make install</userinput></screen>
-
- <para>La compilación de <application>sendmail</application> no
- debería dar problemas siempre y cuando
- <filename>/usr/src</filename> no haya cambiado sustancialmente y
- siempre y cuando las bibliotecas compartidas
- necesarias se encuentren disponibles.</para>
- </step>
-
- <step>
- <para>Una vez que <application>sendmail</application> se ha compilado
- y reinstalado con correctamente debemos editar el fichero
- <filename>/etc/mail/freebsd.mc</filename> (o el fichero que se
- utilice como <filename>.mc</filename> de referencia. Hay
- administradores que escogen utilizar la salida de &man.hostname.1;
- como el nombre del fichero <filename>.mc</filename> que se utiliza
- para la configuración de sendmail por motivos de
- uniformidad ). Añada las siguientes líneas a dicho
- fichero:</para>
-
- <programlisting>dnl set SASL options
-TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
-define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
-define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting>
-
- <para>Estas opciones configuran los distintos métodos
- de que dispone <application>sendmail</application> para validar a
- los usuarios de correo. Si se desea utilizar otro método
- distinto a <application>pwcheck</application> por favor consulte
- la documentación.</para>
- </step>
-
- <step>
- <para>Para terminar ejecutamos &man.make.1; mientras nos encontramos
- dentro de <filename>/etc/mail</filename>.
- Este comando trata el fichero <filename>.mc</filename> y crea el
- fichero <filename>.cf</filename> correspondiente
- (con el mismo nombre que el anterior pero terminado en .cf).
- A continuación se utiliza el comando <command>
- make install restart</command>, el cual copia el fichero .cf
- recién generado al fichero <filename>
- sendmail.cf</filename> y a continuación reinicia
- <application>sendmail</application>.
- Para más información sobre este proceso puede
- consultarse el contenido de
- <filename>/etc/mail/Makefile</filename>.</para>
- </step>
- </procedure>
-
- <para>Si todo lo anteriormente comentado ha funcionado correctamente
- deberíamos ser capaces de introducir la información de
- nuestro <quote>login</quote> en nuestro cliente de correo y enviar un
- mensaje de prueba. Para investigar más a fondo estos temas se
- puede habilitar la opción <option>LogLevel</option> de
- <application>sendmail</application> al valor 13 y observar detenidamente
- el archivo <filename>/var/log/maillog</filename> en busca de posibles
- mensajes de error.</para>
-
- <para>Puede ser necesario añadir las siguientes líneas al
- fichero <filename>/etc/rc.conf</filename> de modo que el servicio
- explicado en esta sección se encuentre disponible
- automáticamente desde el arranque:</para>
-
- <programlisting>sasl_pwcheck_enable="YES"
-sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting>
-
- <para>Esto permite que la inicialización de <acronym>SMTP_AUTH</acronym> se produzca durante el arranque del sistema.</para>
-
- <para>Para más información por favor visite la página
- <ulink url="http://www.sendmail.org/~ca/email/auth.html">
- autentificación <acronym>SMTP</acronym></ulink>
- de <application>sendmail</application>·</para>
-
- </sect1>
-
- <sect1 id="mail-agents">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Marc</firstname>
- <surname>Silver</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- </sect1info>
- <title>Agente de Correo de Usuario</title>
-
- <indexterm>
- <primary>Agentes de Correo de Usuario</primary>
- </indexterm>
-
- <para>Un agente de correo de usuario (<acronym>MUA</acronym> en
- inglés Mail User Agent) es una aplicación
- que se utiliza para enviar y recibir correo. Coomo el correo
- electrónico está en constante evolución
- y cada vez se vuelve más complejo y con más opciones,
- los MUAs son cada vez más complejos y potentes.
- Esto permite a los usuarios disponer de mayor flexibilidad y
- funcionalidad. &os; admite para muchísimos
- agentes de correo de usuario, todos los cuales pueden instalarse
- desde los
- <link linkend="ports">Ports</link>. Los usuarios pueden elegir entre
- lientes de correo con interfaz gráfica como
- <application>evolution</application> o <application>balsa</application>
- o entre clientes basados en consola como
- <application>mutt</application>, <application>pine</application>
- o <command>mail</command>, e incluso utilizar interfaces web.</para>
-
- <sect2 id="mail-command">
- <title>mail</title>
-
- <para>&man.mail.1; es el agente de correo de usuario
- (<acronym>MUA</acronym>) que viene por defecto con &os;. Es un MUA de
- consola que ofrece toda la funcionalidad básica
- necesaria para enviar y recibir correos, aunque resulta limitado
- limitado en su capacidad para manejar adjuntos y sólamente
- soporta carpetas de correo locales.</para>
-
- <para>Aunque <command>mail</command> no soporta de forma nativa la
- interacción con servidores de correo mediante
- <acronym>POP</acronym> o
- <acronym>IMAP</acronym> estas carpetas de correo remotas pueden
- descargarse a un fichero
- <filename>mbox</filename> local utilizando una aplicación de
- descarga como <application>fetchmail</application>, que se describe
- en este mismo capítulo en (<xref
- linkend="mail-fetchmail"/>).</para>
-
- <para>Para enviar y recibir correo eletrónico basta con
- ejecutar el comando
- <command>mail</command>. Veamos un ejemplo:</para>
-
- <screen>&prompt.user; <userinput>mail</userinput></screen>
-
- <para>El contenido de la carpeta de usuario en el directorio
- <filename role="directory">/var/mail</filename> se leen
- automáticamente.
- Si la carpeta se encuentra vacía la aplicación termina
- su ejecución con un mensaje que indica que no ha podido
- encontrar correo. Una vez que la carpeta ha sido
- leída la interfaz de la aplicación entra en
- funcionamiento y se muestra por pantalla un listado de los
- mensajes recuperados. Los mensajes se numeran
- automáticamente y pueden leerse como se observa en el
- siguiente ejemplo:</para>
-
- <screen>Mail version 8.1 6/6/93. Type ? for help.
-"/var/mail/marcs": 3 messages 3 new
->N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
- N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
- N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen>
-
- <para>Los mensajes se pueden leer utilizando el comando <keycap>
- t</keycap> de <command>mail</command> escribiendo a continuación
- el número del mensaje que queremos leer.
- En este ejemplo vamos a leer el primer correo:</para>
-
- <screen>& <userinput>t 1</userinput>
-Message 1:
-From root@localhost Mon Mar 8 14:05:52 2004
-X-Original-To: marcs@localhost
-Delivered-To: marcs@localhost
-To: marcs@localhost
-Subject: test
-Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
-From: root@localhost (Charlie Root)
-
-This is a test message, please reply if you receive it.</screen>
-
- <para>Como podemos observar en el ejemplo anterior el comando
- <keycap>t</keycap> muestra el contenido del correo
- eletrónico con todas sus cabeceras. Para mostrar el
- listado con todos los correos de nuevo, se debe utilizar la tecla
- <keycap>h</keycap>.</para>
-
- <para>Si el correo eletrónico requiere una contestación
- se puede utilizar la aplicación
- <command>mail</command> para responder utilizando la tecla
- <keycap>R</keycap> o <keycap>r</keycap>. La tecla
- <keycap>R</keycap> indica a
- <command>mail</command> que conteste sólo al origen (remitente)
- del correo, mientras que la tecla <keycap>r</keycap> tanto
- al remitente a los otros usuarios receptores del mensaje original.
- Además ambos comandos se pueden ejecutar escribiendo a
- continuación el número que identifica al mensaje que
- se quiere responder. Tras esto la respuesta puede redactarse
- , y se debe indicar el final del mensaje mediante un punto
- (<keycap>.</keycap>) a continuación de un salto de
- línea. Veamos un ejemplo:</para>
-
- <screen>& <userinput>R 1</userinput>
-To: root@localhost
-Subject: Re: test
-
-<userinput>Thank you, I did get your email.
-.</userinput>
-EOT</screen>
-
- <para>Para enviar nuevos correos eletrónicos se debe utilizar
- la tecla <keycap>m</keycap> seguida de la dirección de
- de correo del destinatario. Se pueden especificar varios
- destinatarios de correo separando cada dirección de correo
- con una coma ( <keycap>,</keycap> ).
- El asunto del mensaje de correo se puede escribir a
- continuación seguido por el cuerpo del mensaje. El final del
- mensaje se especifica como en el caso anterior, utilizando un
- <keycap>.</keycap> tras un saldo de línea y pulsando la
- tecla <quote>enter</quote>.</para>
-
- <screen>& <userinput>mail root@localhost</userinput>
-Subject: <userinput>I mastered mail
-
-Now I can send and receive email using mail ... :)
-.</userinput>
-EOT</screen>
-
- <para>Mientras nos encontremos dentro de la <command>mail</command>
- el comando <keycap>?</keycap> puede utilizarse para mostrar la
- ayuda en línea aunque la principal fuente de información
- detallda sobre esta aplicación es la página man
- &man.mail.1;.</para>
-
- <note>
- <para>Tal y como se ha dicho ya la aplicación &man.mail.1;
- no fue diseñada originalmente para gestionar adjuntos, por
- lo que su forma de gestionarlos resulta ser extremadamente mala.
- <acronym>MUA</acronym> más modernos como <application>
- mutt</application> gestionan los adjuntos de correo
- de una forma mucho más inteligente. Si se desea utilizar el
- comando <command>mail</command> el port <filename
- role="package">converters/mpack</filename> le puede resultar
- bastante útil.</para>
- </note>
- </sect2>
-
- <sect2 id="mutt-command">
- <title>mutt</title>
-
- <para><application>mutt</application> es un agente de correo de usuario
- pequeño pero muy potente, funcional y con excelentes
- características; veamos algunas:</para>
-
- <itemizedlist>
- <listitem>
- <para>La habilidad de agrupar mensajes en hilos.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de PGP para cifradon y firma digital de correos
- eletrónicos.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de tipos MIME.</para>
- </listitem>
-
- <listitem>
- <para>Soporte de gestión de correo en formato Maildir.</para>
- </listitem>
-
- <listitem>
- <para>Altamente configurable por el usuario.</para>
- </listitem>
- </itemizedlist>
-
- <para>Toda estas características hacen de
- <application>mutt</application> uno de los agentes de correo
- más avanzados del momento.
- Consulte <ulink url="http://www.mutt.org"></ulink> para más
- información sobre <application>mutt</application>.</para>
-
- <para>La versión estable de <application>mutt</application> se
- puede instalar usando el port <filename
- role="package">mail/mutt</filename> mientras que la versión de
- desarrollo está en <filename
- role="package">mail/mutt-devel</filename>. Una vez que se ha
- instalado el port, <application>mutt</application> puede ejecutarse
- mediante el siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>mutt</userinput></screen>
-
- <para><application>mutt</application> lee automáticamente el
- contenido de la carpeta de correo del usuario dentro del directorio
- <filename role="directory">/var/mail</filename> y muestra por pantalla
- su contenido. Si el directorio está vacío
- <application>mutt</application>
- quedará a la espera de los comandos que pueda pasarle el
- usuario. En el ejemplo que se muestra a continuación
- puede verse cómo <application>mutt</application> facilita
- la lista de mensajes al usuario:</para>
-
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt1" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>Para leer un correo basta con seleccionarlo usando las teclas de cursor, y
- presionando la tecla <keycap>Enter</keycap>. Veamos cómo
- muestra <application>mutt</application> un correo
- electrónico:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt2" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>Al igual que ocurre con &man.mail.1;
- <application>mutt</application> permite que los usuarios contesten al
- remitente de cualquier mensaje así como a los demás
- receptores. Para responder sólo al remitente se puede utilizar
- la tecla <keycap>r</keycap>. Para responder a un grupo, es decir a
- todos los receptores y al remitente del correo
- eletrónico pulse <keycap>g</keycap>.</para>
-
- <note>
- <para><application>mutt</application> tiene &man.vi.1;
- como editor por defecto para crear y responder a los mensajes de
- correo eletrónico. Si prefiere emplear otro editor
- modifique el valor de la variable <literal>editor</literal> en
- <filename>.muttrc</filename>.</para>
- </note>
-
- <para>Para escribir un mensaje de correo presione la tecla
- <keycap>m</keycap>. Después de escribir el asunto
- <application>mutt</application> ejecuta &man.vi.1; y el cuerpo del
- mensaje puede escribirse. Una vez escrito el correo
- salga de <command>vi</command> y <application>mutt</application> se
- ejecutará de nuevo mostrando por pantalla un resumen del
- correo que está a punto de ser enviado. Para enviar ese
- correo hay que pulsar <keycap>y</keycap>. Este es un ejemplo de
- uno de esos resúmenes:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/mutt3" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para><application>mutt</application> también contiene una amplia
- ayuda a la que se accede desde la mayoría de los
- menús pulsando la tecla <keycap>?</keycap>. La primera
- lína de la pantalla también muestra las teclas de
- método abreviado cuando es posible utilizarlas.</para>
- </sect2>
-
- <sect2 id="pine-command">
- <title>pine</title>
-
- <para><application>pine</application> es una aplicación de correo
- enfocada a los usuarios principiantes o inexpertos pero
- también incluye algunas características avanzadas.</para>
-
- <warning>
- <para>Se han descubierto en <application>pine</application> varias
- vulnerabilidades que pueden explotarse de forma remota.
- Esas vulnerabilidades permiten que atacantes remotos puedan ejecutar
- código como si fueran usuarios locales del sistema
- mediante el envío de correos con un formato determinado.
- Todos los problemas <emphasis>conocidos</emphasis> se han
- resuelto pero el código de <application>
- pine</application> está escrito de una forma insegura y el
- <quote>Security Officer</quote> de &os; opina que es probable que
- existan todavía vulnerabilidades sin descubrir. Si decide
- instalar <application>pine</application>
- debe asumir los riesgos que ello puede implicar.</para>
- </warning>
-
- <para>La versión actual de <application>pine</application> se
- puede instalar utilizando el port <filename
- role="package">mail/pine4</filename>. Una vez que se ha instalado
- <application>pine</application> se puede ejecutar mediante el siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>pine</userinput></screen>
-
- <para>La primera vez que se ejecuta <application>pine</application> se
- muestra un mensaje de bienvenida con una pequeña
- introducción a la herramienta junto con una petición del
- equipo de desarrollo de <application>pine</application> en la que se
- solicita que se envíe un correo de forma anónima
- un correo de forma anónima para que puedan hacerse una idea s
- de cuántos usuarios están utilizando
- la herramienta. Para enviar dicho correo hay que presionar la tecla
- <keycap>Enter</keycap>, o bien puede pulsar
- la tecla <keycap>E</keycap> para salir de la ventana de bienvenida
- sin enviar dicho correo. A continuación se muestra un ejemplo
- de la página de bienvenida:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine1" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>Los usuarios disponen de un menú principal, que puede
- navegarse utilizando las flechas. Este menú proporciona
- atajos para la composición de nuevos correos, para navegar a
- través de las carpetas de correo, e incluso para
- la administración de la libreta de direcciones. Justo debajo
- del menú principal, se muestran las teclas de método
- abreviado (atajos) que pueden utilizarse en cada momento.</para>
-
- <para>El directorio por defecto que <application>pine</application>
- intenta abrir es <filename
- role="directory">inbox</filename>. Para ver el índice de
- todos los mensajes recibidos pulse la tecla
- <keycap>I</keycap> o seleccione la opción de menú
- denominada
- <guimenuitem>MESSAGE INDEX</guimenuitem> como se muestra a
- continuación:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine2" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>El índice muestra los mensajes en el directorio actual y
- puede navegarse en él utilizando las teclas
- del cursor. El mensaje seleccionado se puede leer presionando la
- tecla <keycap>Enter</keycap>.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine3" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>En la captura de pantalla que se muestra a continuación se
- muestra un mensaje de ejemplo. Las teclas de atajo se muestran
- como referencia en la parte baja de la pantalla. Un ejemplo de dichas
- teclas de método abreviado es la tecla <keycap>r</keycap> que
- permite responder al mensaje que se muestra en dicho momento.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine4" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para>La contestación a un mensaje de correo eletrónico
- en <application>pine</application> se realiza mediante el editor
- <application>pico</application>, que se instala por defecto junto con
- <application>pine</application>. <application>pico</application>
- permite navegar de forma sencilla por los distintos mensajes de
- correo y es ligeramente más sencilla de manejar
- que &man.vi.1;, sobre todo para los usuarios noveles. Una vez que se
- ha escrito la réplica al correo se envía pulsando
- la tecla
- <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap>
- </keycombo>. <application>pine</application> pedirá
- confirmación antes de enviarlo.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="mail/pine5" format="PNG"/>
- </imageobject>
- </mediaobject>
-
- <para><application>pine</application> puede configurarse utilizando la
- entrada <guimenuitem>SETUP</guimenuitem> del menú principal.
- Se ruega consultar <ulink
- url="http://www.washington.edu/pine/"></ulink>
- para obtener más información.</para>
-
- </sect2>
- </sect1>
-
- <sect1 id="mail-fetchmail">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Marc</firstname>
- <surname>Silver</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- </sect1info>
- <title>Manejo de fetchmail</title>
-
- <indexterm>
- <primary>Uso de fetchmail</primary>
- </indexterm>
-
- <para><application>fetchmail</application> es un cliente de
- <acronym>IMAP</acronym> y <acronym>POP</acronym> que permite a
- los usuarios descargar automáticamente el correo de cuentas
- remotas en servidores
- <acronym>IMAP</acronym> y <acronym>POP</acronym> y almacenarlos
- en carpetas de correo locales; una vez en local, se puede acceder a los
- correos de una forma más sencilla y utilizando multitud de
- programas cliente.
- <application>fetchmail</application> se puede instalar a partir del port
- <filename role="package">mail/fetchmail</filename>. Veamos algunas de
- sus características más útiles:</para>
-
- <itemizedlist>
- <listitem>
- <para>Suporte de <acronym>POP3</acronym>,
- <acronym>APOP</acronym>, <acronym>KPOP</acronym>,
- <acronym>IMAP</acronym>, <acronym>ETRN</acronym> y
- <acronym>ODMR</acronym>.</para>
- </listitem>
-
- <listitem>
- <para>Puede reenviar correo utilizando <acronym>SMTP</acronym> lo que
- permite que las reglas de filtrado, reenvío y
- <quote>aliasing</quote> funcionen correctamente.</para>
- </listitem>
-
- <listitem>
- <para>Se puede ejecutar en modo d&aelig;mon comprobar
- periódicamente el correo entrante.</para>
- </listitem>
-
- <listitem>
- <para>Puede recuperar correo de múltiples carpetas y reenviarlos, en función de la configuración establecida,
- a varios usuarios locales.</para>
- </listitem>
- </itemizedlist>
-
- <para>Queda fuera del objetivo de este documento explicar todas las
- características de
- <application>fetchmail</application> pero algunas de ellas se exponen a
- ontinuación.
- <application>fetchmail</application> usa un fichero de
- configuración denominado
- <filename>.fetchmailrc</filename>. Este fichero incluye
- información sobre el servidor de correo remoto y los datos
- necesarios para poder hacer login en él. Debido a la naturaleza
- sensible de la información que se almacena en dicho fichero
- se recomienda modificar los permisos para que sea de sólo
- sea legible por su propietario. Lo conseguirá mediante el
- siguiente comando:</para>
-
- <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
-
- <para>El siguiente ejemplo muestra un fichero de configuración
- <filename>.fetchmailrc</filename>.
- Este ejemplo sirve para automatizar la descarga del correo de un
- determinado usuario mediante <acronym>POP</acronym>. El fichero de
- configuración hace que
- <application>fetchmail</application> se conecte a <hostid
- role="fqdn">ejemplo.com</hostid> utilizando como nombre de usuario
- <username>joesoap</username> y como contraseña
- <literal>XXX</literal>. En el ejemplo se asume que el usuario
- <username>joesoap</username> también es un usuario válido
- en el sistema local.</para>
-
- <programlisting>poll ejemplo.com protocol pop3 username "joesoap" password "XXX"</programlisting>
-
- <para>El siguiente ejemplo permite a <application>fetchmail</application>
- conectarse a múltiples servidores
- <acronym>POP</acronym> e <acronym>IMAP</acronym> y redirige los correos
- a diferentes usuarios locales en función
- de la configuración establecida:</para>
-
- <programlisting>poll ejemplo.com proto pop3:
-user "joesoap", with password "XXX", is "jsoap" here;
-user "andrea", with password "XXXX";
-poll ejemplo.net proto imap:
-user "john", with password "XXXXX", is "myth" here;</programlisting>
-
- <para><application>fetchmail</application> se puede ejecutar en modo
- d&aelig;mon mediante el parámetro <option>-d</option> seguido
- seguido por un intervalo de tiempo (expresado en segundos)
- que indica cada cuánto tiempo debe
- <application>fetchmail</application> interrogar a los distintos
- servidores listados en <filename>.fetchmailrc</filename>.
- El siguiente ejemplo hace que
- <application>fetchmail</application> interroge cada 60 segundos:</para>
-
- <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen>
-
- <para>Se puede encontrar más información sobre
- <application>fetchmail</application> en <ulink
- url="http://www.catb.org/~esr/fetchmail/"></ulink>.</para>
- </sect1>
-
- <sect1 id="mail-procmail">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Marc</firstname>
- <surname>Silver</surname>
- <contrib>Escrito por </contrib>
- </author>
- </authorgroup>
- </sect1info>
- <title>Uso de procmail</title>
-
- <indexterm>
- <primary>Uso de procmail</primary>
- </indexterm>
-
- <para><application>procmail</application> es una aplicación
- increíblemente potente que se utiliza para filtrar el correo de
- entrada.
- Permite a los usuarios definir <quote>reglas</quote> que se asocian
- con correos entrantes y que realizan funciones concretas, como
- reencaminar el correo a carpetas o direciones alternativas.
- <application>procmail</application> se puede instalar utilizando el port
- <filename role="package">mail/procmail</filename>. Una vez instalado,
- se puede integrar directamente en la mayoría de los
- <acronym>MTA</acronym>s; por favor, consulte
- la documentación del <acronym>MTA</acronym> que utilice para
- saber más sobre la integración entre ambos.
- Por otro lado <application>procmail</application> se puede integrar
- con el <acronym>MTA</acronym> que prefiera de una forma sencilla
- añadiendo la siguiente línea al
- fichero <filename>.forward</filename> dentro del directorio home del
- usuario que desée usar <application>
- procmail</application>:</para>
-
- <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
-
- <para>La siguiente sección muestra algunas reglas básicas de
- <application>procmail</application>, junto con una breve
- descripción de las acciones que realizan.
- Estas reglas, y muchas otras se deben insertar dentro del fichero
- <filename>.procmailrc</filename> ubicado en el directorio home del
- usuario.</para>
-
-
- <para>En la página man de <quote>procmailex</quote> se explica
- la mayoría de estas reglas.</para>
-
- <para>Reenvío de todo el correo proveniente de
- <literal>usuario@ejemplo.com</literal> hacia la
- dirección externa <literal>correodefiar@ejemplo.com</literal>:</para>
-
- <programlisting>:0
-* ^From.*usuario@ejemplo.com
-! correodefiar@ejemplo.com</programlisting>
-
- <para>Reenvío de todos los correos que ocupen menos de 1000 bytes
- a la dirección <literal>corredefiar@ejemplo2.com</literal>:</para>
-
- <programlisting>:0
-* < 1000
-! correodefiar@ejemplo2.com</programlisting>
-
- <para>Envío de todos los correos dirigidos a
- <literal>opcional@ejemplo.com</literal>
- hacia una carpeta de correo llamada <filename>opcional</filename>:</para>
-
- <programlisting>:0
-* ^TOopcional@ejemplo.com
-opcional</programlisting>
-
- <para>Envío de todos los correos con un asunto que contenga la
- palabra <quote>Spam</quote> al
- dispositivo <filename>/dev/null</filename>:</para>
-
- <programlisting>:0
-^Subject:.*Spam
-/dev/null</programlisting>
-
- <para>Una útil receta para examinar mensajes de correo provenientes
- de listas de distribución de
- <hostid role="domainname">&os;.org</hostid> y poner cada mensaje en
- el directorio apropiado en función del origen del mensaje:</para>
-
- <programlisting>:0
-* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
-{
- LISTNAME=${MATCH}
- :0
- * LISTNAME??^\/[^@]+
- FreeBSD-${MATCH}
-}</programlisting>
- </sect1>
-
-</chapter>