Si no disponemos de una dirección IP estática, y queremos montar un servidor de correo, lo más sencillo es usar un proveedor externo para reenviarlos, ya que sin la dirección estática muchos proveedores marcarían nuestros correos como spam o directamente los rechazarían.
Vamos a instalar y configurar un servidor SMTP con Postfix y para enviar correos con nuestra cuenta de Gmail.
Disponer de este servicio nos va a permitir:
- Enviar correos desde nuestro servidor usando nuestra cuenta de Gmail.
- Recibir notificaciones de nuestro sistema a nuestra cuenta de correo en Gmail.
- Si disponemos de un dominio en Google Domains, podemos usar nuestro nombre de dominio en los correos salientes: tuemail@tudominio.com.
Instalación Postfix
Instalamos Postfix con el siguiente comando:
$ sudo apt install postfix libsasl2-modules
Durante la instalación, una interfaz ncurses nos guiará por la configuración inicial:
- Tipo de configuración: sitio de Internet
- Nombre del correo: tu_hostname
Generar contraseña de aplicación en Gmail
Necesitamos generar una contraseña para acceder al servidor SMTP de nuestra cuenta de Gmail.
- Accedemos al siguiente enlace: google app passwords
- En la opción seleccionar aplicación: Correo.
- En la opción seleccionar dispositivo: Otra, añadimos el nombre que queramos, por ejemplo Postfix.
- Guardamos en un lugar seguro la contraseña generada, esta nos permitirá autenticarnos con Postfix en los servidores SMTP de google.
Vamos a configurar nuestro usuario de Gmail y la contraseña obtenida, para que Postfix pueda utilizarla. Editamos el fichero /etc/postfix/sasl/sasl_passwd (username es nuestro usuario en google y password es la contraseña obtenida en los pasos anteriores):
[smtp.gmail.com]:587 username@gmail.com:password
Generamos la base de datos para Postfix y aseguramos el contenido con los siguientes comandos:
$ sudo postmap /etc/postfix/sasl/sasl_passwd
$ sudo chmod 0600 /etc/postfix/sasl/sasl_passwd
$ sudo chmod 0600 /etc/postfix/sasl/sasl_passwd.db
Configurar Postfix para usar Gmail relay SMTP
Ahora tenemos que indicarle a Postfix, que todo el correo saliente lo envíe a los servidores SMTP de goole y se identifique con nuestro usuario.
Editamos el fichero /etc/postfix/main.cf:
relayhost = [smtp.gmail.com]:587
mydestination = localhost.localdomain, localhost
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Para finalizar la configuración, reiniciamos el servicio:
sudo systemctl restart postfix
Enviar un correo con Postfix
Una vez temeos todo configurado, probamos el envió de correos, utilizamos el comando sendmail que viene incluido en postfix:
$ sendmail destinatario@dominio.com
From: nosotros@gmail.com
Subject: Email de prueba
Esto es un correo de pruebas.
.
Y con esto sencillos pasos. podemos enviar correos desde nuestro servidor.