Gmail Workspace / Gmail Suite envoyer un e-Mail depuis un serveur en utilisant msmtp

Nous sommes en train de migrer vers Gmail, pour pouvoir déléguer la gestion d'un serveur de messagerie.

Nous utilisions auparavant ssmtp sur notre serveur pour envoyer des courriers électroniques, en utilisant notre propre serveur de messagerie (Zimbra).

J'ai maintenant réussi à faire fonctionner Gmail Workspace, et j'aimerais partager avec vous quelques conseils sur la façon de procéder.

Ceci est fait sur un système Debian / Ubuntu.

Configurer l'authentification à deux facteurs

Connectez-vous à votre compte Google :

https://myaccount.google.com/

Cliquez sur l'onglet Sécurité et faites défiler la liste jusqu'à Vérification en deux étapes, activez-la.

image

Vous devrez probablement fournir votre numéro de téléphone mobile à Google ou choisir une autre option ici.

Configurer un mot de passe pour l'application

Cliquez sur "Mots de passe de l'application" en dessous de la vérification en deux étapes.

Google vous demandera de vous reconnecter.

image

(Notez que j'ai déjà configuré un mot de passe pour l'application, votre écran pourrait être un peu différent au début).

Cliquez sur Sélectionner une application, puis sélectionnez Autre (nom personnalisé).

image

Vous pouvez saisir le nom de votre choix - il vous servira de référence. Par exemple,

image

Cliquez sur Générer

Une fenêtre popup apparaîtra. Le mot de passe de l'application ne sera affiché qu'une seule fois, n'oubliez donc pas de le copier.

image

Notez que le mot de passe est simplement présenté sous la forme de quatre segments de quatre caractères chacun pour être plus facile à lire, il n'y aura pas d'espace dans le mot de passe réel.

Dans ce cas, le mot de passe est

lwsznhkychasbbrh

Cliquez sur Terminé.

Passer à msmtp

ssmtp n'est plus maintenu, et il est possible que vous ayez des problèmes de connexion à Gmail :

/var/log/syslog:Oct 15 09:52:22 Athena sSMTP [19076] : Connexion SSL utilisant ECDHE_ECDSA_CHACHA20_POLY1305
/var/log/syslog:Oct 15 09:52:22 Athena sSMTP [19076] : Echec de l'autorisation (535 5.7.8 
https://support.google.com/mail/?p=BadCredentials ************.79 - gsmtp)

ssmtp : L'autorisation a échoué (535 5.7.8  https://support.google.com/mail/?p=BadCredentials *************.4 - gsmtp)

Apparemment, la partie authentification ECDHE peut être un problème pour certains utilisateurs sur des systèmes plus récents..

La solution de contournement consiste à passer à msmtp.

Supprimer ssmtp (toutes les commandes sont exécutées en tant que root)

apt-get purge ssmtp

Installer msmtp

apt-get install msmtp msmtp-mta

Configurer msmtp

nano /etc/msmtprc

Introduisez les données suivantes :

Valeurs par défaut
auth sur
tls sur
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
fichier de log /var/log/msmtp.log

compte gmail
hôte smtp.gmail.com
port 587

de [email protected]
utilisateur [email protected]
mot de passe lwsznhkychasbbrh

compte par défaut : gmail

Changez vos données de connexion (de, utilisateur, et mot de passe - j'ai pris lwsznhkychasbbrh de l'exemple ci-dessus).

Notez que vous n'avez pas besoin de redémarrer un service ou quoi que ce soit de ce genre - les données d'accès seront utilisées pour le prochain courriel que le serveur essaiera d'envoyer.

Utilisez le mot de passe de l'application généré ci-dessus - le mot de passe de votre compte ne fonctionnera pas :

msmtp : échec de l'authentification (méthode PLAIN)
msmtp : message du serveur : 534-5.7.9 Mot de passe spécifique à l'application requis. Pour en savoir plus, consultez
msmtp : message du serveur : 534 5.7.9 
https://support.google.com/mail/?p=InvalidSecondFactor *************.29 - gsmtp
msmtp : n'a pas pu envoyer de courrier (compte par défaut de /etc/msmtprc)

Veuillez également noter que le mot de passe de l'application doit être saisi sans espace entre les caractères (comme indiqué ci-dessus).

Sécurisez ce fichier (il contient des données de connexion !) :

chmod 600 /etc/msmtprc

image

Permettre des applications moins sécurisées

https://admin.google.com/u/2/ac/security/lsa

Malheureusement, vous allez également doivent permettre Des applications moins sûres l'accès à vos comptes dans Google Admin, sinon vous continuerez à obtenir le même message d'erreur :

msmtp : échec de l'authentification (méthode PLAIN)
msmtp : message du serveur : 535-5.7.8 Nom d'utilisateur et mot de passe non acceptés. Pour en savoir plus, consultez
msmtp : message du serveur : 535 5.7.8  https://support.google.com/mail/?p=BadCredentials **********.34 - gsmtp
msmtp : n'a pas pu envoyer de courrier (compte par défaut de /etc/msmtprc)

image

Changez cela en "Permettre aux utilisateurs de gérer leur accès aux applications moins sécurisées" et cliquez sur Sauvez.

Envoyer un message d'essai

Si tout fonctionne correctement, vous pouvez maintenant envoyer un message de test :

echo 'test' | msmtp [email protected]

Si cette commande revient sans erreur, alors tout fonctionne.

En outre, si vous rafraîchissez la vue des mots de passe de l'application, vous verrez que le mot de passe de l'application a été utilisé ("last used") :

image

(il se peut que cela ne soit pas toujours exact d'après mes tests, cependant).

Si c'était le cas pas vous obtiendrez un résultat similaire au suivant :

msmtp : échec de l'authentification (méthode PLAIN)
msmtp : message du serveur : 535-5.7.8 Nom d'utilisateur et mot de passe non acceptés. Pour en savoir plus, consultez
msmtp : message du serveur : 535 5.7.8 
https://support.google.com/mail/?p=BadCredentials ***********.9 - gsmtp
msmtp : n'a pas pu envoyer de courrier (compte par défaut de /etc/msmtprc)

Remarque : cette erreur s'affiche également si vous supprimez votre mot de passe d'application à l'aide de l'icône de la corbeille que vous voyez ci-dessus. Il s'agit d'ailleurs d'une fonctionnalité utile des mots de passe d'application : si vous soupçonnez une violation, vous pouvez simplement supprimer le mot de passe d'application et configurer votre appareil avec un autre mot de passe d'application.

Si vous continuez à obtenir cette erreur, vérifiez si vous avez activé les applications moins sécurisées, comme je vous l'ai indiqué (ci-dessus).

Note II : vous recevrez une information sur les mots de passe d'application nouvellement créés dans votre compte de messagerie :

image

Note III : vous obtiendrez également les messages envoyés dans votre dossier d'envoi :

image

Réf.

Bonus

Google mentionne leur limites tarifaires sur cette page:

  • 10.000 destinataires par jour pour le service de relais SMTP (nécessite une adresse IP statique ou une connexion valide de l'utilisateur G Suite)
  • 2.000 messages par jour pour le SMTP de Gmail