Skip to content

Instantly share code, notes, and snippets.

@pweinzettel
Created June 6, 2024 18:23
Show Gist options
  • Save pweinzettel/8bb38251040ace8fb7a64e814ec50bce to your computer and use it in GitHub Desktop.
Save pweinzettel/8bb38251040ace8fb7a64e814ec50bce to your computer and use it in GitHub Desktop.
Enviar mails a travez de Gmail con postfix

Instlar paquetes necesarios, en caso de que postfix no haya estado instalado nos preguntara por una simple configuracion, seleccionar "Internet Site"

apt-get install mailutils postfix ca-certificates

Configurar cuenta de envio

vim /etc/postfix/sasl/sasl_passwd

El archivo debe contener: RELAY CUENTA:PASSWORD

Esta clave DEBE ser una "Contraseñas de aplicaciones" (buscar eso dentro de las opciones de cuenta y nos lleva directo)

Por ejemplo: [smtp.gmail.com]:465 example@gmail.com:apppassword

Actualizar hash db y permisos:

postmap /etc/postfix/sasl/sasl_passwd

chmod 600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db

Editar config de postfix:

vim /etc/postfix/main.cf

Agregar (pero no duplicar) En mi experiencia, solo relayhost y smtp_tls_security_level ya se encontraban, en ese caso, editar

relayhost = [smtp.gmail.com]:465

smtp_use_tls = yes 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 smtp_tls_wrappermode = yes

Una vez realizado esto, es necesario reiniciar el servicio:

service postfix restart

Otra configuracion importante si queremos recibir los correos del sistema, es editar los aliases:

vim /etc/aliases

La sintaxis del archivo es: USER: DESTINO

Ejemplo: postmaster: root proxy: root backup: backup_admin@example.com root: superadmin@example.com

Segun el ejemplo, los mails de sistema enviados a postmaster, proxy y root le van a llegar a superadmin@example.com y los mails enviados al usuario de sistema backup le van a llegar a backup_admin@example.com

Siempre que se editan los aliases, es enecesario recargar los mismos con el comando:

newaliases

Si todo nos quedo bien configurado, podemos testear de la siguiente forma:

echo "Este es un mail de test" | mail -s "Test" DESTINATARIO

Donde "DESTINATARIO" puede ser un usuario del sistema que hayamos configurado en aliases, como root, backup, postmaster, proxy o tambien puede ser un usuario externo como usuario@example.com

Para asegurarse de que todo esta funcionando, podemos revisar el log:

tail -f /var/log/mail.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment