Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:mail:mail_relai [20/09/2024 07:31] – supprimée - modification externe (Unknown date) 127.0.0.1 | pratique:informatique:mail:mail_relai [13/10/2025 18:52] (Version actuelle) – [Paramétrage des DNS] Zatalyz | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Déléguer l' | ||
| + | ===== Msmtp ===== | ||
| + | |||
| + | Paramétrer un serveur mail complet, c'est compliqué et un peu overkill sur chaque machine qu'on gère. Par contre, j' | ||
| + | |||
| + | J'ai réussi à m' | ||
| + | |||
| + | sudo apt install msmtp msmtp-mta bsd-mailx | ||
| + | |||
| + | Ensuite on configure un fichier appelé msmtprc (''/ | ||
| + | |||
| + | nano / | ||
| + | |||
| + | Ici je met deux config "pour mémoire", | ||
| + | <code bash / | ||
| + | # Compte Gandi | ||
| + | account | ||
| + | host | ||
| + | tls on | ||
| + | tls_certcheck | ||
| + | tls_starttls | ||
| + | auth on | ||
| + | port 465 | ||
| + | from | ||
| + | user | ||
| + | password | ||
| + | logfile | ||
| + | aliases | ||
| + | |||
| + | # Compte Nordcantal | ||
| + | account | ||
| + | host | ||
| + | tls on | ||
| + | tls_certcheck | ||
| + | tls_starttls | ||
| + | auth on | ||
| + | port 587 | ||
| + | from | ||
| + | user | ||
| + | password | ||
| + | syslog | ||
| + | aliases | ||
| + | # Définir le compte par défaut | ||
| + | account default : lievre | ||
| + | |||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Il est possible que Apparmor fasse des siennes et empêche d' | ||
| + | |||
| + | Solution simple et efficace : enlever la ligne '' | ||
| + | |||
| + | Les logs seront gérés par syslog, et nous aurons dans /var/log un " | ||
| + | |||
| + | </ | ||
| + | |||
| + | Tester l' | ||
| + | echo ' | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Vérifier que ça logue même envoyé depuis un user de base. | ||
| + | </ | ||
| + | |||
| + | Éditer les aliases afin que root renvoie au mail : | ||
| + | sudo nano / | ||
| + | |||
| + | Ajouter à la fin de ce fichier '' | ||
| + | < | ||
| + | # / | ||
| + | mailer-daemon: | ||
| + | postmaster: root@ | ||
| + | nobody: root@ | ||
| + | hostmaster: root@ | ||
| + | usenet: root@ | ||
| + | news: root@ | ||
| + | webmaster: root@ | ||
| + | www: root@ | ||
| + | ftp: root@ | ||
| + | abuse: root@ | ||
| + | noc: root@ | ||
| + | security: root@ | ||
| + | default: user@nomdomaine.com | ||
| + | root: user@nomdomaine.com | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | '' | ||
| + | |||
| + | < | ||
| + | user2: user2@chezmoi.com</ | ||
| + | |||
| + | Laissez tout de même une variable '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | Éditer aussi ''/ | ||
| + | sudo nano / | ||
| + | |||
| + | Ajoutez à la fin : | ||
| + | set mta=/ | ||
| + | |||
| + | Pour tester si tout marche en envoi à root : | ||
| + | echo " | ||
| + | |||
| + | ==== Vérifier la sécurité ==== | ||
| + | Pour éviter que le mot de passe du mail soit visible par toute personne connectée au serveur, on peut améliorer un peu les choses. | ||
| + | |||
| + | <WRAP center round help 60%> | ||
| + | Il y a des méthodes diverses pour stocker le mot de passe mais la plupart me semblent compliquées à concilier avec un usage serveur : on ne peux pas entrer le mot de passe manuellement quand un courrier veut être envoyé. Si vous voyez comment faire mieux, je prends. | ||
| + | </ | ||
| + | |||
| + | On peut stocker le mot de passe dans un fichier séparé en ayant cette ligne à la place de '' | ||
| + | passwordeval | ||
| + | |||
| + | (ou tout autre chemin). Cependant je ne suis pas sûre de voir l' | ||
| + | |||
| + | On va créer un group qui aura le droit d' | ||
| + | |||
| + | < | ||
| + | sudo groupadd smtpusers | ||
| + | sudo usermod -aG smtpusers backup | ||
| + | sudo usermod -aG smtpusers mail | ||
| + | sudo usermod -aG smtpusers www-data | ||
| + | sudo chown root: | ||
| + | sudo chmod 640 / | ||
| + | </ | ||
| + | |||
| + | => J'ai par défaut ajouté les users systèmes " | ||
| + | |||
| + | |||
| + | |||
| + | ==== Avec Scaleway ==== | ||
| + | Scaleway propose des emails transctionnels pour pas cher. Un peu technique pour paramétrer ça chez eux (faudra que je note aussi), et côté msmtp ça donne ça : | ||
| + | <code / | ||
| + | # Compte Scaleway | ||
| + | account | ||
| + | host | ||
| + | tls_certcheck | ||
| + | tls_starttls | ||
| + | tls on | ||
| + | tls_trust_file / | ||
| + | logfile | ||
| + | port 465 | ||
| + | auth on | ||
| + | from [le nom à afficher]@[domaine.perso.net] | ||
| + | user [le nom d' | ||
| + | password | ||
| + | aliases | ||
| + | |||
| + | </ | ||
| + | |||
| + | Ensuite Scaleway a quelques exigences sur le formatage des mails. Pour tester : | ||
| + | <code mail.txt> | ||
| + | To: [votre@mail] | ||
| + | subject: Test encore | ||
| + | |||
| + | Le corps du texte commence à cette ligne (laisser une ligne blanche) | ||
| + | |||
| + | </ | ||
| + | |||
| + | Et enfin pour tester : | ||
| + | cat mail.txt | msmtp -a scaleway [votre@mail] | ||
| + | |||
| + | ==== Permettre à php d' | ||
| + | Je ne comprends pas trop pourquoi " | ||
| + | |||
| + | On commence par donner le droit à www-data de se servir de msmtp : | ||
| + | sudo chgrp www-data / | ||
| + | |||
| + | On vérifie aussi que dans php.ini, la ligne suivante existe. À refaire à chaque changement de version de php... | ||
| + | |||
| + | <code json / | ||
| + | [mail function] | ||
| + | sendmail_path = "/ | ||
| + | </ | ||
| + | |||
| + | Et on recharge apache/ce qui utilise php : | ||
| + | |||
| + | service apache2 restart | ||
| + | ==== Problème de port ? ==== | ||
| + | Vérifiez que les règles " | ||
| + | |||
| + | |||
| + | ==== Sources ==== | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | ===== Paramétrage des DNS ===== | ||
| + | Pour améliorer la délivrabilité des mails, il faut configurer les DNS afin que tout soit propre. Au programme, SPF, DKIM, DMARC. | ||
| + | |||
| + | Et ça se passe sur la [[pratique: | ||
| + | |||
| + | {{tag> | ||
| + | |||
| + | [[https:// | ||
| + | |||