Bueno, mientras unos hacen guerras santas me parece más razonable aportar con algo por pequeño que sea.
Lo primero de todo voy a definir el problema que se plantea: Hoy en día es muy típico el tener que ofrecer relay de correo a usuarios con IP dinámica y estos usuarios pueden estar utilizando Mutt (si aún no sabes porqué es porque no lo has probado

) y sSMTP para enviar sus mensajes a un mailhub.
Mi distribución es Gentoo y hace unos días configuré el servidor de correo con SASL y TLS para permitir estos relays. En principio sSMTP permite SSL pero tanto el ebuild de Gentoo como los propios sources de sSMTP requieren un poquillo (casi nada) de hacking.
net.c.diff
--- net.c.old 2003-05-11 19:23:02.000000000 +0200
+++ net.c 2003-05-11 19:47:37.000000000 +0200
@@ -29,6 +29,9 @@
#ifdef HAVE_SSL
SSL *ssl;
+extern Bool UseTLS;
+extern Bool UseTLSCert;
+extern char *TLSCert;
#endif
Makefile.in.diff--- Makefile.in.old 2003-05-11 20:19:13.000000000 +0200
+++ Makefile.in 2003-05-11 20:19:24.000000000 +0200
@@ -78,7 +78,7 @@
# Binaries:
ssmtp: $(OBJS)
- $(CC) -o ssmtp $(OBJS) @LIBS@
+ $(CC) -o ssmtp $(OBJS) @LIBS@ -lssl
vpath %.c $(srcdir)
Al ebuild tenemos que hacerle unos cambios que constarán en añadir SSL a la variable IUSE, actualizar DEPEND y RDEPEND, y por último modificar la función src_compile. Aquí está el parche (os recomiendo que una vez parcheado lo renombreis a ssmtp-2.48-r1.ebuild para que no haya problemas con las versiones):
ssmtp-2.48-r1.ebuild.diff--- /usr/portage/net-mail/ssmtp/ssmtp-2.48.ebuild 2003-04-18 22:33:13.000000000 +0200
+++ /usr/local/portage/net-mail/ssmtp/ssmtp-2.48-r1.ebuild 2003-05-11 20:30:36.000000000 +0200
@@ -10,15 +10,22 @@
SLOT="0"
KEYWORDS="x86 ppc sparc alpha ~hppa arm mips"
LICENSE="GPL-2"
-IUSE=""
+IUSE="ssl"
-DEPEND="virtual/glibc"
-RDEPEND="!virtual/mta net-mail/mailbase"
+DEPEND="virtual/glibc
+ ssl? ( dev-libs/openssl )"
+RDEPEND="!virtual/mta net-mail/mailbase
+ ssl? ( dev-libs/openssl )"
PROVIDE="virtual/mta"
S=${WORKDIR}/${P}
-src_compile() {
+src_compile() {
+ if [ "`use ssl`" ]; then
+ epatch ${FILESDIR}/net.c.diff || die "epatch failed"
+ epatch ${FILESDIR}/Makefile.in.diff || die "epatch failed"
+ econf --enable-ssl
+ fi
make clean || die
make ${MAKEOPTS} || die
}
Ahora hacemos:
# USE="ssl" emerge ssmtp
Y en el
/etc/ssmtp/ssmtp.conf añadimos:
UseTLS=YES
mailhub=example.com:465
Donde example.com es vuestro mailhub.
Como último paso nos queda configurar el Mutt, así que editamos
~/.muttrc y ponemos algo como:
set sendmail = "/usr/sbin/ssmtp -au usuario -ap password"
Donde usuario es nuestro usuario de SASL y password nuestra contraseña. Nos cercioramos de que solo nosotros tengamos acceso de lectura al fichero y listo
Lo mejor es que si alguien lo quiere probar se baje este .zip (el foro no me permitía el .tbz2) y lo descomprima en $PORTDIR_OVERLAY/net-mail. Si alguien no tiene ajustada la variable PORTDIR_OVERLAY le recomiendo que lo haga en /etc/make.conf y que utilice /usr/local/portage o /opt/portage para mantener el estándar de estructura de directorios.
Un Saludo.Ferdy
HTH