====== Postfix avec SMTP GMail ======
===== Installation =====
Nous allons installer les paquets suivants :
apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
mailutils est un client console pour envoyer les mails,
libsasl2-2, ca-certificates, libsasl2-modules pour les certificats SSL.
Lors de l’installation, **il faut choisir "Site Internet**" et ensuite laissez le hostname par défaut.
On active le démarrage de postfix au lancement du système:
systemctl enable postfix
===== Paramétrage =====
Dans l'état on ne peut rien envoyer! Donc passons au paramétrage.
Maintenant que Gmail nécessaire une double authentification MFA/2FA, il faut qu'on "bypass" ça en autorisant directement dans les paramètres de sécurité de notre compte via "[[https://support.google.com/mail/answer/185833?hl=fr|mot de passe d'application]]" (pas d'acces depuis [[https://myaccount.google.com/security|https://myaccount.google.com/security]])
C'est très bien caché! il faut aller ici :[[https://myaccount.google.com/apppasswords|https://myaccount.google.com/apppasswords]]
Une foix le code généré il faut le mettre dans:
vi /etc/postfix/sasl_passwd
il faut enlever les espaces du code affiché.
[smtp.gmail.com]:587 USERNAME@gmail.com:xxxxxxxxxxxxxxxx
Comme c'est quand meme votre code d'acces faut le sécuriser en n'autorisant que root
chmod 400 /etc/postfix/sasl_passwd
Et pour que Postfix puisse l'utiliser il faut en faire un hash
postmap /etc/postfix/sasl_passwd
Maintenant on ce qu'il faut on configure Postfix
vi /etc/postfix/main.cf
modifiez le relayhost en
relayhost = [smtp.gmail.com]:587
et ajouter à la fin du fichier
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
Et voilà on redémarre Postfix
systemctl reload postfix
===== Test =====
Pour tester on utilise mail
echo "test"|mail -s "test" mail_destinataire
en cas de pb de récpetion consultez les logs
cat /var/mail/root
pour vider les mails non distribués
> /var/spool/mail/root
===== Bonus =====
Automatisation :\\
Trigger pour automatiser: https://wasteofserver.com/permanently-delete-unwanted-emails-from-gmail-out-of-sight-out-of-mind/
[[https://script.google.com|https://script.google.com]]
function emptyTrash() {
var gmailSearchString = `in:trash`
var threads = GmailApp.search(gmailSearchString);
const n = threads.length;
if (n <= 0) {
Logger.log("No threads matching search string \"%s\"", gmailSearchString);
return
} else {
Logger.log("%s threads matching action **%s**", n, gmailSearchString);
}
for (var i = 0; i
function toTrash() {
var gmailSearchString = `to:me`
var threads = GmailApp.search(gmailSearchString);
const n = threads.length;
if (n <= 0) {
Logger.log("No threads matching search string \"%s\"", gmailSearchString);
return
} else {
Logger.log("%s threads matching action **%s**", n, gmailSearchString);
}
for (var i = 0; i