¡Hola a todos!. Más que todo en servidores web (Apache por ejemplo…), nos es necesario enviar correos desde una cuenta confiable, y qué más confiable que una cuenta en Gmail jejejj, pero igual… esto aplica para prácticamente cualquier servicio de correo, por cuanto solo se tendrían que hacer los ajustes de configuración necesarios; para éste ejemplo, instalaremos y configuraremos Postfix para que pueda enviar correos desde nuestro servidor con Ubuntu Server 18.04.3 LTS mediante una cuenta de Gmail.
Lo primero será instalar los paquetes que necesitamos para que funcione:
sudo apt install postfix libsasl2-2 libsasl2-modules ca-certificates mailutils
Creo que es lógico, pero igual… mencionar que debemos de tener una cuenta en Gmail la cual queremos utilizar para enviar correos.
Una vez se tenga la cuenta, vamos a preparar nuestro archivo de configuración de Postfix:
sudo -s
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
El sudo -s nos permitirá tener privilegios de root en toda la sesión, dado que usaremos bastantes líneas de comando donde necesitamos dicho privilegio.
Editaremos el archivo /etc/postfix/main.cf y, al final del archivo, agregaremos las siguientes líneas:
nano /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:465
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_wrappermode = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
inet_protocols = ipv4
A continuación, un ejemplo de cómo quedan las últimas líneas del archivo:
Guardamos el archivo (en nano es CTRL+O, y luego cerramos con CTRL+X) y Ahora, nos salimos y crearemos el archivo de passwod al que hemos hecho referencia en main.cf
nano /etc/postfix/sasl_passwd
Agregaremos la siguiente línea tomando en cuenta la información de la cuenta de correo en Gmail (cuenta de correo y contraseña)
[smtp.gmail.com]:465 usuario@gmail.com:contraseña
Guardamos y nos salimos; dentro de la consola, se ejecutarán las siguientes líneas de comando para preparar la configuración de autenticación de postfix.
postmap /etc/postfix/sasl_passwd
chmod 400 /etc/postfix/sasl_passwd*
postalias hash:/etc/aliases
Reiniciamos y verificamos que esté bien el servicio de Postfix:
service postfix restart
service postfix status
Debería salir algo parecido (si todo esta bien):
Ya tenemos entonces configurado Postfix como nuestro servidor de correo, conectado con nuestra cuenta en Gmail (como relay); ahora vamos a hacer un ajuste en nuestra cuenta de Gmail, de tal manera permitir ésta configuración.
Entramos a la cuenta en Gmail y nos vamos a la opción de Gestionar tu cuenta.
Ahora nos vamos a la sección de Seguridad
Buscamos y habilitamos el Acceso de aplicaciones poco seguras
Ahora vamos a enviar un correo de prueba mediante el comando mail (gracias al paquete que instalamos llamado mailutils).
echo "Prueba de correo" | mail -s "Correo x1" otrocorreo@gmail.com
Si se coloca únicamente el comando mail, se nos solicitará que ingresemos la información de Para: , CC: , BC: , Cuerpo del correo y, para cerrar el correo, presionamos ENTER y luego CTRL+D.
Si revisamos la cuenta de correo donde enviamos nuestra prueba, debería de haber caído sin problemas.
Para verificar en los logs y así solventar problemas (ver mensajes de error o algo), podemos utilizar la siguiente línea de comando, de tal manera visualizar los últimos registros:
sudo tail -f /var/log/mail.log
Un correo enviado sin problemas, se vería algo así:
Eso sería todo. ¡Saludos!