Amazon EC2: rediriger les mails pour root via Google Apps

Ayant un peu patiné avec la configuration, je me dis que cela pourrait intéresser d’autres personnes…

Setup/Cahier des charges:

  • Fedora 11 sur une VM Amazon EC2 (voir ce précédent billet pour mettre à jour depuis la version 8 fournie)
  • Postfix, utilisé uniquement comme relais local vers Google Apps
  • S’authentifier sur Google Apps pour envoyer les mails
  • Rediriger les mails root sur ma boite (crontab…)

Voici les différentes étapes pour y arriver!

Configuration de Postfix

La configuration se fait sur plusieurs fichiers (en gras l’important):

/etc/postfix/main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mydomain = eu-west-1.compute.internal
myorigin = mondomainegoogleapps.fr
inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.5.6/samples
readme_directory = /usr/share/doc/postfix-2.5.6/README_FILES
inet_protocols = ipv4
smtpd_tls_key_file =
smtp_use_tls = yes
relayhost = [smtp.gmail.com]:587
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

/etc/postfix/sasl_passwd

[smtp.gmail.com]:587            emailQuiEnvoiMail@mondomainegoogleapps.fr:monmotdepasse

/etc/newaliases

[..]
root: monemailamoi@mondomainegoogleapps.fr

Appliquer la configuration

postmap transportpostmap sasl_password
newaliases
chkconfig postfix on
/etc/init.d/postfix restart

Tester

echo "hello world" | mail -s "mail envoye a root local" root

Explications

tous les mails à destination d’un domaine autre que mydestination ($myhostname, localhost.$mydomain, localhost) est routé via smtp.gmail.com en s’authentifiant auprès de ce dernier via le compte configuré dans sasl_passwd. Google Apps/Gmail remplacera le nom de l’expéditeur par le compte qui est utilisé pour envoyé le mail.

pour les mails envoyé à root, le système ajoute automatiquement @hostname.domain. Il faut donc que postfix considère eu-west-1.compute.internal comme étant son domaine. Bien sûr, il faut remplacer cette valeur par la région où est hébergée votre VM (grep search /etc/resolv.conf)


Laisser un commentaire