Anterior Siguiente Indice

4. Gestión de Correo de Internet.

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.

4.1 Método ``A'' o fácil y güindosero ;-).

Instalar, usar y configurar Netscape, Mosaic u otro navegador con capacidad de gestionar correo, news, etc.

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:

4.2 Método ``B''.

Requisitos

  1. Popclient. Se precisa instalar el paquete Popclient. En caso de que la versión de éste use perl, se deberá instalar este último también.
  2. Sendmail+IDA. No, no os asustéis ;-) El sendmail+IDA, que viene en la inmensa mayoría de las distribuciones, lo tendremos configurado con editar dos líneas.

Configuración del sistema.

  1. Crear una cuenta en la máquina con el mismo identificativo que se tenga en el Proveedor. Por ejemplo, mi identificativo o login en mi ISP es pacopepe, cosa fácilmente deducible debido a mi dirección de correo email; por tanto, creo una cuenta en el sistema con login pacopepe, con el comando adduser: (por supuesto, hay que hacerlo como root). Supongamos el login ``probancio'':
     /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.
    root@beastie
    
    ahora, le asignamos un password:
     /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
    
    y tenemos creada su cuenta.
  2. Ahora creamos el siguiente script, que será el que ejecutemos para recoger el correo, al que llamamos, por ejemplo,
    /usr/local/bin/getmail
    #!/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>
    
    Donde en:
    <nombre_usuario>

    pondremos nuestro identificativo, en mi caso, pacopepe.

    <password_del_ISP>

    Pues exactamente eso, la clave con la que accede a su servidor.

    <...login>

    Como se observará tras crear la cuenta que describimos anteriormente, en /var/spool/mail/ se creará un fichero de igual nombre que el login de dicho usuario; en el caso supuesto anterior, probancio, este fichero sería /var/spool/mail/probancio.

    <servidor_POP>

    Aquí ha de ponerse la dirección de vuestro servidor POP; en mi caso (y suele ser común) pop03.nova.es.

    Nota: Al elaborar el script prescindiremos de los signos ``<'' y ``>''; en el ejemplo están simplemente para resaltar los parámetros a completar.
  3. Modificación de la llamada al demonio sendmail, hecha normalmente en el arranque desde el script /etc/rc.d/init.d/sendmail.init, (RedHat) o /etc/rc.d/rc.M (SlackWare) buscar la línea que dice algo así como daemon sendmail .... en RedHat, o /usr/sbin/sendmail -bd -q 15m en SlackWare, y modificarla, editándola para que quede:
    [...]
            .... sendmail -bd -q2d
    [...]
    
    Esto lo que hace es que sendmail no intente continuamente mandar el correo que haya en la cola para salir, o en spool, ya que lo haremos nosotros manualmente.
  4. Modificación de /etc/sendmail.cf. Aquí buscaremos una línea que comienza por DS:
    # "Smart" relay host (may be null)
    # DS
    
    y la modificaremos para que quede reflejado nuestro servidor POP de correo (en mi caso, pop03.nova.es):
    # "Smart" relay host (may be null)
    DSpop03.nova.es
    
    ahora buscaremos otra que comienza por DM:
    # who I masquerade as (null for no masquerading)
    # DM
    
    y la modificamos para que refleje el dominio de nuestra dirección de correo, en mi caso nova.es:
    # who I masquerade as (null for no masquerading)
    DMnova.es
    
    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 beastie.insflug.org 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 probancio@beastie.insflug.org, en lugar de la de la cuenta de nuestro ISP, que es probancio@nova.es. 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 (probancio en este caso); la línea DS... hace que los mensajes de retorno vayan a la dirección de nuestro servidor de correo, y DM... cambia los from de nuestros mensajes por nuestra verdadera dirección en el ISP.

Cómo escribir

Para responder o escribir nuestro correo podremos usar cualquier programa escritor de correo, los simples como mail o mailx, un poco más completos como el facilísimo elm, o pine, el modo de correo del versátil emacs, etc... recordando siempre hacer uso de estos programas desde la cuenta que creamos para tal fin (la de probancio en nuestro caso ficticio).

Procedimiento

  1. Establecer la conexión PPP con nuestro servidor, con cualquiera de los métodos descritos en las secciones Conexiones sin mediar Infovía o Conexiones a través de Infovía. Esto se hará normalmente como root.
  2. Ejecutar el script getmail en caso de que queramos recoger el correo; en caso de querer mandar el correo pendiente por salir, teclear la orden:
    sendmail -q
    
    que ordenará a sendmail a enviar el correo. (el parámetro -q viene de queue o la ``cola'' de correo pendiente por salir).

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. Por supuesto, estaré encantado de recibirlos, a fin de incluirlos en la próxima versión de este Howto.


Anterior Siguiente Indice