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 | ||
| linux:postfix [08-07-2025 21:01] – edmc73 | linux:postfix [16-10-2025 07:42] (Version actuelle) – [Utiliser notre postfix comme un serveur relay via le port 587 avec authentification] edmc73 | ||
|---|---|---|---|
| Ligne 343: | Ligne 343: | ||
| et voila :) | et voila :) | ||
| * doc plus poussé => http:// | * doc plus poussé => http:// | ||
| + | |||
| + | ===== Recevoir des mails directement dans une petite interface web de consultation uniquement ===== | ||
| + | |||
| + | Concrètement, | ||
| + | |||
| + | Installer **maildev** -> https:// | ||
| + | |||
| + | Je commence par ajouter une entrée DNS de type MX | ||
| + | toto.com IN MX 10 mon_serveur_smtp.com | ||
| + | |||
| + | J' | ||
| + | noreply@toto.com smtp: | ||
| + | |||
| + | On hash le fichier | ||
| + | postmap / | ||
| + | |||
| + | On modifie le fichier **/ | ||
| + | < | ||
| + | # prise en compte du fichier de transport | ||
| + | transport_maps = hash:/ | ||
| + | |||
| + | # on dit que si un mail vient de ce domaine, on ne cherche pas un user en local, on utilise le fichier de transport pour savoir ce qu'on en fait | ||
| + | relay_domains = toto.com | ||
| + | </ | ||
| + | |||
| + | On restart postfix | ||
| + | systemctl restart postfix | ||
| + | |||
| + | On consulte le journal en temps réel | ||
| + | journactl -xef -u postfix* | ||
| + | |||
| + | Et voila, on recevra directement dans maildev les mails adressés à noreply@toto.com ! | ||
| + | |||
| + | ===== Utiliser notre postfix comme un serveur relay via le port 587 avec authentification ===== | ||
| + | |||
| + | Dans l' | ||
| + | |||
| + | Le port 587 est géré par le service " | ||
| + | |||
| + | < | ||
| + | submission inet n | ||
| + | -o syslog_name=postfix/ | ||
| + | -o smtpd_tls_security_level=encrypt | ||
| + | -o smtpd_sasl_auth_enable=yes | ||
| + | </ | ||
| + | |||
| + | Configuration dans **/ | ||
| + | < | ||
| + | # --- Paramètres SASL (avec Cyrus) --- | ||
| + | smtpd_sasl_auth_enable = yes | ||
| + | smtpd_sasl_security_options = noanonymous | ||
| + | smtpd_sasl_local_domain = $myhostname | ||
| + | # Indique à Postfix d' | ||
| + | smtpd_sasl_type = cyrus | ||
| + | # Chemin vers le fichier de configuration de l' | ||
| + | smtpd_sasl_path = smtpd | ||
| + | |||
| + | # --- Paramètres TLS (toujours obligatoires) --- | ||
| + | smtpd_use_tls = yes | ||
| + | smtpd_tls_security_level = encrypt | ||
| + | smtpd_tls_cert_file = / | ||
| + | smtpd_tls_key_file = / | ||
| + | </ | ||
| + | |||
| + | Vous devez dire à l' | ||
| + | |||
| + | Créez le fichier **/ | ||
| + | |||
| + | mkdir / | ||
| + | vi / | ||
| + | |||
| + | Ajoutez le contenu suivant : | ||
| + | |||
| + | pwcheck_method: | ||
| + | auxprop_plugin: | ||
| + | mech_list: plain login | ||
| + | |||
| + | '' | ||
| + | '' | ||
| + | |||
| + | Maintenant pour générer le fichier de mot de passe utilisé par l' | ||
| + | |||
| + | Debian | ||
| + | apt install sasl2-bin | ||
| + | Red Hat | ||
| + | dnf install cyrus-sasl-plain | ||
| + | |||
| + | L' | ||
| + | |||
| + | Créer un utilisateur | ||
| + | saslpasswd2 -c -u toto.com toto | ||
| + | Saisissez ensuite le mot de passe. Ceci créera un utilisateur toto@toto.com | ||
| + | |||
| + | Mettre à jour le mot de passe | ||
| + | saslpasswd2 -u toto.com toto | ||
| + | Supprimer l' | ||
| + | saslpasswd2 -d -u toto.com toto | ||
| + | Lister les utilisateurs | ||
| + | sasldblistusers2 | ||
| + | |||
| + | Afin que postfix puisse lire le fichier **/ | ||
| + | adduser postfix sasl | ||
| + | systemctl restart postfix | ||
| + | |||
| + | On vérifie | ||
| + | < | ||
| + | ss -tlpn | grep 587 | ||
| + | LISTEN 0 100 0.0.0.0: | ||
| + | </ | ||
| + | |||
| + | Dernière étape, comme postfix tourne en chroot (à vérifier dans master.cf) \\ | ||
| + | Modifier le fichier **/ | ||
| + | < | ||
| + | # Example for chroot Postfix users: "-c -m / | ||
| + | # Example for non-chroot Postfix users: "-c -m / | ||
| + | # | ||
| + | # To know if your Postfix is running chroot, check / | ||
| + | # If it has the line "smtp inet n - y - - smtpd" or "smtp inet n - - - - smtpd" | ||
| + | # then your Postfix is running in a chroot. | ||
| + | # If it has the line "smtp inet n - n - - smtpd" then your Postfix is NOT | ||
| + | # running in a chroot. | ||
| + | OPTIONS=" | ||
| + | </ | ||
| + | |||
| + | Postfix ne pourra pas lire non plus le fichier / | ||
| + | cp / | ||
| + | chmod 640 / | ||
| + | chown root:sasl / | ||
| + | systemctl restart postfix | ||
| + | |||
| + | Jusque là, tout semble fonctionner, | ||
| + | < | ||
| + | (host gmail-smtp-in.l.google.com[66.102.1.27] said: | ||
| + | 550-5.7.26 Your email has been blocked because the sender is unauthenticated. | ||
| + | 550-5.7.26 Gmail requires all senders to authenticate with either SPF or DKIM. | ||
| + | 550-5.7.26 | ||
| + | 550-5.7.26 | ||
| + | 550-5.7.26 | ||
| + | 550-5.7.26 | ||
| + | 550-5.7.26 | ||
| + | 550-5.7.26 | ||
| + | 550 5.7.26 | ||
| + | </ | ||