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.
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:
perl
, se deberá instalar este último
también.
fetchmail
el que más se emplea ahora por ser más seguro.
sendmail+IDA
, que
viene en la inmensa mayoría de las distribuciones, lo tendremos configurado
con editar dos líneas.
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.
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.popclient
/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>
Dado que este fichero contiene datos delicados como las passwords del ISP,
lo protegeremos dándole los permisos adecuados (700
es lo
recomendable).
Donde en:
pondremos nuestro identificativo, en mi
caso, pacopepe
.
Pues exactamente eso, la clave con la que accede a su servidor.
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
.
Aquí ha de ponerse la dirección de vuestro
servidor POP; en mi caso (y suele ser común) pop03.insflug.org
.
juanma@gaps.ssr.upm.es
apunta que en las versiones 3.xx
del popclient
no se puede dar
por línea de comandos la contraseña del ISP, (con -p
) para ello ha de
usarse el fichero ~/.poprc
, en el que podemos definir otros
parámetros de comportamiento, como el que mantenga los mensajes en el
servidor (keep
) en caso de que estemos de pruebas, o por cualquier
otra razón.
Iñigo González
nexus@adv.es
recomienda usar versiones del popclient
superiores a la 3.0b6
, además de sugerir el uso de un programa
filtrador de correo como procmail
, para lo que deberemos añadir al
comando getmail
el parámetro -m procmail
.fetchmail
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,
~/.fetchmailrc
.
Un ejemplo del mismo:
poll host-servidor-pop proto pop3 user usuario password pass_usuario is usuario here;
donde
sería el nombre del la máquina servidora de correo vía pop del proveedor que utilicemos;
sería el protocolo a emplear, ya que fetchmail
soporta
otros también, como pop2 (obsoleto) imap2bis imap4 y
apop y kpop.
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:
chmod 600 .fetchmailrc
fetchmail
ofrece una serie de prestaciones adicionales, como
temporización, reenvío, funcionamiento en modo daemon etc... Es un
cliente muy potente y recomendable en cuanto a seguridad se refiere.
En caso de emplearlo, no haría falta el script getmail
, bastaría
con invocar a fetchmail
a secas.
sendmail
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.
Si no hacemos esto veremos que al enviar un email estando desconectados,
el programa donde estemos (el pine
, 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 timeout.
/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 SMTP o de
correo saliente: (en mi caso, smtp.insflug.org
):
# "Smart" relay host (may be null)
DSsmtp.insflug.org
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 insflug.org
:
# who I masquerade as (null for no masquerading)
DMinsflug.org
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@insflug.org
.
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 sendmail rute
todos los mensajes salientes hacia internet a través de nuestro servidor
SMTP, que hace de servidor de relevo 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.
DM...
cambia los from
de nuestros mensajes por nuestra verdadera
dirección en el ISP. 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).
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
.
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. Estaré encantado de recibirlos, a fin de incluirlos en la próxima versión de este COMO.
Empleando clientes de correo capaces de enmascarar al usuario/dominio,
podemos prescindir de la fase de configuración del enmascaramiento de
dominio del sendmail
. El cliente de correo
(MUA
mutt
, 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 pgp
integrada, threads, color... Un cliente muy recomendable. Su servidor
de ftp primario es:
ftp://ftp.cs.hmc.edu/pub/me/mutt
Es posible también prescindir de la ``chapucilla'' de tener que
emplear el mismo usuario que en el proveedor empleando un
MTA
sendmail
, como el prometedor qmail
, fácilmente obtenible en
Internet, que además ofrece muchas otras prestaciones, sin la fragilidad
en cuanto a seguridad de sendmail
, y menos exigente en cuanto a
recursos, lo que le hace ideal para listas de correo..