• Serveurs
  • [Discussion] Installer un serveur de mail avec Postfix et Dovecot

julienth37 wrote:Je reprend ton fichier dans l'ordre:
2015214010 ; Serial
Année 2015 mois 21 jours 40 version 10 -> à pas oublier en 2016 penser à bien utiliser le numéros de zone de façon humaine (pas obligatoire mais bien pratique) par exemple un fichier de zone que j'aurai modifié 2 fois hier aurai le sérial 2015120502
14400      ; Refresh
un peu court pour un refresh, "43200 ; refresh (12 hours)" serai plus aproprié (surtout pour de l'auto-hébergement)
3600       ; Retry
"900 ; retry (15 minutes)" idem plus approprié en auto-hébergement
1209600    ; Expire - 1 week
"1209600 ; expire (2 weeks)" idem ...
86400 )    ; Minimum
peut être réduit à 10800 (3 heures) si on modifie souvent (1 fois pas mois ou plus) sinon conviendra parfaitement.
On peut être amener à faire beaucoup de modifications au début (normal quand on est pas du métier on procédè par essais et on teste).

Pas besoin de répéter les @ ne rien mettre signifie que le début de la ligne précédente est repris par exemple:
@                   IN                NS                   ns1.mondomaine.net.
@                   IN                NS                   ns6.gandi.net.
@                   IN                NS                   ns1.sbg.fr.

@                   IN                A                    88.xxx.198.xxx
ns1                 IN                A                    88.xxx.198.xxx
s'écrit proprement comme ceci:
@                   IN                NS                   ns1.mondomaine.net.
                     IN                NS                   ns6.gandi.net.
                     IN                NS                   ns1.sbg.fr.

                     IN                A                    88.xxx.198.xxx
ns1                IN                A                    88.xxx.198.xxx
Je te déconseille le rangement par sous domaine ou tout autres classement complexe. Un simple rangement par ordre alphabétique des enregistrement tout type confondus est plus efficace et réduit considérablement les sources d'erreurs (crois moi en 10 ans d'administration de serveur DNS j'ai tout testé pour limiter les erreurs).

