Envío de correo autenticado desde aplicaciones en la US empleando postfix + smtp-auth + TLS
El siguiente documento pretende servir de referencia para poder realizar envío de correo autenticado en la Universidad de Sevilla utilizando para ello un sistema operativo GNU/Linux. El objetivo que se busca es configurar correctamente el sistema operativo para el envío de correo autenticado, haciendo de esta manera, que desde el lenguaje de programación sea transparente (por ejemplo en PHP, bastará con usar la función mail()
y no tendremos que preocuparnos por configurar ningún parámetro más desde el propio código fuente de la aplicación).
Modificamos el fichero /etc/postfix/main.cf y añadimos estos datos:
#
# Parámetros relativos al uso de cifrado
#
smtp_use_tls=yes
smtp_tls_security_level=may
smtp_tls_loglevel = 1
smtp_tls_mandatory_protocols = TLSv1.2
smtp_tls_protocols = TLSv1.2
smtp_tls_security_level = encrypt
smtp_tls_ciphers = high
smtp_tls_exclude_ciphers = aNULL, DES, 3DES, MD5, DES+MD5, RC4, IDEA
relayhost = [mail.us.es]:25
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
Cree el fichero /etc/postfix/sasl/sasl_passwd con este contenido:
[mail.us.es]:25 usuarioquesea@us.es:password
Ejecute el comando
postmap /etc/postfix/sasl/sasl_passwd
Ese comando postmap debes ejecutarse cada vez se modifique ese fichero
Por último, pon los permisos adecuados a ambos ficheros:
chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
Instale el paquete cyrus-sasl-plain (el nombre de este paquete varía entre distribuciones) y tras ello relanzamos postfix y probamos a enviar mensajes a direcciones tanto de la US como externas de la US. En el log debe quedar reflejado los envíos de correo a través de mail.us.es. En /var/log/maillog deben quedar reflejadas las conexiones cifradas con mail.us.es