<HTML> <HEAD> <TITLE>``Infobia''- Como. : Gestión de Correo de Internet.</TITLE> </HEAD> <BODY> <A HREF="Infobia-Como-4.html">Anterior</A> <A HREF="Infobia-Como-6.html">Siguiente</A> <A HREF="Infobia-Como.html#toc5">Indice</A> <HR> <H2><A NAME="s5">5. Gestión de Correo de Internet.</A></H2> <P>A continuación describiré dos métodos para gestionar el correo en el caso que nos ocupa, una máquina aislada, con conexiones esporádicas a su Servidor de Acceso a Internet. El método B es desde luego, poco ortodoxo y se puede mejorar mucho, por lo que una colaboración en lo que a configuraciones ``ideales'' de red de este tipo de máquinas será harto agradecida.</P> <H2><A NAME="ss5.1">5.1 Método ``A'' o fácil y <EM>güindosero</EM> ;-).</A></H2> <P>Instalar, usar y configurar Netscape, Mosaic u otro navegador con capacidad de gestionar correo, news, etc. </P> <P>Como me consta que la inmensa mayoría de los que empiezan a usar Linux o bien no poseen una cantidad desmesurada de RAM, ni les sobra disco duro como para sacrificar más de 6 megas en el Netscape, y además desean aprender a usar métodos más *nixeros y eficaces de gestión de correo, propongo el siguiente (más fácil de configurar incluso que el netscape) método: </P> <H2><A NAME="ss5.2">5.2 Método ``B''.</A></H2> <H3>Requisitos</H3> <P> <OL> <LI><B>Popclient.</B> Se precisa instalar el paquete Popclient. En caso de que la versión de éste use <CODE>perl</CODE>, se deberá instalar este último también. </LI> <LI>popclient se ha quedado desfasado últimamente, siendo <CODE>fetchmail</CODE> el que más se emplea ahora por ser más seguro. </LI> <LI><B>Sendmail+IDA</B>. No, no os asustéis ;-) El <CODE>sendmail+IDA</CODE>, que viene en la inmensa mayoría de las distribuciones, lo tendremos configurado con editar dos líneas.</LI> </OL> </P> <H3>Configuración del sistema.</H3> <P> <OL> <LI>Crear una cuenta en la máquina con el mismo identificativo que se tenga en el Proveedor. Por ejemplo, mi identificativo o <EM>login</EM> en mi ISP es <CODE>pacopepe</CODE>, cosa fácilmente deducible debido a mi dirección de correo <EM>email</EM>; por tanto, creo una cuenta en el sistema con login <CODE>pacopepe</CODE>, con el comando <CODE>adduser</CODE>: (por supuesto, hay que hacerlo como <CODE>root</CODE>). Supongamos el login ``<CODE>probancio</CODE>'': <BLOCKQUOTE><CODE> <PRE> /home/linuxdoc-sgml-1.5/working]# adduser probancio Looking for first available UID... 502 Looking for first available GID... 502 Adding login: probancio...done. Creating home directory: /home/probancio...done. Creating mailbox: /var/spool/mail/probancio...done. Don't forget to set the password. </PRE> </CODE></BLOCKQUOTE> ahora, le asignamos un password: <BLOCKQUOTE><CODE> <PRE> /home/linuxdoc-sgml-1.5/working]# passwd probancio Changing password for probancio Enter an empty password to quit. New password (? for help): New password (again): Password changed for probancio </PRE> </CODE></BLOCKQUOTE> y tenemos creada su cuenta.</LI> </OL> </P> <H3><CODE>popclient</CODE></H3> <P> <OL> <LI>Ahora creamos el siguiente script, que será el que ejecutemos para recoger el correo, al que llamamos, por ejemplo, <BR><CODE>/usr/local/bin/getmail</CODE> <BLOCKQUOTE><CODE> <PRE> #!/bin/sh # # getmail, para bajarnos el correo... # PATH=/bin:/usr/bin:/usr/local/bin echo Bajando el correo..... popclient -3 -u <nombre_usuario> -p <password_del_ISP> -o /var/spool/mail/login <servidor_POP> </PRE> </CODE></BLOCKQUOTE> Dado que este fichero contiene datos delicados como las passwords del ISP, lo protegeremos dándole los permisos adecuados (<CODE>700</CODE> es lo recomendable). Donde en: <DL> <DT><B><nombre_usuario></B><DD><P>pondremos nuestro identificativo, en mi caso, <CODE>pacopepe</CODE>.</P> <DT><B><password_del_ISP></B><DD><P>Pues exactamente eso, la clave con la que accede a su servidor. </P> <DT><B><...login></B><DD><P>Como se observará tras crear la cuenta que describimos anteriormente, en <CODE>/var/spool/mail/</CODE> se creará un fichero de igual nombre que el <EM>login</EM> de dicho usuario; en el caso supuesto anterior, <CODE>probancio</CODE>, este fichero sería <CODE>/var/spool/mail/probancio</CODE>. </P> <DT><B><servidor_POP></B><DD><P>Aquí ha de ponerse la dirección de vuestro servidor POP; en mi caso (y suele ser común) <CODE>pop03.insflug.org</CODE>. </P> </DL> <B>Nota:</B> Al elaborar el script prescindiremos de los signos ``<'' y ``>''; en el ejemplo están simplemente para resaltar los parámetros a completar. Juan Manuel Villar Navarro <CODE> <A HREF="mailto:juanma@gaps.ssr.upm.es">juanma@gaps.ssr.upm.es</A></CODE> apunta que en las versiones <CODE>3.xx</CODE> del <CODE>popclient</CODE> no se puede dar por línea de comandos la contraseña del ISP, (con <CODE>-p</CODE>) para ello ha de usarse el fichero <CODE>~/.poprc</CODE>, en el que podemos definir otros parámetros de comportamiento, como el que mantenga los mensajes en el servidor (<CODE>keep</CODE>) en caso de que estemos de pruebas, o por cualquier otra razón. Iñigo González <CODE> <A HREF="mailto:nexus@adv.es">nexus@adv.es</A></CODE> recomienda usar versiones del <CODE>popclient</CODE> superiores a la <CODE>3.0b6</CODE>, además de sugerir el uso de un programa filtrador de correo como <CODE>procmail</CODE>, para lo que deberemos añadir al comando <CODE>getmail</CODE> el parámetro <CODE>-m procmail</CODE>.</LI> </OL> </P> <H3><CODE>fetchmail</CODE></H3> <P>En caso de usar fetchmail, un cliente muy potente y cuya documentación es bastante clara y precisa, la configuración personal se almacena en el fichero del directorio personal del usuario, <CODE>~/.fetchmailrc</CODE>.</P> <P>Un ejemplo del mismo:</P> <P> <BLOCKQUOTE><CODE> <PRE> poll host-servidor-pop proto pop3 user usuario password pass_usuario is usuario here; </PRE> </CODE></BLOCKQUOTE> </P> <P>donde </P> <P> <DL> <DT><B>host-servidor-pop</B><DD><P>sería el nombre del la máquina servidora de correo vía pop del proveedor que utilicemos;</P> <DT><B>pop3</B><DD><P>sería el protocolo a emplear, ya que <CODE>fetchmail</CODE> soporta otros también, como <I>pop2</I> (obsoleto) <I>imap2bis</I> <I>imap4</I> y <I>apop</I> y <I>kpop</I>.</P> </DL> </P> <P>seguidamente, le otorgaremos permisos de lectura/escritura únicamente para el propietario, hecho muy importante, ya que de lo contrario podrían ser accesibles las contraseñas, e incluso el programa se negaría a funcionar:</P> <P> <BLOCKQUOTE><CODE> <PRE> chmod 600 .fetchmailrc </PRE> </CODE></BLOCKQUOTE> </P> <P><CODE>fetchmail</CODE> ofrece una serie de prestaciones adicionales, como temporización, reenvío, funcionamiento en modo <I>daemon</I> etc... Es un cliente muy potente y recomendable en cuanto a seguridad se refiere. </P> <P>En caso de emplearlo, no haría falta el <I>script</I> <CODE>getmail</CODE>, bastaría con invocar a <CODE>fetchmail</CODE> a secas.</P> <H3><CODE>sendmail</CODE></H3> <P> <OL> <LI>Modificación de la llamada al demonio <CODE>sendmail</CODE>, hecha normalmente en el arranque desde el script <CODE>/etc/rc.d/init.d/sendmail.init</CODE>, (RedHat) o <CODE>/etc/rc.d/rc.M</CODE> (Slackware) buscar la línea que dice algo así como <CODE>daemon sendmail ....</CODE> en RedHat, o <CODE>/usr/sbin/sendmail -bd -q 15m</CODE> en Slackware, y modificarla, editándola para que quede: <BLOCKQUOTE><CODE> <PRE> [...] .... sendmail -bd -q2d [...] </PRE> </CODE></BLOCKQUOTE> Esto lo que hace es que <CODE>sendmail</CODE> no intente continuamente mandar el correo que haya <EM>en la cola</EM> para salir, o en <EM>spool</EM>, ya que lo haremos nosotros manualmente. Si no hacemos esto veremos que al enviar un email estando desconectados, el programa donde estemos (el <CODE>pine</CODE>, por ejemplo) se quedará ``congelado'' un buen rato, debido a que sendmail intentará enviar inmediatamente el email, y no encontrará el destino, hasta que finalmente se produzca un <EM>timeout</EM>. </LI> <LI>Modificación de <CODE>/etc/sendmail.cf</CODE>. Aquí buscaremos una línea que comienza por <CODE>DS</CODE>: <BLOCKQUOTE><CODE> <PRE> # "Smart" relay host (may be null) # DS </PRE> </CODE></BLOCKQUOTE> y la modificaremos para que quede reflejado nuestro servidor SMTP o de correo saliente: (en mi caso, <CODE>smtp.insflug.org</CODE>): <BLOCKQUOTE><CODE> <PRE> # "Smart" relay host (may be null) DSsmtp.insflug.org </PRE> </CODE></BLOCKQUOTE> ahora buscaremos otra que comienza por <CODE>DM</CODE>: <BLOCKQUOTE><CODE> <PRE> # who I masquerade as (null for no masquerading) # DM </PRE> </CODE></BLOCKQUOTE> y la modificamos para que refleje el dominio de nuestra dirección de correo, en mi caso <CODE>insflug.org</CODE>: <BLOCKQUOTE><CODE> <PRE> # who I masquerade as (null for no masquerading) DMinsflug.org </PRE> </CODE></BLOCKQUOTE> Con esto, lo que hemos hecho es básicamente, "enmascarar" nuestra dirección en la máquina propia; supongamos que nuestra máquina se llama <CODE>beastie.insflug.org</CODE> y enviamos un mensaje sin la modificación anterior; el mensaje llegará correctamente a su destino, pero no podrá ser respondido, ya que la dirección de retorno no existirá, al figurar la de nuestra propia máquina, que en nuestro caso ficticio sería <CODE>probancio@beastie.insflug.org</CODE>, en lugar de la de la cuenta de nuestro ISP, que es <CODE>probancio@insflug.org</CODE>. Realmente, lo único que enmascaramos es el dominio, de ahí la necesidad de crear una cuenta en nuestra máquina con el mismo login que en nuestro ISP (<CODE>probancio</CODE> en este caso); la línea <CODE>DS...</CODE> hace que sendmail rute todos los mensajes salientes hacia internet a través de nuestro servidor SMTP, que hace de servidor de <I>relevo</I> hacia internet. Podríamos no decirle nada, y dejar que se encargara de contactar y enviar directamente con el servidor de correo entrante de cada dirección, pero eso haría más lento el envío de los correo, además de que es mucho más rápida la transferencia con nuestro ISP, al no tener que salir a internet siquiera. <CODE>DM...</CODE> cambia los <CODE>from</CODE> de nuestros mensajes por nuestra verdadera dirección en el ISP. </LI> </OL> </P> <H3>Cómo escribir</H3> <P>Para responder o escribir nuestro correo podremos usar cualquier programa escritor de correo, los simples como <CODE>mail</CODE> o <CODE>mailx</CODE>, un poco más completos como el facilísimo <CODE>elm</CODE>, o <CODE>pine</CODE>, el modo de correo del versátil <CODE>emacs</CODE>, etc... recordando <B>siempre</B> hacer uso de estos programas desde la cuenta que creamos para tal fin (la de <CODE>probancio</CODE> en nuestro caso ficticio). </P> <H3>Procedimiento.</H3> <P> <OL> <LI>Establecer la conexión <CODE>PPP</CODE> con nuestro servidor, con cualquiera de los métodos descritos en las secciones <A HREF="Infobia-Como-4.html#sininfovia">Conexiones sin mediar Infovía</A> o <A HREF="Infobia-Como-3.html#ConexionesInfobia">Conexiones a través de Infovía</A>. Esto se hará normalmente como <CODE>root</CODE>. </LI> <LI>Ejecutar el script <CODE>getmail</CODE> en caso de que queramos recoger el correo; en caso de querer mandar el correo pendiente por salir, teclear la orden: <BLOCKQUOTE><CODE> <PRE> sendmail -q </PRE> </CODE></BLOCKQUOTE> que ordenará a sendmail a enviar el correo. (el parámetro <CODE>-q</CODE> viene de <EM>queue</EM> o la ``cola'' de correo pendiente por salir). </LI> </OL> </P> <P>Por supuesto, los procedimientos para establecer la conexión y recoger/mandar correo se pueden automatizar escribiendo scripts sencillos, pero eso lo dejo ya al gusto y según las circunstancias de cada uno. Estaré encantado de recibirlos, a fin de incluirlos en la próxima versión de este <EM>COMO</EM>. </P> <H2><A NAME="ss5.3">5.3 Método ``C''.</A></H2> <P>Empleando clientes de correo capaces de enmascarar al usuario/dominio, podemos prescindir de la fase de configuración del enmascaramiento de dominio del <CODE>sendmail</CODE>. El cliente de correo (<I>MUA</I> <SL><I>Mail User Application</I>, aplicación de gestión de correo a nivel usuario)</SL> <CODE>mutt</CODE>, puede hacer esto, a nivel tanto de dominio como de usuario, entre otras muchas prestaciones que harán las delicias de los amantes del modo texto: gestión <CODE>pgp</CODE> integrada, <I>threads</I>, color... Un cliente muy recomendable. Su servidor de ftp primario es:</P> <P><CODE> <A HREF="ftp://ftp.cs.hmc.edu/pub/me/mutt">ftp://ftp.cs.hmc.edu/pub/me/mutt</A></CODE></P> <P>Es posible también prescindir de la ``<I>chapucilla</I>'' de tener que emplear el mismo usuario que en el proveedor empleando un <I>MTA</I> <SL><I>Mail Tranfer Agent</I>, Agente de Gestión de transferencia de Correo</SL> de configuración más flexible y cómoda que <CODE>sendmail</CODE>, como el prometedor <CODE>qmail</CODE>, fácilmente obtenible en Internet, que además ofrece muchas otras prestaciones, sin la fragilidad en cuanto a seguridad de <CODE>sendmail</CODE>, y menos exigente en cuanto a recursos, lo que le hace ideal para listas de correo..</P> <HR> <A HREF="Infobia-Como-4.html">Anterior</A> <A HREF="Infobia-Como-6.html">Siguiente</A> <A HREF="Infobia-Como.html#toc5">Indice</A> </BODY> </HTML>