OpenBSD incluye dos MTAs de correo: (1)una versión auditada de sendmail y (2) OpenSMTPD. En este capítulo detallamos la configuración y uso de cada uno y la configuración de paquetes que implementan los protocolos auxiliares POP3S e IMAPS, de clientes de correo web y de listas de correo.
adJ cuenta con los comandos prepsendmail y prepopensmtpd que configuran de manera automática sendmail y OpenSMTPD respectivamente con TLS y SASL, así como POP3S e IMAPS. Soportan opcionalmente mantener el correo en una partición cifrada y copia de respaldo del correo en otra partición también cifrada. Antes de emplearlos ejecute:
sudo cp /usr/local/share/examples/adJ/varcorreo.sh /etc/
y a continuación edite el archivo recién copiado para adaptarlo a su entorno.
Como se explica en [AA_Linux]
el servicio básico de correo empleado en Internet y en una red
TCP/IP se basa en el protocolo
SMTP (Simple Mail Transfer
Protocol) descrito especialmente en los
RFCs 821 y
1123,
funcionando sobre TCP/IP.
En una situación típica en la que un usuario pablo@amor.miescuela.edu.co
envía un
mensaje al usuario rodrigo@respeto.miescuela.edu.co
sin
computadores intermediarios, se requiere:
Que haya conexión física y a nivel de TCP/IP entre ambos computadores.
Que ambos computadores tengan un programa que permita enviar y recibir correo usando el protocolo SMTP, como por ejemplo sendmail o postfix (a tal programa se le llama MTA - Mail Transport Agent).
Que ambos usuarios tengan un programa con el que puedan leer y redactar correos, como por ejemplo mail, mutt, mozilla-thunderbird (a ese programa se le llamará MUA - Mail User Agent[26]).
Si tanto pablo como rodrigo emplean como MUA mail, y ambos computadores tiene como MTA sendmail, el proceso sería:
pablo emplea mail en su computador
amor
para
redactar el mensaje cuyo destinatario es rodrigo
.
En amor
,
el programa mail ejecuta
sendmail para enviar el
mensaje. sendmail deja el mensaje en
una cola de mensajes por enviar. Esa cola de mensajes es
actualizada por sendmail a medida que
envía o intenta enviar mensajes (si un mensaje no puede ser
enviado sendmail puede reintentar el
envío cierto número de veces, haciendo pausas entre un intento
y otro).
Enviar un mensaje significa crear una conexión TCP con el MTA destino o con otro MTA que actúe de intermediario, típicamente en el puerto TCP 25, y transmitir el mensaje siguiendo las reglas del protocolo SMTP [27]. Para establecer el computador con el cual conectarse sendmail revisa con el resolvedor DNS, registros MX asociados con el dominio de la dirección, si los hay intenta enviar a cada uno en orden de prioridad --los registros MX con menor número tienen mayor prioridad (ver Servicio DNS).
En respeto
debe estar
corriendo un proceso que acepte la conexión en el puerto 25,
i.e. sendmail o algún otro MTA
que reciba el mensaje siguiendo el protocolo SMTP.
sendmail en
respeto
agrega el
mensaje que
recibe en el archivo tipo texto
/var/mail/rodrigo
que está en formato
mbox.
Cuando rodrigo lo desee, podrá emplear mail
para leer los correos que se hayan acumulado en
/var/mail/rodrigo
---a medida que los lea
saldrán de ese archivo para quedar en
~/mbox
.
Este es el esquema básico, aunque hay muchas otras situaciones en las que se emplean otras posibilidades de SMTP, protocolos auxiliares y programas. Por ejemplo los usuarios de una organización suelen extraer sus correos del servidor desde otros computadores con MUAs gráficos empleando el protocolo inseguro POP3 o los protocolos seguros POP3S e IMAPS. También es posible configurar un cliente de correo web (webmail) para examinar correos desde el web. Otro servicio asociado al correo son las listas de correo que facilitan el envío de correo masivo.
Para usarlo con una configuración
por defecto que permite enviar y recibir correos a otras máquinas,
agregue la siguiente línea a
/etc/rc.conf.local
:
sendmail_flags="-L sm-mta -C/etc/mail/sendmail.cf -bd -q30m"
Con esta configuración sendmail funcionará como MTA y esperará conexiones SMTP en el puerto 25 y en el puerto 587 (el segundo se espera que sea empleado por usuarios locales y que esté bloqueado al exterior, mientras que el primero por usuarios que deseen reenviar correo desde otros computadores).
La bitácora queda en /var/log/mailman
,
registra cada envío y recepción de correo. Aunque puede
aumentarse el nivel de detalle en la depuración cambiando las
opciones de arranque por:
sendmail_flags="-L sm-mta -C/etc/mail/sendmail.cf -bd -q30m -D /var/log/maildeb -X/var/log/maildeb2 -O LogLevel=10"
que enviará el máximo de detalle de cada transmisión al
archivo /var/log/maildeb2
A continuación se presenta una prueba a este servicio:
$ telnet localhost 25 Trying ::1... Connected to localhost. Escape character is '^]'. 220 amor.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.3; Mon, 16 Oct 2006 12:42:41 -0500 (COT) HELO localhost 250 amor.miescuela.edu.co Hello pablo@localhost [IPv6:::1], pleased to meet you MAIL FROM: <pablo@localhost> 250 2.1.0 <pablo@localhost>... Sender ok RCPT TO: <pablo@localhost> 250 2.1.5 <pablo@localhost>... Recipient ok DATA 354 Enter mail, end with "." on a line by itself 1 2 3 probando . 250 2.0.0 k9GHgf1q019958 Message accepted for delivery quit 221 2.0.0 amor.miescuela.edu.co closing connection Connection closed by foreign host.
Para facilitar reiniciar el servicio en caso de inconvenientes
se sugiere agregar el servicio sendmail
en la variable pkg_scripts
de
/etc/rc.conf.local
Cuando necesite asegurar que el servicio opera basta que ejecute:
sudo sh /etc/rc.local
Como se explica en el FAQ de OpenBSD, si planea emplear su
servidor para hacer
relevo de correo (relay), basta que agregue los dominios o
IPs de las cuales recibir correo para reenviar en el
archivo /etc/mail/relay-domains
(o
el que la siguiente instrucción indique:
grep relay-domains /etc/mail/sendmail.cf )
Un ejemplo de tal archivo es:
miescuela.edu.co # Acepta de todos los computadores del dominio 192.168.1 # Acepta de todos las IPs de la forma 192.168.1.x
El protocolo estándar para enviar correo a un servidor es SMTP, que no ofrece posibilidades de autenticación ni encripción. Una extensión a este protocolo es SMTP-AUTH (descrita en el RFCs 2554), la cual se basa en SASL (Simple Authentication and Security Layer, RFC 2222) y que permite autenticar antes de aceptar un correo por enviar.
LOGIN y PLAIN son dos de los diversos métodos que SMTP-AUTH puede emplear para recibir información de autenticación, como estos métodos transmiten identificaciones y claves en forma prácticamente plana, es necesario emplear bien una conexión sobre SSL o bien TLS que es otra extensión a SMTP.
Aunque sendmail soporta tanto TLS como SMTP-AUTH, la configuración por defecto de OpenBSD 5.6 no los incluye. En el caso de TLS lo incluido en el sistema base es suficiente y el procedimiento de configuración se documenta en man starttls. En cuanto a SMTP-AUTH se requiere una implementación de SASL, pero no hay ninguna incluida en el sistema base por lo que es necesario emplear el paquete cyrus-sasl.
Para contar con el servicio SASL en su servidor (que puede ser usado por
diversos programas entre los que está sendmail), instale
el paquete cyrus-sasl
y cree
el archivo /usr/local/lib/sasl2/Sendmail.conf
para
que contenga:
pwcheck_method: saslauthd
con lo que indica que desde sendmail, Cyrus-SASL debe emplear el servidor saslauthd. Para realizar la autenticación, Cyrus-SASL puede configurarse con diversas fuentes de información (e.g LDAP, bases de datos), puede iniciarlo indicando que desea emplear las funciones estándar de autenticación de OpenBSD con:
# mkdir /var/sasl2 # /usr/local/sbin/saslauthd -a getpwent
Para que este servicio se inicie en cada arranque agregue
saslauthd
a la variable
pkg_scripts
de /etc/rc.local
y además agregue:.
saslauthd_flags="-a getpwent"
Si lo requiere puede iniciar este servicio en modo de depuración (en primer plano y enviando a salida estándar bastante información) con:
# /usr/local/sbin/saslauthd -a getpwent -d
Una vez este funcionado este servicio (al examinarlo con ps se ve que inicia varios procesos) puede probar que esté autenticado usuarios con
$ testsaslauthd -uusuario
-pclave
Al agregar a SMTP protocolos como TLS y AUTH-SMTP el nuevo protocolo toma el nombre ESMTP. Para extenderlo en OpenBSD debe recompilar sendmail y debe emplear su propio archivo de configuración.
Dado que TLS requiere un certificado SSL, si tiene uno ya firmado
por una autoridad certificadora déjelo en
/etc/mail/certs
o genere uno autofirmado
(como se explica en man starttls):
# mkdir /etc/mail/certs # openssl dsaparam 1024 -out dsa1024.pem # openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem \ -out /etc/mail/certs/mycert.pem -keyout /etc/mail/certs/mykey.pem # ln -s /etc/mail/certs/mycert.pem /etc/mail/certs/CAcert.pem # rm dsa1024.pem # chmod -R go-rwx /etc/mail/certs
Para recompilar sendmail, si aún no lo ha hecho, debe descargar y actualizar a las fuentes más recientes:
# cd /root/tmp # ftp $PKG_PATH/../../src.tar.gz # cd /usr # mkdir src # cd src # tar xvfz /root/tmp/src.tar.gz # for i in `find . -name CVS`; do echo $i; > echo "anoncvs@anoncvs1.ca.openbsd.org:/cvs" > $i/Root; > done # cvs -z3 update -Pd -rOPENBSD_5_6
Después indique que desea recompilar sendmail con
soporte para autenticación creando o editando el archivo
/etc/mk.conf
para que incluya:
WANT_SMTPAUTH = yes
Recompile e instale sendmail con:
# cd /usr/src/gnu/usr.sbin/sendmail # make clean # make # make install
Finalmente cree un nuevo archivo de configuración a partir del estándar:
# cd /usr/src/gnu/usr.sbin/sendmail/cf/cf # cp openbsd-proto.mc openbsd-proto-local.mc
En el nuevo openbsd-proto-local.mc
después de la
línea OSTYPE(openbsd)dnl
agregue:
define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs') define(`confCACERT_PATH', `CERT_DIR') define(`confCACERT', `CERT_DIR/CAcert.pem') define(`confSERVER_CERT', `CERT_DIR/mycert.pem') define(`confSERVER_KEY', `CERT_DIR/mykey.pem') define(`confCLIENT_CERT', `CERT_DIR/mycert.pem') define(`confCLIENT_KEY', `CERT_DIR/mykey.pem')
y después de la línea FEATURE(`no_default_msa')dnl
:
define(`confAUTH_MECHANISMS',`PLAIN LOGIN CRAM-MD5 DIGEST-MD5')dnl TRUST_AUTH_MECH(`PLAIN LOGIN CRAM-MD5 DIGEST-MD5')dnl define(`confAUTH_OPTIONS',`p,y')dnl define(`confPRIVACY_FLAGS',`authwarnings,goaway')
Para realizar pruebas con los métodos PLAIN y LOGIN sin cifrar puede
comentar la línea confAUTH_OPTIONS
poniendo
antes dnl
).
Verifique también que estén las siguientes líneas:
DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Port=465, Name=SSLMTA, M=s')dnl DAEMON_OPTIONS(`Family=inet6, Address=::, Name=MTA6, M=s')dnl DAEMON_OPTIONS(`Family=inet6, Address=::, Port=465, Name=MTA6, M=s')dnl
Para habilitar el comando STARTTLS
(que inicia
encripción) en el servidor estándar del puerto 25 y otro servidor
que sólo acepta conexiones encriptadas en el puerto 465.
Finalmente emplee el nuevo archivo de configuración y reinicie sendmail:
# make openbsd-proto-local.cf # install -c -o root -g wheel -m 644 openbsd-proto-local.cf /etc/mail/sendmail.cf # pkill sendmail # . /etc/rc.conf # sendmail $sendmail_flags
Dependiendo de su configuración para compilar fuentes la segunda línea podría ser:
# install -c -o root -g wheel -m 644 obj/openbsd-proto-local.cf /etc/mail/sendmail.cf
Inicie un diálogo con sendmail con:
# sendmail -O LogLevel=20 -bs -Am 220 correo.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.4; Wed, 13 Jul 2005 15:16:26 -0500 (COT) EHLO LOCALHOST 250-correo.miescuela.edu.co Hello root@localhost, pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 250-STARTTLS 250-DELIVERBY 250 HELP
Note que deben aparecer las líneas STARTTLS
y AUTH
. Para autenticarse debe dar una identificación
y una clave válida en el sistema pero codificadas en base 64. Puede
emplear la interfaz CGI disponible en
http://www.motobit.com/util/base64-decoder-encoder.asp
o eventualmente el programa
disponible en http://www.sendmail.org/~ca/email/prgs/ed64.c
que puede compilar y usar así:
# cd /root/tmp # ftp http://www.sendmail.org/~ca/email/prgs/ed64.c # cc -o ed64 ed64.c # ./ed64 -e MiUsuario TWlVc3Vhcmlv MiClave TWlDbGF2ZQ==
Retomando la sesion con sendmail y usando estos datos:
AUTH LOGIN 334 VXNlcm5hbWU6 TWlVc3Vhcmlv 334 UGFzc3dvcmQ6 TWlDbGF2ZQ== 235 2.0.0 OK Authenticated
puede intentar el envío de un correo por ejemplo con:
MAIL FROM:<pablo@miescuela.edu.co> 250 OK RCPT TO:<rodrigo@miescuela.edu.co> 250 Accepted DATA 354 Enter message, ending with "." on a line by itself From: "pablo@miescuela.edu.co" <pablo@miescuela.edu.co> To: rodrigo@miescuela.edu.co Subject: probando 1234 . 250 OK id=1GZXFP-000540-7J QUIT
De requerirlo puede rastrear problemas en
/var/log/maillog
y/o intentar el protocolo descrito
de forma remota (o también local) con:
telnet correo.miescuela.edu.co 25 220 correo.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.4; Wed, 13 Jul 2005 15:16:26 -0500 (COT) EHLO [200.21.23.4]
y remplazando 200.21.23.4 por la IP desde la que inicia la conexión.
Si desea probar el método PLAIN, con ed64 emplee:
MiUsuario\0MiUsuario@pasosdeJesus.org\0MiClave TWlVc3VhcmlvAE1pVXN1YXJpb0BwYXNvc2RlamVzdXMub3JnAE1pQ2xhdmU=
y al dialogar en SMTP:
AUTH PLAIN TWlVc3VhcmlvAE1pVXN1YXJpb0BwYXNvc2RlamVzdXMub3JnAE1pQ2xhdmU=
También puede probar el servicio del puerto 465 con la misma secuencia, pero iniciando con:
openssl s_client -connect localhost:465
Dependiendo de su cliente de correo será posible emplear los nuevos
protocolos. Por ejemplo mozilla-thunderbird
lo soporta, basta que en la configuración del servidor SMTP
indique que debe emplearse un usuario y que emplee TLS (puede usar
tanto el puerto 25 como el 465). Tenga en cuenta que el nombre
del usuario con el cual autenticarse debe incluir el dominio
(e.g pablo@miescuela.edu.co).
Si desea cambiar el puerto en el que sendmail espera conexiones SMTP, emplee las fuentes del sistema:
# cd /usr/share/sendmail/cf # vi openbsd-proto.mc
Busque y modifique la línea:
DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet6, Address=::, Name=MTA6, M=O')dnl
agregandoles un puerto no estándar:
DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Port=2000, Name=MTA')dnl DAEMON_OPTIONS(`Family=inet6, Address=::, Port=2000, Name=MTA6, M=O')dnl
Después genere el archivo de configuración
/etc/mail/sendmail.cf
con:
# make # make distribution
finalmente reinicie sendmail o envíele una señal para que lea nuevamente archivos de configuración:
# pkill -HUP sendmail
Si un mismo servidor atiende diversos dominios DNS, puede lograr que se acepte correo para cada dominio. Para esto:
Asegurese de tener un registro MX para
el dominio que indique que su servidor es
el servidor de correo del dominio. i.e
en el archivo maestro del dominio
(digamos /var/named/master/miescuela.edu.co
)
algo como:
MX 5 correo.miescuela.edu.co. correo IN A 65.167.89.169
¡No omita el punto que va a continuación del nombre del servidor MX!
Agregue el dominio (e.g miescuela.edu.co) a los
archivos /etc/local-host-names
y /etc/mail/relay-domains
Reinicie sendmail con:
pkill -HUP sendmail
Con esta configuración todo correo a una dirección
de la forma pablo@miescuela.edu.co
será enviado a la cola de correos del usuario local
pablo. Si lo requiere es posible agregar direcciones
que se envíen a otro usuario local, agregando entradas
al archivo /etc/mail/virtusertable
,
por ejemplo:
pablofelipe@miescuela.edu.co pablo
reenviará todo correo dirigido a
pablofelipe@miescuela.edu.co
al usuario
local pablo
.
Se trata de un MTA desarrollado principalmente para OpenBSD por desarrolladores de OpenBSD. Aunque aún se considera experimental hemos comprobado su estabilidad para dominios virtuales que manejan menos de 1000 correos diarios.
Antes de iniciar el servicio es importante detener sendmail con:
/etc/rc.d/sendmail stop
y deshabilitarlo dejando en /etc/rc.conf.local la línea:
sendmail_flags=NO
El servicio se inicia con:
/etc/rc.d/smtpd start
y se detiene con:
/etc/rc.d/smtpd stop
Para que inicie en cada arranque y se reinicie fácil ejecutando
/etc/rc.local
agrege smtpd
a la variable pkg_scripts
de
/etc/rc.conf.local
y en ese mismo archivo agregue:
smtdp_flags=""
También modifique /etc/mailer.conf
y cambie algunas
líneas para que sean:
sendmail /usr/sbin/smtpctl send-mail /usr/sbin/smtpctl mailq /usr/sbin/smtpctl makemap /usr/libexec/smtpd/makemap newaliases /usr/libexec/smtpd/makemap
Una vez en operación pueden examinarse diversos aspectos (como bitacoras, examinar cola de correos, estadísticas) con smtpctl.
La configuración se define en el archivo
/etc/mail/smtpd.conf
.
La configuración más simple que sólo aceptará correo local y lo dejará en
formato mbox en /var/mail
o hará relevo es:
listen on lo0 table aliases db:/etc/mail/aliases.db accept for local alias <aliases> deliver to mbox accept for all relay
Para que permita enviar y recibir de otros computadores debe cambiarse la interfaz donde escucha y a nombre de quien acepta correos, por ejemplo:
listen on all table aliases db:/etc/mail/aliases.db accept from any for domain "miescuela.edu.co" alias <aliases> deliver to mbox accept for all relay
Si prefiere que los correos sean recibidos por procmail puede cambiar
deliver to mbox
por deliver to mda "procmail -f -"
.
Sin embargo para recibir en formato maildir (por defecto en ~/Maildir
de cada usuario) y tener opción de procesar usuario a usuario
con procmail via el archivo ~/.forward
es mejor:
accept from any for domain "miescuela.edu.co" alias <aliases> deliver to maildir
Al igual que con sendmail la tabla de alias que usa esta configuración
es /etc/mail/aliases.db
, la cual se generá después
de hacer cambios a /etc/mail/aliases
con:
cd /etc/mail make
Para asegurar el relevo de correos provenientes de miescuela.edu.co o de la IP 192.168.1.2, basta agregar al mismo archivo de configuración:
accept from miescuela.edu.co for any relay accept from 192.168.1.2 for any relay
Para agregar autenticación y TLS ,
no es necesario cyrus-sasl basta
generar certificado SSL (ver Sección 5.2.2, “SMTP-AUTH y TLS”)
y dejar miescuela.edu.co.crt
en
/etc/ssl/
y
miescuela.edu.co.key
en
/etc/ssl/private
y después
cambiar en el archivo de configuración la línea con
listen
por:
pki miescuela.edu.co certificate "/etc/ssl/miescuela.edu.co.crt" \ key /etc/ssl/private/miescuela.edu.co.key" listen on all port 25 tls pki miescuela.edu.co auth-optional
Puede ser más estricto con tls-require
en lugar
de tls
y con auth
en lugar
de auth-optional
.
Para escuchar también en el puerto 465 (u otro puerto) cifrado por defecto puede agregar:
listen on all port 465 smtps pki miescuela.edu.co auth-optional
y TLS estricto en el puerto 587:
listen on all port 587 tls pki miescuela.edu.co auth
Para atender diversos dominios DNS, además de configurar el registro
MX de cada dominio (ver Sección 5.2.4, “Dominios virtuales”),
agregar una tabla de alias y una línea accept
por cada
dominio, por ejemplo:
table aliasesejemplo db:/etc/mail/aliasesejemplo.db ... accept from any for domain "ejemplo.org" alias <aliasesejemplo> deliver to maildir
La tabla de alias debe generarse a partir de un archivo plano
/etc/mail/aliasesjemplo
con:
cd /etc/mail makemap hash aliasesejemplo < aliasesejemplo chmod a+r aliasesejemplo
OpenSMTP envia mensajes de error a la bitácora
/var/log/maillog
. Puede ejecutarse en modo
de depuración para determinar problemas con:
smtpd -d
Esto no lo activará como servicio y presentará errores en pantalla.
Para extraer correos de un servidor pueden emplearse los protocolos inseguros[28] POP3 e IMAP o bien sus análogos seguros sobre SSL: POP3S e IMAPS En esta sección se describe la configuración extra-rápida pero insegura de POP3, y la configuración segura pero que requiere configuración más delicada de POP3S e IMAPS con las implementaciones de Courier.
Esta implementación requiere que se cambie la forma de almacenar correos recibidos por sendmail de formato mbox a formato maildir. Esto y la autenticación que requiere courier exigen una configuración especial que se describe a continuación.
Insatale courier-authlib
, paquete
que se encarga de la autenticación. Para iniciarlo en cada
arranque agregue courier_authdaemond
a la variable pkg_scripts
de /etc/rc.conf.local
.
Una vez en operación puede probar la autenticación con
authtest usuario
y
authtest usuario clave
El formato mbox almacena todos los correos en un
sólo archivo, uno tras otro. El formato maildir
(propio del MTA qmail)
almacena cada correo en un archivo separado en algún
directorio,
por defecto hay 3 directorios (cur
,
new
y tmp
)
aunque el usuario puede crear otros.
Típicamente
sendmail
deja los correos que
recibe en formato mbox en archivos del
directorio /var/mail
. En esta sección
se explica como lograr que los almacene en
el directorio Maildir
de la
cuenta de un usuario.
Una sencilla solución que no requiere
mayores cambios es emplear procmail
.
Instale el paquete procmail-3.22p4
y en la cuenta de
cada usuario que vaya a usar POP3S o IMAPS
cree los archivos .forward
y
.procmailrc
, análogos a los siguientes
(suponemos que se trata del usuario pablo
):
En /home/pablo/.forward
"| exec /usr/local/bin/procmail"
las comillas son indispensables así como el símbolo '|'.
En /home/pablo/.procmailrc
LINEBUF=4096 #VERBOSE=on PMDIR=/home/pablo/ MAILDIR=$PMDIR/Maildir/ FORMAIL=/usr/local/bin/formail SENDMAIL=/usr/sbin/sendmail #LOGFILE=$PMDIR/log :0 * .* /home/pablo/Maildir/
Note que el directorio de la variable MAILDIR
termina con '/'. Esto es indispensable para indicar a
procmail
que debe guardar en esa ruta en formato Maildir.
Deje además listo un directorio en formato Maildir en
/home/pablo/Maildir
con:
maildirmake /home/pablo/Maildir chown -R pablo:estudiante /home/pablo/Maildir
De esta forma cada vez que sendmail reciba un correo para el usuario
local pablo
en vez de almacenar en
/var/mail/pablo
ejecutará la línea del archivo
/home/pablo/.forward
, la cual a
su vez ejecutará procmail para procesar el correo que llega por entrada
estándar.
procmail
empleará la configuración de
/home/pablo/.procmailrc
que le indica guardar todo correo que llegue a la cuenta en
/home/pablo/Maildir/
(como se trata de un
directorio y termina con '/', procmail
identifica que debe salvar en formato
Maildir
, si fuera un archivo
agregaría en formato MBOX
).
El usuario pablo podría probar su archivo de configuración de
procmail
modificando
~/.procmail
para quitar el comentario de la línea
VERBOSE=on
y ejecutando:
$ cd /home/pablo $ procmail Mensaje de prueba Termínelo con Control-D . procmail: [21024] Fri Jul 1 18:32:30 2005 procmail: Assigning "PMDIR=/home/pablo/" procmail: Assigning "MAILDIR=/home/pablo/Maildir/" procmail: Assigning "FORMAIL=/usr/local/bin/formail" procmail: Assigning "SENDMAIL=/usr/sbin/sendmail" procmail: Assigning "LOGFILE=/home/pablo/log"
Tras lo cual debe encontrar un nuevo archivo en
Maildir/new
con el mensaje de prueba.
Puede verificar el funcionamiento de
.forward
enviando un correo a
la cuenta del usuario y revisando la bitácora
/var/log/maillog
donde deben aparecer
un par de líneas análogas a:
Dec 19 18:31:59 servidor sendmail[22209]: kBJNVwMt022209: to=test@localhost, ctladdr=pablo (1000/1000), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30061, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (kBJNVw3t021322 Message accepted for delivery) Dec 19 18:31:59 servidor sm-mta[21454]: kBJNVw3t021322: to="| exec /usr/local/bin/procmail", ctladdr=<test@miescuela.edu.co> (1008/10), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=30756, dsn=2.0.0, stat=Sent
POP3 (Post Office Protocol) es un protocolo que permite sacar correos de un servidor para llevarlos a otro computador donde podrán examinarse con un MUA.
Para que los usuarios puedan emplear clientes de correo que soporten POP3, es necesario configurar un servidor de este protocolo. Dado que este protocolo por defecto transmite claves planas es necesario emplearlo sobre una conexión SSL --de ahí el nombre POP3S.
Después de configurar autenticación y acople con
sendmail como se explicó en secciones anteriores.
Instale el paquete courier-pop3
.
Este paquete se configura en el directorio
/etc/courier
, donde deja varios
archivos de configuración de ejemplo que debe editar
(también podrá encontrar los archivos de ejemplo en
/usr/local/share/examples/courier/
).
En /etc/courier/pop3d
cambie
POP3DSTART=YES MAILDIRPATH=Maildir
y en /etc/courier/pop3d-ssl
cambie
MAILDIRPATH=Maildir
Para emplear SSL requiere un certificado (por defecto en
/etc/ssl/private/pop3d.pem
) firmado por una
Autoridad Certificadora, . Alternativamente puede generar
certificados autofirmados, para esto modifique la información del
archivo
/etc/courier/pop3d.cnf
y ejecute:
# mkpop3dcert
Script que creará un certificado válido por un año
(si lo requiere por más tiempo puede editar el script y cambiar
el número de días de validez en la opción -days
de openssl
).
En caso de que si tenga un certificado firmado digamos para su servidor web, puede emplearlo (ver [courier-cert]) así:
cd /etc/ssl/private cat server.key ../server.crt > pop3d.pem
Para iniciar POP3S ejecute:
sudo mkdir -p /var/run/courier sudo /usr/local/libexec/pop3d-ssl.rc start
líneas que se recomienda agregar a /etc/rc.local
si planea prestar
servicio continuo (y abrir el puerto apropiado del cortafuegos, ver
a continuación).
Para detener POP3S:
sudo /usr/local/libexec/pop3d-ssl.rc stop
POP3 usa por defecto el puerto 110, POP3S típicamente
emplea el puerto 995. Para abrir ese puerto en un cortafuegos en
/etc/pf.conf
podría emplear una línea de la
forma:
pass in on $ext_if proto tcp to ($ext_if) port pop3s keep state
Puede probar el funcionamiento del servidor con:
$ openssl s_client -connect localhost:995
teniendo en cuenta que el correo debe estar en formato Maildir
en el directorio Maildir
del usuario
que revisará. Una sesión típica sería:
+OK Hello there. user pablo +OK Password required. pass ejem +OK logged in. list +OK POP3 clients that break here, they violate STD53. 1 17559 2 1128 3 2430 .
Notará que la implementación Courier de POP3S intenta extraer
correos del directorio Maildir/cur
IMAP es un protocolo que permite a un MUA examinar y administrar correos que llegan a un servidor, tipicamente sin sacar los correos del servidor (a diferencia de POP) y con la posibilidad de manejar directorios/carpetas.
Después de configurar autenticación y acople con
sendmail
como se explicó en secciones anteriores.
Instale el paquete courier-imap
y edite /etc/courier/imapd
para cambiar por
lo menos:
IMAPDSTART=YES MAILDIRPATH=Maildir
y /etc/courier/imapd-ssl
para dejar
MAILDIRPATH=Maildir
y eventualmente dependiendo de los clientes para el IMAPS (por ejemplo roundcube-0.5) también puede requerir:
TLS_PROTOCOL=SSL23
Para generar un certificado autofirmado edite
imapd.cnf
para personalizar sus datos y ejecute
# mkimapdcert
o si desea emplear el mismo certificado de su servidor web:
cd /etc/ssl/private cat server.key ../server.crt > imapd.pem
Para iniciar IMAPS ejecute:
sudo /etc/rc.d/courier_imap_ssl start
y para detenerlo:
sudo /etc/rc.d/courier_imap_ssl stop
Para iniciar el servicio cada vez que arranque el sistema
agregue courier_imap_ssl
a la
variable pkg_scripts
en
/etc/rc.conf.local
.
Cuando ejecute tanto authdaemond
como
imapd-ssl
deben quedar corriendo varios
procesos:
authdaemond
(o el método
de autenticación que haya configurado),
couriertcpd
,
courierlogger
. Si desea ver mensajes
de depuración en /var/log/maillog
, cambie en
/etc/courier/imapd
:
DEBUG_LOGIN=1
podrá detener los servicios con:
sudo /usr/local/libexec/imapd-ssl.rc stop rm /var/run/courier/imapd-ssl.pid
Si tiene cortafuegos activo asegurese también de abrir el
puerto 993 agregando a /etc/pf.conf
algo como:
pass in on $ext_if proto tcp to ($ext_if) port 993 keep state
Una vez en ejecución puede hacer una prueba como:
$ openssl s_client -connect localhost:993 ... AB LOGIN pablo MiClave AB OK LOGIN Ok. BC SELECT "Inbox" BC NO Unable to open this mailbox. ZZZZ LOGOUT * BYE Courier-IMAP server shutting down ZZZZ OK LOGOUT completed
Una vez se use procmail para recibir en formato Maildir
los correos de un usuario,
ese usuario no podrá seguir usando
mail para ver los correos recibidos,
pero si podrá emplear mutt agregando al
archivo de configuración
~/.muttrc
:
set spoolfile=imaps://localhost/INBOX set folder=imaps://localhost/
Como administrador del sistema podrá automatizar más la configuración de cuentas nuevas así:
Crear archivos en
/etc/skel
que
se copiarán a cada cuenta nueva,
(el contenido de cada uno debe
ser como el descrito en secciones
anteriores):
maildirmake /etc/skel /etc/skel/.forward /etc/skel/.muttrc /etc/skel/.procmailrc
Como será procmail
y no sendmail
quien manejará correos, cada vez que
cree una cuenta ejecute:
touch /var/mail/usuario chown usuario:usuario /var/mail/usuario chmod go-r /var/mail/usuario
y ajuste el archivo .procmailrc
.
Es recomendable que haga esto en un script que primero ejecute
adduser, y que sería el nuevo comando para crear
cuentas en el sistema.
Esta configuración se aplicará a nuevas cuentas que cree, pero debe replicarla en cuentas ya creadas:
cd /etc/skel cp -rf Maildir .forward .procmailrc .muttrc /home/cuenta/ chown -R cuenta:cuenta /home/cuenta/{.forward,.procmailrc,.muttrc,Maildir} touch /var/mail/cuenta chown -R cuenta:cuenta /var/mail/cuenta chmod og-r /var/mail/cuenta
El protocolo POP3 se describe en el RFC 1939
http://www.faqs.org/rfcs/rfc1939.html
Puede consultar más sobre la configuración de IMAP con Courier en
http://dantams.sdf-eu.org/guides/obsd_courier_imap.html y
http://es.tldp.org/Manuales-LuCAS/doc-tutorial-postfix-ldap-courier-spamassassin-amavis-squirrelmail
Más sobre procmail
en
http://pm-doc.sourceforge.net/pm-tips.html
y http://structio.sourceforge.net/guias/basico_OpenBSD/correo.html#procmail
Más sobre IMAP en
http://www.linux-sec.net/Mail/SecurePop3/ y
http://talk.trekweb.com/~jasonb/articles/exim_maildir_imap.shtml
POP3S e IMAPS en OpenBSD/LDAP/Sendmail
http://dhobsd.pasosdeJesus.org/index.php?id=view/POP3S+e+IMAPS+en+OpenBSD%2FLDAP%2FSendmail
El uso de certificados existentes con courier se señala en
http://milliwaysconsulting.net/support/systems/courier-ssl.html
Instale el paquete dovecot-2.2.10p3 y asegurese de dejar
dovecot
en la variable
pkg_scripts
de
/etc/rc.conf.local
para que se inicie en cada arranque.
Puede generar un certificado autofirmado editando los
datos para el certificado en el archivo
/etc/ssl/dovecot-openssl.cnf
y
generandolo con
/usr/local/sbin/dovecot-mkcert.sh
que lo dejará en /etc/ssl/dovecotcert.pem
y /etc/ssl/private/dovecot.pem
.
Edite el archivo /etc/dovecot/conf.d/auth-system.conf.ext
y asegurse de que queden sin comentario las siguientes partes:
passdb { driver = bsdauth } userdb { driver = passwd }
Inicie el servicio con
/etc/rc.d/dovecot start
y pruebelo en los puertos 143 (IAMP sin cifrar),
993 (IMAP sobre SSL), 110 (POP3 sin cifrar) y
995 (POP3 sobre SSL).
Por defecto dovecot intentará recuperar
correos en formato maildir de la carpeta
Maildir
de cada usuario.
Una vez confirme la operación recomendamos que sólo abra el puerto 993 del cortafuegos para permitir conexiones IMAP remotas sobre SSL.
OpenBSD incluye el programa spamd
que maneja listas negras (o grises) de IPs de las
cuales no recibe correo alguno. Tal aproximación
es bastante radical y en ocasiones puede
listar o evitar recepción de servidores válidos
como gmail, yahoo o hotmail o de servidores que
no reintentan el envío como lo espera spamd.
Tal comportamiento puede no resultar aceptable
en algunas organizaciones.
SpamAssassin (paquete p5-Mail-SpamAssassin-3.4.0p4) junto con procmail (paquete procmail-3.22p4) son una solución intermedia que permiten recibir todo correo pero intentan clasificar automáticamente (y con buena precisión) los que son no solicitados en carpetas separadas por usuario que configure el servicio.
SpamAssassin incluye el servicio
/usr/local/bin/spamd
que espera
conexiones del cliente spamc
para aplicar una
secuencia de reglas a un correo y darle un puntaje. Tal puntaje debe
agregarse al encabezado del correo y ser tratado como spam enviandolo
por ejemplo a la carpeta Junk (que es el nombre estándar empleado por
diversos clientes de correo).
Para iniciar el servicio ejecute:
/usr/local/bin/spamd -u _spamdaemon -d
y para que inicie automáticamente en cada arranque,
agregue spamassassin
en la variable pkg_scripts
de
/etc/rc.local
.
La configuración por defecto de SpamAssassin es
bastante buena, pero puede personalizarse en
el archivo
/etc/mail/spamassassin/local.cf
.
Cada usuario que
requiera el uso de SpamAssassin para clasificar automáticamente los no
solicitados en el buzón spamagarrado
, debe tener
configurado procmail
, esto puede hacerse modificando
o creando el archivo ~/.procmailrc
para que incluya líneas como las siguientes (en caso de que el usuario
maneje su correo en formato mbox
como ocurre por
defecto en OpenBSD):
:0fw * < 256000 | spamc :0e { EXITCODE=$? } :0: * ^X-Spam-Status: Yes spamagarrado # buzón donde va todo el spam
O como las siguientes que suponen que el usuario pablo
maneja su correo en formato maildir
(para permitir
consulta con IMAPS --ver Sección 5.4.1, “Implementación Courier de POP3S e IMAPS”):
:0fw: spamassassin.lock * < 512000 | spamc # Los correos con puntaje de 15 o superior casi que con seguridad son spam (con # 0.05% de falsos positivos de acuerdo a rules/STATISTICS.txt). Pongamolos # en un mbox diferente llamado .Spam. :0: * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* /home/pablo/Maildir/.Spam/ # Todo correo marcado como spam (eg. con puntaje mayor que el umbral puesto) # se mueve a "PosibleSpam". :0: * ^X-Spam-Status: Yes /home/pablo/Maildir/.PosibleSpam/ :0 * .* /home/pablo/Maildir/
Envíe al usuario al cual le configuró procmail un archivo
cuyo cuerpo sea el mensaje del archivo
/usr/local/share/doc/SpamAssassin/sample-spam.txt
.
Debe quedar en la carpeta de correos no solicitados.
Este cliente de correo para el web tiene una interfaz bastante agradable para el usuario final, con buen rango de posibilidades (libreta de direcciones LDAP, búsquedas, corrección ortográfica) y facilidad de configuración e instalación.
Requiere una base de datos para almacenar parte de la información, puede obtener correo de servidores IMAP e IMAPS.
Basta instalar el paquete roundcubemail
o descargar
ls fuentes más recientes de
http://sourceforge.net/projects/roundcubemail/ e instalarlas en
/var/www/roundcubemail
, y
seguir instrucciones
del archivo INSTALL que resumimos a continuación junto con
instrucciones de módulos, suponiendo
que en el mismo servidor (correo.miescuela.edu.co
)
están los servicios IMAPS y SMTP y que
se empleará el motor de bases de datos PostgreSQL:
Tras instalar, el cliente quedará en /var/www/roundcubemail
por lo que es necesario configurar el servidor web. Por ejemplo si
el correo de la organización se consultará en
correo.miescuela.edu.co
(IP interna 192.168.60.1 y externa 200.200.200.200) con protocolo HTTPS, el archivo
/var/www/conf/httpd.conf
debe incluir:
<VirtualHost 127.0.0.1:443 192.168.60.1:443 200.200.200.200:443> DocumentRoot "/var/www/roundcubemail/" ServerName correo.miescuela.edu.co <Directory /var/www/roundcubemail/> AllowOverride All </Directory> ServerAdmin admin@miescuela.edu.co ErrorLog logs/round-error_log TransferLog logs/round-access_log SSLEngine on SSLCertificateFile /etc/ssl/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key </VirtualHost>
Aviso | |
---|---|
Es importante que en la configuración de Apache, como se presenta en el ejemplo incluya <Directory /var/www/roundcubemail/> AllowOverride All </Directory>
para que se tomen las opciones de configuración del archivo
|
Para configurar una base de datos en PostgreSQL con socket en
/var/www/tmp
(ver Sección 2, “Motor de bases de datos PostgreSQL”) ejecutar:
sudo su - _postgresql createuser -h /var/www/tmp -Upostgres roundcube createdb -h /var/www/tmp -Upostgres -E UNICODE roundcubemail -T template0 psql -h /var/www/tmp -Upostgres template1
y desde la interfaz administrativa de PostgreSQL establezcla una clave para el usuario roundcube
con:
ALTER USER roundcube WITH PASSWORD 'nueva_clave';
Salir con '\q' y desde la línea de comandos ingresar a la nueva base con:
psql -h /var/www/tmp -Uroundcube roundcubemail
le solicitará la clave que estableció para el usuario
roundcube
, a continuación desde la interfaz de
PostgreSQL ejecute el script de inicialización con:
\i /var/www/roundcubemail/SQL/postgres.initial.sql
Salga de la interfaz de PostgreSQL con
\q y de la cuenta _postgresql
con exit.
Después debe configurar roundcubemail, editando los
archivos del directorio /var/www/roundcubemail/config
.
Si al examinar con
ls /var/www/roundcubemail/config
le faltan los archivos main.inc.php
y
db.inc.php
inicie con plantillas así:
cp /var/www/roundcubemail/config/main.inc.php.dist \ /var/www/roundcubemail/config/main.inc.php cp /var/www/roundcubemail/config/db.inc.php.dist \ /var/www/roundcubemail/config/db.inc.php
Editelos para que se adapten a su caso. Por ejemplo en
config/main.inc.php
basta modificar
las líneas:
$rcmail_config['force_https'] = TRUE; $rcmail_config['auto_create_user'] = TRUE; $rcmail_config['default_host'] = 'ssl://correo.miescuela.edu.co:993'; $rcmail_config['default_port'] = 993; $rcmail_config['smtp_server'] = '127.0.0.1'; $rcmail_config['mail_domain'] = 'miescuela.edu.co';
y en el archivo config/db.inc.php
la línea:
$rcmail_config['db_dsn'] = 'pgsql://roundcube:nueva_clave@127.0.0.1/roundcubemail';
Edite el archivo de configuración de Apache /var/www/conf/php.ini
para deshabilitar encripción de sesiones y establecer zona horaria en la líneas:
suhosin.session.encrypt = Off date.timezone = America/Bogota
y reinicie Apache.
De permiso para completar instalación y pruebas desde el
web, editando el archivo config/main.inc.php
y
cambiando la línea:
$rcmail_config['enable_installer'] = true;
y ejecutando:
sudo chmod -R a+rx /var/www/roundcubemail/installer
Con un navegador examine el URL
https://correo.miescuela.edu.co/installer/
compruebe las dependencias solicitadas y realice las pruebas
disponibles.
Una vez concluya evite el uso de ese directorio ejecutando:
sudo chmod -R a-rx /var/www/roundcubemail/installer
y cambiando en config/main.inc.php
la línea:
$rcmail_config['enable_installer'] = false;
Roundcubemail incluye plugins para diversas labores, por ejemplo
si desea añadir la posibilidad de cambiar la clave a los usuarios desde
este programa debe activar el plugin password
,
para esto:
En el archivo config/main.inc.php
agregue password en el arreglo plugins
, si
sólo tiene este plugin quedará:
$rcmail_config['plugins'] = array('password');
Si además desea permitir que los usuarios puedan cambiar su clave desde este webmail active el plugin password como se presenta a continuación:
Edite el archivo config/main.inc.php
y añada password
al
arreglo
rcmail_config['plugins']
, por
ejemplo si no hay otros plugins cambiando
$rcmail_config['plugins'] = array();
por
$rcmail_config['plugins'] = array('password');
Si no existe el archivo plugins/password/config.inc.php
inicie uno con:
cp plugins/password/config.inc.php.dist plugins/password/config.inc.php
Modifique el archivo
plugins/password/config.inc.php
de acuerdo a su configuración,
por lo menos los siguientes 3 valores deben cambiarse:
$rcmail_config['password_driver'] = 'poppassd'; $rcmail_config['password_pop_host'] = '127.0.0.1'; $rcmail_config['password_pop_port'] = 106;
Instale el paquete
openpoppassd
disponible
en ftp://ftp.pasosdeJesus.org/pub/AprendiendoDeJesus/ (tiene una falla corregida con respecto al
paquete oficial por lo cual le sugerimos
emplear ese) y configúrelo
para que inicie durante el arranque por
ejemplo agregando a /etc/rc.local
:
pgrep poppassd > /dev/null 2>&1 if (test "$?" != "0") then { echo -n ' poppassd' /usr/local/libexec/openpoppassd } fi;
Una vez lo haya iniciado puede probarlo con:
telnet localhost 106
que debe responder con:
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 openpoppassd v1.1 hello, who are you?
Instalar paquete de mailman pkg_add $PKG_PATH/mailman.tgz que requiere python-2.7.8 se crean automáticamente el grupo _mailman y el usuario _mailman
Leer /usr/local/share/doc/mailman/README.OpenBSD
Editar /var/www/conf/httpd.conf
agregando la
linea:
ScriptAlias /mailman/ "$mailmandir/cgi-bin/"
donde $mailmandir es /usr/local/lib/mailman/ agregar también:
<Directory "/usr/local/lib/mailman/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
además agregar las lineas:
Alias /pipermail/ "/var/spool/mailman/archives/public/" <Directory "/var/spool/mailman/archives/public/"> Options FollowSymLinks AddDefaultCharset Off </Directory>
al mismo archivo.
Copiar los iconos:
cp /usr/local/lib/mailman/icons/* /var/www/icons/
Reiniciar el apache para que cargue los cambios.
apachectl stop . /etc/rc.conf.local httpd $httpd_flags
editar el archivo /usr/local/lib/mailman/Mailman/mm_cfg.py
agregando las lineas
DEFAULT_EMAIL_HOST = 'dominio.net
' DEFAULT_URL_HOST = 'www.dominio.net
' DEFAULT_URL_PATTERN = 'http://%s/mailman/' add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
Crear primera lista llamada mailman
/usr/local/lib/mailman/bin/newlist mailman
agregar a /etc/mail/aliases
las lineas:
## mailman mailing list mailman: "|/usr/local/lib/mailman/mail/mailman post mailman" mailman-admin: "|/usr/local/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/local/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/local/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/local/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/local/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/local/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/local/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/local/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/local/lib/mailman/mail/mailman unsubscribe mailman"
Regenerar alias con newaliases
Poner en el crontab algunas lineas:
crontab -u _mailman /usr/local/lib/mailman/cron/crontab.in
Reiniciar mailman:
/usr/local/lib/mailman/bin/mailmanctl start
Hacer que cada vez que se inicie el equipo corra mailman, agregando
al archivo /etc/rc.local
las lineas:
if [ X"$mailmanctl_flags" != X"NO" -a \ -x /usr/local/lib/mailman/bin/mailmanctl ]; then echo -n ' mailman' /usr/local/lib/mailman/bin/mailmanctl $mailmanctl_flags fi
y en /etc/rc.conf.local
:
mailmanctl_flags="-s -q start"
Asignar password al sitio de mailman con
/usr/local/lib/mailman/bin/mmsitepass
[26] De acuerdo al RFC 1123 los nombre MUA y MTA son propios del protocolo X.400.
[27] De acuerdo al protocolo SMTP,
sendmail de amor
se conectaría por
el puerto 25 a sendmail en
respeto
y
enviaría los mensajes EHLO
,
MAIL FROM:
pablo@amor.miescuela.edu.co
, después enviaría
RCPT TO: rodrigo@respeto.miescuela.edu.co
,
después DATA
y a continuación el cuerpo
del correo comenzando con el encabezado de acuerdo al
RFC 822, con un cuerpo de mensaje que
emplee 7 bits y terminando con una línea que sólo tenga un
punto. Por ejemplo
From: pablo@amor.miescuela.edu.co To: rodrigo@respeto.miescuela.edu.co Subject: Saludo Un cortisimo saludo para bendición de nuestro Creador. .
Si lo desea puede experimentar con este protocolo, empleando telnet y el MTA de su computador: telnet localhost 25. Claro resulta más transparente empleando directamente sendmail :
sendmail -bm rodrigo@respeto.miescuela.edu.co -f pablo@amor.miescuela.edu.co
(para emplear -f
con
sendmail debe ser usuario
autorizado).
[28] Son inseguros porque transmiten claves y el contenido de los mensajes planos por la red