<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ES"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <META NAME="GENERATOR" CONTENT="lfparser_2.9"> <META NAME="LFCATEGORY" CONTENT="System Administration"> <TITLE>lf130, System Administration: Sendmail y fetchmail: Un servidor de correo local</TITLE> <!-- stylesheet added by lfparser: --> <style type="text/css"> <!-- pre { font-familiy:monospace,Courier } --> </style> </HEAD> <BODY bgcolor="#ffffff" text="#000000"> <!-- this is generated html code. NEVER use this file for your translation work. Instead get the file with the same article number and .meta.shtml in its name. Translate this meta file and then use lfparser program to generate the final article --> <!-- lfparser can be obtained from http://main.linuxfocus.org/~guido/dev/lfparser.html --> <!-- 2pdaIgnoreStart --> <MAP name="top"> <AREA shape="rect" coords="367,9,418,30" alt="Hogar" href="../index.shtml"> <AREA shape="rect" coords="423,9,457,30" alt="Mapa" href="../map.html"> <AREA shape="rect" coords="463,9,508,30" alt="Indice" href="../indice.html"> <AREA shape="rect" coords="514,9,558,30" alt="Busqueda" href="../Search/index.html"> </MAP> <MAP name="bottom"> <AREA shape="rect" coords="78,0,163,15" alt="Noticias" href="../News/index.shtml"> <AREA shape="rect" coords="189,0,284,15" alt="Arca" href="../Archives/index.html"> <AREA shape="rect" coords="319,0,395,15" alt="Enlaces" href="../Links/index.html"> <AREA shape="rect" coords="436,0,523,15" alt="Sobre LF" href="../aboutus.html"> </MAP> <!-- IMAGE HEADER --> <CENTER> <IMG src="../../common/images/Topbar-es.gif" width="600" height="40" border="0" alt="[Top bar]" ismap usemap="#top" ><BR> <IMG src="../../common/images/Bottombar-es.gif" width="600" height="21" border="0" alt="[Bottom bar]" ismap usemap="#bottom"> </CENTER> <!-- SSI_INFO --> <!-- tr_staticssi include virtual --> <!-- tr_staticssi exec cmd --> <!-- addedByLfdynahead ver 1.1 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Este artículo está disponible en los siguientes idiomas: <A href="../../English/May2000/article130.shtml">English</a> <A href="../../Castellano/May2000/article130.shtml">Castellano</a> <A href="../../Deutsch/May2000/article130.shtml">Deutsch</a> <A href="../../Francais/May2000/article130.shtml">Francais</a> <A href="../../Italiano/May2000/article130.shtml">Italiano</a> <A href="../../Nederlands/May2000/article130.shtml">Nederlands</a> <A href="../../Russian/May2000/article130.shtml">Russian</a> <A href="../../Turkce/May2000/article130.shtml">Turkce</a> </FONT></TD></TR></TABLE><br> <!-- 2pdaIgnoreStop --> <!-- SHORT BIO ABOUT THE AUTHOR --> <TABLE ALIGN=LEFT BORDER=0 hspace=4 vspace=4 WIDTH="30%" > <TR> <TD> <!-- 2pdaIgnoreStart --> <!-- PALM DOC --> <TABLE BORDER=0 hspace=4 vspace=4> <TR> <TD> <font size=1> <img src="../../common/images/2doc.gif" width=34 align=left border=0 height=22 alt="convert to palm"><a href="http://cgi.linuxfocus.org/cgi-bin/2ztxt">Convert to GutenPalm</a><br>or <a href="http://cgi.linuxfocus.org/cgi-bin/2pda">to PalmDoc</a></font> </TD> </TR> </TABLE> <!-- END PALM DOC --> <!-- 2pdaIgnoreStop --> <br> <IMG SRC="../../common/images/John-Perr.gif" ALT="[Photo de láuteur]" HEIGHT=147 WIDTH=122> <BR>por <A HREF="mailto:johnperr@linuxfocus.org">John Perr</A> <BR><BR> <I>Sobre el autor:</I><BR> <P> Usuario de Linux desde 1994; él es un editor de Francés de LinuxFocus. </P> <BR><i>Contenidos</i>: <UL> <LI><A HREF="#lfindex0">Introducción</A></LI> <LI><A HREF="#lfindex1"> Configuración</A></LI> <LI><A HREF="#lfindex2"> Prueba sendmail</A></LI> <LI><A HREF="#lfindex3"> Configuración de fetchmail</A></LI> <LI><A HREF="#lfindex4"> Automatización</A></LI> <LI><A HREF="#lfindex5"> Conclusión</A></LI> <LI><A HREF="#lfindex6"> Otros artículos relacionados</A></LI> <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=130&lang=es">Formulario de "talkback" para este artículo</A></LI> </UL> </TD></TR></TABLE> <!-- HEAD OF THE ARTICLE --> <H2>Sendmail y fetchmail: Un servidor de correo local</H2> <IMG SRC="../../common/images/illustration130.gif" ALT="[Illustration]" HSPACE=10 HEIGHT=100 WIDTH=100> <!-- ABSTRACT OF THE ARTICLE --> <P><i>Resumen</i>: <P> <P> Éste artículo explica como configurar sendmail y fetchmail en una computadora local conectada a Internet vía PPP. Tal configuración permite usar cualquier cliente de correo Unix (no solamente Netscape). Podrá enviar y traer sus mensajes cada vez que usted establezca una conexión PPP. </P></P> <HR size="2" noshade align="right"><BR> <!-- BODY OF THE ARTICLE --> <A NAME="lfindex0"> </A> <H2>Introducción</H2> Para poder administrar su correo en su buzón Linux, tiene que configurar un Agente de Transferencia de Correo (Mail Transfer Agent, MTA abreviado). El más popular (y el más antiguo) es ciertamente sendmail, pero existen otros como qmail los cuales son más rápidos y simples de configurar, o exim, el cual está incluído en las configuraciones estándar de Debian. Aquí nosotros nos mantendremos con sendmail, y usaremos el equipo de configuración de la Universidad Berkley de <A HREF="mailto:eric@CS.Berkeley.EDU">Eric Allman</A>. <BR>Para recuperar su correo alojado en el servidor de su Proveedor de Servicio de Internet (Internet Service Provider, ISP en corto), será también necesario configurar fetchmail para proveer al sendmail con el contenido de sus buzones de correo. Fetchmail es utilizado para la recuperación de correo vía pop3 o imap. Usted también puede usar uucp, pero ese es un caso más extraño que no está contemplado en éste artículo. <A NAME="lfindex1"></A> <A NAME="lfindex1"> </A> <H2> Configuración</H2> Es necesario instalar los siguientes paquetes para configurar sendmail (en formato rpm ): <UL> <LI> sendmail-8.8.7-20</LI> <LI> sendmail-cf-8.8.7-20</LI> <LI> sendmail-doc-8.8.7-20</LI> </UL> Dependiendo de la distribución que usted utilice, Ud. puede tener archivos con nombres similares. Los números de la versión podrían ser un poco diferentes. Solamente los dos primeros paquetes son realmente necesarios. <P>Para configurar sendmail, siga los pasos siguientes: <OL> <LI> primero debemos asumir que:</LI> <UL> <LI> su nombre de dominio isp es isp.net</LI> <LI> usted se conecta a smtp.isp.net para enviar el correo</LI> <LI> usted se conecta a pop.isp.net para traer su correo</LI> <LI> su dirección de correo electrónico es toto@isp.net</LI> <LI> su usuario de login en su buzón es "dede"</LI> </UL> <LI> primero haga un archivo: <TT>/usr/lib/sendmail-cf/cf/config.mc</TT> el cual contiene:</LI> <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE># Inicio de la configuracion de config.mc include(`../m4/cf.m4')dnl OSTYPE(`linux')dnl define(`SMTP_MAILER_FLAGS', `e9')dnl FEATURE(redirect)dnl FEATURE(nocanonify)dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail)dnl GENERICS_DOMAIN(localhost.localdomain localhost localhost) FEATURE(genericstable) FEATURE(masquerade_envelope)dnl define(`confCF_VERSION',`dede's cf - 22/05/98')dnl define(`confCON_EXPENSIVE',`True')dnl define(`confME_TOO',`True')dnl define(`confCOPY_ERRORS_TO',`Postmaster')dnl define(`confDEF_CHAR_SET',`ISO-8859-1')dnl define(`confMIME_FORMAT_ERRORS',`True')dnl define(`SMART_HOST',`smtp8:[smtp.isp.net]')dnl define(`confTO_QUEUEWARN',`24h') MAILER(local) MAILER(smtp) # Final de la configuración de config.mc</PRE> </TD> </TR> </TABLE></CENTER> La línea <TT>define(`SMART_HOST'....</TT> le dice a sendmail que envíe todo el correo externo de salida vía su proveedor en lugar de intentar entregarlo el mismo directamente. Tu proveedor de servicio de Internet entonces se ocupará de la distribución más lejana. <LI> También crea <TT>/etc/genericstable</TT>:</LI> <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>dede: toto@isp.net root: toto@isp.net news: toto@isp.net</PRE> </TD> </TR> </TABLE></CENTER> <LI> Verifica que el archivo<TT>/etc/aliases</TT> contenga al final:</LI> <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>MAILER-DAEMON: postmaster postmaster: root</PRE> </TD> </TR> </TABLE></CENTER> <LI> Modifica o crea el archivo<TT>/etc/nsswitch.conf</TT> como sigue:</LI> <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>passwd: files shadow: files group: files hosts: files dns services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files netgroup: publickey: automount: files aliases: files </PRE> </TD> </TR> </TABLE></CENTER> (Cada entrada debe decir solamente "files" excepto host) <LI> Genera el <TT>/etc/sendmail.cf</TT> con:</LI> <BR><TT>m4 config.mc > /etc/sendmail.cf</TT> <BR>y permisos como: <BR><TT>-rw------- 1 root root 26468 May 12 22:52 /etc/sendmail.cf</TT> <LI> Genera la base de datos de conversión de direcciones:</LI> <BR><TT>/usr/bin/sendmail -bi -oA/etc/genericstable</TT> <BR>Un archivo <TT>/etc/genericstable.db</TT> debe ser creado <LI> Reconstruye la tabla de alias con:</LI> <BR><TT>newaliases</TT> <LI> El archivo<TT>/etc/hosts</TT> debe contener una línea similar a:</LI> <BR><TT>127.0.0.1 localhost.localdomain localhost localhost</TT> <LI> reinicia sendmail:</LI> <BR><TT>kill `head -1 /var/run/sendmail.pid`</TT> <BR><TT>/usr/bin/sendmail -bd -os <A NAME="lfindex2"></A></TT> <A NAME="lfindex2"> </A> <H2> Prueba sendmail</H2> Esto es todo en lo que a sendmail respecta.Ahora tenemos que verificar que todo trabaje perfectamente: <BR>Cree un archivo llamado test.mail con las siguientes líneas: <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD><TT>Subject: prueba local</TT> <BR><TT>primera línea de mi mensaje</TT> <BR>(compulsory blank line) </TD> </TR> </TABLE></CENTER> <P>y haga: <BR><TT>/usr/bin/sendmail -v dede < test.mail</TT> <P>Las siguientes líneas deben desplegar: <PRE>dede... Connecting to local dede... Sent</PRE> Ejecute su correo o cualquier otro cliente (pero no netscape todavía!!!) y verifique que el mensaje haya sido recibido <P>En orden para configurar Netscape para leer correo local (servido por sendmail): <UL> <LI> Vaya al menú <TT>Edit/Preferences/Mail & Groups/Mail Server</TT></LI> <LI> Teclee <TT>localhost.localdomain</TT> como <TT>Outgoing mail (SMTP) server</TT></LI> <LI> Escoja <TT>movemail/built-in</TT> como <TT>Mail server type</TT></LI> <LI> Cambie los permisos de <TT>/var/spool/mail</TT> con <TT>chmod 1777 /var/spool/mail</TT>.</LI> </UL> <B>Usted también puede usar chmod 777 pero éste cambio puede significar un punto de seguridad si Ud. no es el único que está conectado a su buzón. </B>chmod 1777 significa que el propietario del archivo puede borrarlo mas no el resto de las personas con permisos de escritura en el directorio. <P>Desde ahora, su propia PC está sirviendo correo directamente a Netscape aunque Ud. no esté conectado a Internet. Por supuesto, Ud. puede utilizar otros clientes de correo como XFmail, emacsm mutt, pine, etc... <A NAME="lfindex3"></A> <A NAME="lfindex3"> </A> <H2> Configuración de fetchmail</H2> Antes de probar nuestro nuevo servidor de correo en Internet, necesitamos configurar fetchmail para la transferencia de mensajes alojados en los buzones de su ISP: <BR>cree un archivo .fetchmailrc en /home/dede: <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>poll pop.isp.net protocol POP3 user toto is dede password XXXXXXX</PRE> </TD> </TR> </TABLE></CENTER> donde toto y XXXXX son el id del usuario y el password de la cuenta de correo de en pop.isp.net. Si usted tiene mas de un buzón, solo duplique las lineas arriba mencionadas para cada buzón que Ud. tenga. <BR>El archivo .fetchmailrc debe tener los permisos que a continuación se describen, de lo contrario fetchmail no correrá: <PRE>-rw------- 1 dede dede 189 oct 6 21:45 /home/dede/.fetchmailrc</PRE> Ahora, para una prueba en Internet: <UL> <LI> Escriba el mensaje (sin estar conectado) a un mirror de correo como echo@univ-rennes1.fr o echo@cnam.fr</LI> <LI> envíelo.</LI> </UL> Éste debe aparecer en la cola de correo como resultado del comando: <TT>mailq. </TT>Después, conéctese con su ISP (isp.net) y envíe el mensaje: <PRE>/usr/bin/sendmail -q</PRE> sendmail -q hace fluir la cola de sendmail y hace que envíe el correo ahora. Espere un momento y teclee f<TT>etchmail</TT> para obtener su correo, y Ud. debe tener un mensaje de regreso por el espejo (mirror). Ahora Ud. puede desconectarse si todos los mensajes han llegado. <A NAME="lfindex4"></A> <A NAME="lfindex4"> </A> <H2> Automatización</H2> Ahora nuestra misión es hacer que ésto que acabamos de realizar, se ejecute por si mismo cada vez que la conexión sea establecida. <P>Con PPP, archivos /etc/ppp/ip-up y ip-down son ejecutados cada vez que Ud. se conecta o se desconecta. Verifique que Ud. tenga una línea como ésta en éstos archivos, si no la tiene, creela: <BR><TT>[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local $*</TT> <BR>En /etc/ppp/ip-up agregue: <BR><TT>[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $*</TT> <P>Archivos /etc/ppp/ip-up y ip-down inician los archivos ip-up.local y ip-down.local los cuales escribimos como ésto: <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>#!/bin/bash # /etc/ppp/ip-up.local #Registro de parámetros de conexión echo `date` $4 $5 ppp-on >> /etc/ppp/history tail -n 1 connect-errors >> /etc/ppp/history # Enviar esperando correo echo Sending mail... > /dev/console /usr/sbin/sendmail -q echo Mail sent. > /dev/console # Obtener correo esperando en el servidor Pop echo Getting mail... > /dev/console fetchmail > /dev/console 2>&1 echo Got mail. > /dev/console #Fin exit 0 # fin de /etc/ppp/ip-up.local</PRE> </TD> </TR> </TABLE></CENTER> De hecho, las dos líneas de comandos importantes son sendmail -q y fetchmail. El resto son complemento y permiten: <UL> <LI> registrar el movimiento de los mensajes en la consola del sistema (xconsole)</LI> <LI> registrar las conexiones en /etc/ppp/history</LI> </UL> <CENTER><TABLE BORDER=0 WIDTH="70%" BGCOLOR="#99B8F6" > <CAPTION> <CENTER><TBODY></CENTER> <CENTER></TBODY></CENTER> </CAPTION> <TR> <TD> <PRE>#!/bin/bash # /etc/ppp/ip-down.local #Registro de parámetros de la conexión echo `date` ppp-off >> /etc/ppp/history #fin exit 0 # fin de /etc/ppp/ip-down.local</PRE> </TD> </TR> </TABLE></CENTER> Éstos archivos son ejecutados como <TT>root</TT>, por lo que es necesario copiar el archivo <TT>.fetchmailrc</TT> en el folder /<TT>root</TT>. <P>Si Ud. tiene acceso permanente a Internet, sendmail regularmente envía el correo si éste ha sido iniciado como demonio con el siguiente comando: <BR><TT>sendmail -bd -q10m</TT> <BR>si usted desea que se envíe el correo cada 10 minutos, por ejemplo. <BR>Fetchmail puede también ser inicializado en modo de demonio (daemon) con el comando: <BR><TT>fetchmail -d 600</TT> <BR>para traer el correo entrante cada 10 minutos (600 segundos). <P>Usualmente, éste tipo de comandos están localizados en los archivos de inicio (o init) en el directorio <TT>/etc/rc</TT> o <TT>/etc/rc.d/</TT> (puede variar de acuerdo a la configuración). <A NAME="lfindex5"></A> <A NAME="lfindex5"> </A> <H2> Conclusión</H2> Con ésta configuración, el correo saliente que espera en la cola (<TT>mailq</TT>) es enviado. El correo entrante alojado en su buzón de correo de su ISP es entregado a Ud. También puede usar xbiff o xmailbox o cualquier otro software similar para avisarle que tiene correo. Además, también puede afinar la forma en que su correo es separado y filtrado con procmail. Éste último paso está explicado en el <A HREF="../November1997/article8.html">artículo publicado en Noviembre de 1999</A>, de <A HREF="mailto:alogo@mx2.redestb.es">Angel Lopez</A> <A NAME="lfindex6"> </A> <H2> Otros artículos relacionados</H2> <UL> <LI> <A HREF="../September1999/article111.html">Construyendo archivos de texto con macros m4</A> por <A HREF="mailto:johnperr@linuxfocus.org">John Perr</A> <LI> <A HREF="../March1998/article7.html">Configurando sendmail 8.8.x</A> por <A HREF="mailto:jgotts@engin.umich.edu">John E. Gotts</A></LI> <LI> <A HREF="../November1997/article8.html">Administre su correo con Procmail</A> por <A HREF="mailto:alogo@mx2.redestb.es">Angel Lopez</A></LI> </UL> <P> Documentación sobre sendmail o fetchmail: <UL> <LI> <A HREF="http://www.sendmail.org/">http://www.sendmail.org/</A></LI> <LI> <A HREF="http://www.fetchmail.org/">http://www.fetchmail.org/</A></LI> </UL> <!-- 2pdaIgnoreStart --> <A NAME="talkback"> </a> <h2>Formulario de "talkback" para este artículo</h2> Cada artículo tiene su propia página de "talkback". A través de esa página puedes enviar un comentario o consultar los comentarios de otros lectores <center> <table border="0" CELLSPACING="2" CELLPADDING="1"> <tr BGCOLOR="#C2C2C2"><td align=center> <table border="3" CELLSPACING="2" CELLPADDING="1"> <tr BGCOLOR="#C2C2C2"><td align=center> <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=130&lang=es"><b> Ir a la página de "talkback" </b></a> </td></tr></table> </td></tr></table> </center> <HR size="2" noshade> <!-- ARTICLE FOOT --> <CENTER><TABLE WIDTH="95%"> <TR><TD ALIGN=CENTER BGCOLOR="#9999AA"> <A HREF="../../common/lfteam.html">Contactar con el equipo de LinuFocus</A> <BR><FONT COLOR="#FFFFFF">© John Perr, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT> <BR><a href="http://cgi.linuxfocus.org/cgi-bin/lfcomment?lang=es&article=article130.html" target="_TOP">Pinchar aquí para informar de algún problema o enviar comentarios a LinuxFocus</A><BR></TD> <TD BGCOLOR="#9999AA"><!-- TRANSLATION INFO --> <font size=2>Información sobre la traducción:</font><TABLE> <tr><td><font size=2>fr</font></td> <td><font size=2>-></font></td> <td><font size=2>--</font></td> <td><font size=2><a href="mailto:johnperr@linuxfocus.org"><FONT COLOR="#FFFFFF">John Perr</FONT></a></font></td> </tr> <tr><td><font size=2>fr</font></td> <td><font size=2>-></font></td> <td><font size=2>es</font></td> <td><font size=2><a href="mailto:anp@praxis.com.mx"><FONT COLOR="#FFFFFF">Ana Pimentel</FONT></a></font></td> </tr> </TABLE></TD> </TR></TABLE></CENTER> <p><font size=1>2001-03-30, generated by lfparser version 2.9</font></p> <!-- 2pdaIgnoreStop --> </BODY> </HTML>