Tu peut prendre exemple sur les enregistrements SPF, DKIM et DMARC de mon domaine julienth37.tk (attention vaut mieux pas de SFP, DKIM et DMARC quand on sait pas bien s'en servir). Notament pour le DMARC (que je suis en train de déployer).

Pour ton DKIM et DMARC je te conseille d'utiliser des enregistrements dkim._domainkey.domaine.tld. et _dmarc.domaine.tld. ça permet d'avoir plus de clarté et surtout c'est plus proche des préconisations RFC et pratique courante des adminsys (rien empêche bien sur de faire autrement) de plus ton mail._domainkey peut porter à confusion sur le fait que le DKIM n'est pas réservé qu'au mail (même si les autres usages sont encore expérimentaux).

"_domainkey IN TXT "o=-; r=postmaster@mondomaine.net"" à quoi cette ligne sert elle ? le _domainkey peut porter à confusion avec une vraie clé DKIM (seul enregistrement nécessaire pour utiliser DKIM).

Par classement alphabétique tout les enregistrement concernant la racine du domaine vont se retrouver ensemble et au début du fichier de zone (on considère l'absence de caractères comme le 0 en informatique donc on commence par la !). Le nom de domaine doit figurer avec un point final sur la ligne SOA (et non un @ qui sert d'alias/renvois vers le SOA en cours pour le serveur DNS) puis plusieurs ligne avec un début vide (pas besoin de remettre le nom de domaine ou un @ qui ne serai que redite) pour les NS, MX, ...

Petite recommandation si tu n'as qu'une seule adresse IP publique vers lequel tu fait pointer pleins de CNAME: choisit un bon reverse (pour l'IP) bien explicite, clair et concis (que tu pourrai mettre chez Free sans crainte du coup) par exemple ton nom de famille. et utilise le comme nom de serveur (la machine physique) et fait pointer tout le reste dessus (à l’exception des NS, MX et autre champs qui doivent avoir un A ou AAAA en correspondance).

Voila j'en profite pour annoncer que je cherche des rédacteurs/correcteurs pour une série de tutoriels à ma sauce sur l'auto-hébergement au p'tits oignons et quelques autres sujets connexes ! Les volontaires sont les bienvenus et seront bien sûr cités avec les honneurs qu'ils mériteront amplement !
Le tout sera bien sur sous licence libre (CC BY SA) pour que tout le monde puisse réutiliser les tutoriels/articles et se les réapproprier comme il le souhaite (toujours sous licence BY SA comme la licence originale l'impose).
Je vais potasser tout ça ^^
Par contre, après ajout de mon ip publique en v4 et v6 dans le fichier /etc/postfix/main.cf comme indiqué plus haut, le serveur ne fonctionnait plus...
J'ai été obligé de les retirer sinon plus de mail en envoi et réception....

En regardant le log, j'ai pu récupérer cette erreur:
Dec  6 14:30:53 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128 is unavailable. unsupported dictionary type: 2a01
Dec  6 14:30:53 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128: table lookup problem
Dec  6 14:30:53 cloud postfix/smtpd[6042]: disconnect from unknown[192.168.2.1]
Dec  6 14:30:53 cloud postfix/cleanup[6120]: AB8ED181FBB: message-id=<20151206133053.AB8ED181FBB@cloud.mondomaine.net>
Dec  6 14:30:53 cloud postfix/bounce[6143]: A0003181FBA: sender non-delivery notification: AB8ED181FBB
Dec  6 14:30:53 cloud postfix/qmgr[25630]: A0003181FBA: removed
Dec  6 14:30:53 cloud postfix/qmgr[25630]: AB8ED181FBB: from=<>, size=3971, nrcpt=1 (queue active)
Dec  6 14:31:08 cloud postfix/smtpd[6042]: connect from unknown[192.168.2.1]
Dec  6 14:31:08 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128 is unavailable. unsupported dictionary type: 2a01
Dec  6 14:31:08 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128: table lookup problem
Dec  6 14:31:08 cloud postfix/smtp[6124]: warning: host mail.mondomaine.net[88.xxx.198.xxx]:25 greeted me with my own hostname cloud.nerdherd45.me.uk
Dec  6 14:31:08 cloud postfix/smtp[6124]: warning: host mail.mondomaine.net[88.xxx.198.xxx]:25 replied to HELO/EHLO with my own hostname cloud.nerdherd45.me.uk
Dec  6 14:31:08 cloud postfix/smtp[6124]: AB8ED181FBB: to=<root@mondomaine.net>, relay=mail.mondomaine.net[88.xxx.198.xxx]:25, delay=15, delays=0.01/0/15/0, dsn=5.4.6, status=bounced (mail for mail.mondomaine.net loops back to myself)
Bon on va reprendre depuis le début, il me faudrait le résultat du script de debug en laissant ton nom de domaine dedans (passe le rapport par mp à moi même et à julienth37, ton ndd est important, je vais tester l'ensemble de tes enregistrements dns).
Bonjour à tous,

Auto hébergé egalement sur un raspberry avec comme fai FREE, j'ai bien désactivé le blocage smtp et malgré ça j 'ai une erreur

http://www.mail-tester.com/
-0.1	DKIM_SIGNED	Message has a DKIM or DK signature, not necessarily valid
Ce score négatif deviendra positif si la signature est valide. Voir immédiatement après.
0.1	DKIM_VALID	Message has at least one valid DKIM or DK signature
Génial ! Votre signature est valide
0.1	DKIM_VALID_AU	Message has a valid DKIM or DK signature from author's domain
Génial ! Votre signature est valide et provient de votre nom de domaine
-0.001	HTML_MESSAGE	HTML included in message
Pas de panique, c'est normal si vous envoyez des e-mails au format HTML
-3.558	RCVD_IN_PBL	Received via a relay in Spamhaus PBL
X.X.X.X listed in zen.spamhaus.org
-0.363	RDNS_DYNAMIC	Delivered to internal network by host with dynamic-looking rDNS
0.001	SPF_PASS	SPF: sender matches SPF record
Super! Votre enregistrement SPF est valide
Je suis blacklisté chez Spamhaus pour PBL qui justement semble etre un probleme d'authentification smtp. Je tourne en rond sans trouver la solution et du coup j'ai un score de 5.2
famillebundy wrote:Je vais potasser tout ça ^^
Par contre, après ajout de mon ip publique en v4 et v6 dans le fichier /etc/postfix/main.cf comme indiqué plus haut, le serveur ne fonctionnait plus...
J'ai été obligé de les retirer sinon plus de mail en envoi et réception....

En regardant le log, j'ai pu récupérer cette erreur:
Dec  6 14:30:53 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128 is unavailable. unsupported dictionary type: 2a01
Dec  6 14:30:53 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128: table lookup problem
Dec  6 14:30:53 cloud postfix/smtpd[6042]: disconnect from unknown[192.168.2.1]
Dec  6 14:30:53 cloud postfix/cleanup[6120]: AB8ED181FBB: message-id=<20151206133053.AB8ED181FBB@cloud.mondomaine.net>
Dec  6 14:30:53 cloud postfix/bounce[6143]: A0003181FBA: sender non-delivery notification: AB8ED181FBB
Dec  6 14:30:53 cloud postfix/qmgr[25630]: A0003181FBA: removed
Dec  6 14:30:53 cloud postfix/qmgr[25630]: AB8ED181FBB: from=<>, size=3971, nrcpt=1 (queue active)
Dec  6 14:31:08 cloud postfix/smtpd[6042]: connect from unknown[192.168.2.1]
Dec  6 14:31:08 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128 is unavailable. unsupported dictionary type: 2a01
Dec  6 14:31:08 cloud postfix/smtpd[6042]: warning: 2a01:e35:879c:6df0::1/128: table lookup problem
Dec  6 14:31:08 cloud postfix/smtp[6124]: warning: host mail.mondomaine.net[88.xxx.198.xxx]:25 greeted me with my own hostname cloud.nerdherd45.me.uk
Dec  6 14:31:08 cloud postfix/smtp[6124]: warning: host mail.mondomaine.net[88.xxx.198.xxx]:25 replied to HELO/EHLO with my own hostname cloud.nerdherd45.me.uk
Dec  6 14:31:08 cloud postfix/smtp[6124]: AB8ED181FBB: to=<root@mondomaine.net>, relay=mail.mondomaine.net[88.xxx.198.xxx]:25, delay=15, delays=0.01/0/15/0, dsn=5.4.6, status=bounced (mail for mail.mondomaine.net loops back to myself)
C'est normal tu n'as pas mis les crochets pour ton IPv6 [2a01:e35:879c:6df0::1]/128 devrai fonctionner, je te conseille même de mettre [2a01:e35:879c:6df0::]/64 (remplace 64 par le masque de ton réseau local en IPv6).

Je te confirme que ton problème viens de la (ou en partie au minimum) après avoir retiré mon IPv4 et IPv6 publique (et désactivé mon split DNS) j'ai le même problème de loopback des mail (qui ne devrai même pas quitter le serveur en faite) -> met tes IP publiques ça devrai te résoudre 99 % de tes problèmes + met en place un Split DNS (en plus ce te permet d'avoir des nom de machine et des reverse sur ton LAN -> bien pratique)
@julienth37: très intéressant ta solution de split dns, j'aurais pas pensé à ça, comme quoi l'auto-hébergement c'est pas de tout repos.

@laster13: Demande à Spamhaus de te retirer de leur PBL : https://www.spamhaus.org/lookup/
[HS] (quoique pas tant que ça)
Hardware wrote:@julienth37: très intéressant ta solution de split dns, j'aurais pas pensé à ça, comme quoi l'auto-hébergement c'est pas de tout repos.
J'ai ça en place derrière une VDSL (ancienne ADSL) Orange Pro depuis 5 ans maintenant. Où j'héberge 90% des services Internet que j'utilise (du mail au site web en passant par mon serveur DNS perso,mes pad ou encore mon ownCloud perso), les 10 % restant sont mon moteur de recherche (j'ai pas encore la place et les sous et l'copaing canard DuckDuckGo me conviens) et autres services demandant un travail perpétuel ou un hébergement conséquent (refaire OpenStreetMap ça sert à rien ).
J'héberge d'ailleurs gratuitement des associations (du coup le "auto" d'auto-hébergement à pris quelques rides) et des amis et envisage de professionnaliser tout ça en hébergement ultra sur messure de haute qualité (par ce que c'est bien connus àprès l'auto-hébergement être hébergé par un auto-hébergé y'as rien de mieux !)

J'ai d'ailleurs ouvert un site Internet qui reste vide faute de temps (qui pour le coup avec mes années d'expérience, mon métier et mes bricolages d'auto-hébergé serai une mine d'or pour tout ceux qui veulent s'auto-hébergé).
julienth37 wrote:Voila j'en profite pour annoncer que je cherche des rédacteurs/correcteurs pour une série de tutoriels à ma sauce sur l'auto-hébergement au p'tits oignons et quelques autres sujets connexes ! Les volontaires sont les bienvenus et seront bien sûr cités avec les honneurs qu'ils mériteront amplement !
Le tout sera bien sur sous licence libre (CC BY SA) pour que tout le monde puisse réutiliser les tutoriels/articles et se les réapproprier comme il le souhaite (toujours sous licence BY SA comme la licence originale l'impose).
Voila je cherche pas à devenir une référence en la matière mais qui sait ...
[Fin de HS]
Hardware wrote:@laster13: Demande à Spamhaus de te retirer de leur PBL : https://www.spamhaus.org/lookup/
Ok je vais m'y coller de ce pas et tenter une approche en anglais .. pas gagné

A propos qu'est ce qui peut expliquer ce type de blacklistage ?
laster13 wrote:
Hardware wrote:@laster13: Demande à Spamhaus de te retirer de leur PBL : https://www.spamhaus.org/lookup/
Ok je vais m'y coller de ce pas et tenter une approche en anglais .. pas gagné

A propos qu'est ce qui peut expliquer ce type de blacklistage ?
Les cas de blacklistage c'est classique est en général une url est parfois fournie dans les logs. Un simple dé-listage chez les services concerné + une analyse de la cause du listage (souvent indiqué sur la blacklist), il y à bon nombre de site proposant de savoir si ton IP est listé sur une liste (le canard est ton ami).

Certaine liste te demande de payer (ignore celles-ci en général elles ne sont soit que très peu utilisé, soit elles te liste/déliste en même temps que d'autres listes plus connues), d'autre te demande de faire certaine action (genre scan anti-virus), d'autre d'attendre x heures après le dernier spam reçu pour pouvoir se délister et d'autre ne demande absolument rien (mais en général te dissent pas non plus pourquoi elles t'on listé).
Pour avoir bossé chez un gros opérateur de mail de ma région, je peut te dire que c'est assez important de connaitre la cause du blacklistage (par ce que sinon aucun intérêt de se faire délister pour être re-listé quelque minutes ou secondes plus tard).

Passe le message du site de Spamhaus (ou ton IP en privée, si tu n'as pas déjà demandé le délistage).
Encore merci Hardware pour la solution apportée et un clin d'oeil particulier pour Julien qui m'a accompagné pas à pas pour ce problème de listage chez Spamhaus. Après avoir fait la demande de délistage, un 1/4 d'heure aura suffit pour que ma note au mail tester passe de 5.2 à un joli 9.7.

Pour ceux qui rencontreraient le même problème il suffit d'aller à cette adresse
http://www.spamhaus.org/lookup/

De cliquer ensuite sur le PBLxxxxx et puis sur "Remove an IP from PBL. On va vous demander une adresse mail, utiliser en une de votre domaine

Encore merci à vous deux
9 jours plus tard
Bonjour à tous,

D'abord merci pour ce tutoriel clair, précis et très instructif !
Tout est installé, configuré, tout fonctionne à merveille.. !

Sauf.. J'ai juste un petit truc qui me fait tourner en bourrique..

Connecté à Rainloop, je teste l'envoi chez mail-tester, j'obtiens 8.1/10...
Spamassassin
=> -1.985 PYZOR_CHECK Listed in Pyzor (http://pyzor.sf.net/)

Connecté avec thunderbird en imap, mail-tester, j'obtiens 4.5/10...
Spamassassin
=>-2.599 FROM_NO_USER From: has no local-part before @ sign
=>-1.985 PYZOR_CHECK Listed in Pyzor (http://pyzor.sf.net/)

Je comprends pas trop le truc de Pyzor, le lien envoie vers sourceforge.. je dois installer un truc en plus ?
De même, pourquoi avec thunderbird j'ai un FROM_NO_USER qui apparaît...

Merci infiniment pour vos réponses !
9 jours plus tard
Bonsoir, (ou bon matin ...)

J'ai quelques problèmes au niveau de postfix avec letsencrypt en espérent que l'on pourra m'aider.

J'ai une erreur provenant de postfix me demandant de désactivé TLS :
cannot load Certification Authority data, CAfile="/etc/letsencrypt/live/host.ndd.ext/chain.pem;": disabling TLS support
warning: TLS library problem: error:02001002:system library:fopen:No such file or directory:bss_file.c:175:
warning: TLS library problem: error:2006D080:BIO routines:BIO_new_file:no such file:bss_file.c:178:fopen('/etc/letsencrypt/live/host.ndd.ext/chain.pem;','r'):
warning: TLS library problem: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:by_file.c:25
connect from unknown]0.0.0.0
J'ai tenté un certain nombre de choses, cela n'est pas le premier serveur que je met en place mais le premier avec letsencrypt.

Merci d'avance.
Cordialement,
MrSerenity.
Tu as laissé un point virgule à la fin du chemin, d'où l'erreur que tu obtiens.
Merci, effectivement, une erreur bien stupide ...

N'ayant fait que me basé sur cette configuration ci pour faire les miennes je n'ai pas fait un simple c/c et donc j'ai mi par habitude un ";".

Cordialement,
MrSerenity.
Salut,

Rien a dire sur ce tutoriel mon serveur mail est totalement opérationnel avec la belle petite note de 10/10 sur http://mail-tester.com/


Et couplé avec Let’s Encrypt c'est un pur bonheur

Maintenant je suis bloqué avec une question sans réponses

Mon serveur mail est basé sur un vps chez ovh
Mon serveur qui héberge mon site a la base est sur un autre hébergeur
J'aimerais avec une adresse e-mail style no-reply@mondomain.tld
Qui ne receverait aucun e-mail mais sur le quel je pourrais me connecter via smtp pour envoyer des e-mail via mes script php

Vous avez une petite astuce pour cela je suis preneur

Bonne fêtes de fin d'année a vous et a bientôt
@Chipie678

En utilisant un blackhole pour l'adresse de no-reply : https://mondedie.fr/d/5751/456 et en créant le compte avec postfixadmin, l'adresse pourra être utilisée pour envoyer des mails.
Hardware wrote:@Chipie678

En utilisant un blackhole pour l'adresse de no-reply : https://mondedie.fr/d/5751/456 et en créant le compte avec postfixadmin, l'adresse pourra être utilisée pour envoyer des mails.
Merci beaucoup de m'avoir guidé malheureusement ceci n'as pas l'air d'avoir fait effet sur mon adresse de no-reply@mondomain.tld
Je reçoit encore des mail sur cette boite après la manip que tu m'as donnée

Par contre les envoie c'est niquel sa marche du toner avec swiftmailer


Merci beaucoup
Bonjour à tous et meilleurs voeux pour 2016.

Pour commencer : Merci au superbe boulot réalisé sur ce tuto qui fonctionne parfaitement bien en manuel car je n'ai pas testé le script auto.

Je ne sais pas si je suis au bon endroit pour poster mon problème mais là où je coince c'est sur la gestion des quotas, je me suis pris de patience de chercher et lire tout ce que je pouvais, y compris les 28 pages de ce post mais je dois avouer qu'après des tests et retests et reretests ça ne fonctionne pas.

L'icone est apparu sur roundcube mais la taille est "inconnue" et sur rainloop il n'affiche rien.
doveadm quota recalc -A
renvoi:
doveadm(root): Error: User listing returned failure
doveadm: Error: Failed to iterate through some users
et
doveadm quota get -u turlututu@chapopointu.xxx
renvoi:
Quota name Type       Value Limit           %
User quota STORAGE    244     -             0
User quota MESSAGE      7     -             0 
Ce qui laisserai sous-entendre que je n'arrive pas a choper la valeur quota de la boite défini dans postfix par postfixadmin

Avez vous déjà rencontré ce problème ? à moins que ce soit moi qui ai zappé quelque chose et que les quotas fonctionnent nativement sans modifs ?

Merci par avance.
Bonjour,

As-tu déclaré les quotas sur la conf de dovecot ? Car sur la conf du tuto je n'ai pas vu de paramétrages sur les quotas.

Être plus verbeux pourrait aider avec des logs, fichier de conf etc..