Configurer Exim pour envoyer les emails avec Gmail

Nous allons voir comment configurer Exim4 pour envoyer des emails système avec Gmail. Cela permettrait que vos emails envoyés avec vos CRON soient correctement routés et n’atterrissent pas dans les spams.

Installons Exim4

apt-get install exim4

Configuration

dpkg-reconfigure exim4-config

Choisissez : mail sent by smarthost; no local mail

Selection_310

Ensuite répondez aux questions comme suit :

System mail name: YOUR_HOSTNAME

IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1

Other destinations for which mail is accepted: <BLANK>

Visible domain name for local users: <BLANK>

IP address or host name of the outgoing smarthost: smtp.gmail.com::587

Keep number of DNS-queries minimal (Dial-on-Demand)? No

Split configuration into small files? No

Root and postmaster mail recipient: <BLANK>

Ouvrez et éditez le fichier : /etc/exim4/exim4.conf.template

Recherchez :

.ifdef DCconfig_smarthost DCconfig_satellite

Et ajoutez ces lignes juste après :

send_via_gmail:
    driver = manualroute
    domains = ! +local_domains
    transport = gmail_smtp
    route_list = * smtp.gmail.com

Il faut supprimer tous les autres blocks smarthost contenants :

domains = ! +local_domains

Commentez les avec un # en début de ligne

Selection_311

Recherchez les authenticators avec l’occurrence :

begin authenticators

Et ajoutez ces lignes :

gmail_login:
    driver = plaintext
    public_name = LOGIN
    client_send = : VOTRE_EMAIL@gmail.com : VOTRE_PASS_GMAIL

Supprimez tous les autres blocs qui contiennent :

public_name = LOGIN

Vous pouvez aussi juste les renommer comme ceci :

login:
  driver = plaintext
  public_name = LOGIN_BACK

Cela évite d’avoir un conflit de nom.

Recherchez ensuite :

transport/30_exim4-config_remote_smtp_smarthost

Et ajoutez ces lignes :

gmail_smtp:
    driver = smtp
    port = 587
    hosts_require_auth = $host_address
    hosts_require_tls = $host_address

Fermez et enregistrez votre fichier de configuration : /etc/exim4/exim4.conf.template

On recharge le fichier de conf :

update-exim4.conf

Et on relance le service :

/etc/init.d/exim4 restart

On peut tester notre envoi d’emails :

echo 'Test' | mail -s 'Message test' VOTRE_EMAIL@ADDRESSE