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 :
Cliquez sur l'onglet Sécurité et faites défiler la liste jusqu'à Vérification en deux étapes, activez-la.
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.
(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é).
Vous pouvez saisir le nom de votre choix - il vous servira de référence. Par exemple,
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.
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.logcompte gmail
hôte smtp.gmail.com
port 587de [email protected]
utilisateur [email protected]
mot de passe lwsznhkychasbbrhcompte 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
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)
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") :
(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 :
Note III : vous obtiendrez également les messages envoyés dans votre dossier d'envoi :
Réf.
- https://doc.ubuntu-fr.org/msmtp
- https://stackoverflow.com/questions/63560494/gmail-is-blocking-to-send-email-via-smtp
- https://www.getmailbird.com/setup/access-gmail-com-via-imap-smtp
- https://support.google.com/a/answer/176600?hl=en (ce document mentionne également un service de relais SMTP, qui peut être utilisé comme alternative)
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