[Résolu]Mail Error: rejected by my server , why?

Hello,

A friend send me an email but my server rejected it:
this is the message in /var/log/mail.info

Apr 30 00:34:04 raspberrypi postfix/smtpd[1694]: NOQUEUE: reject: RCPT from tlssmtptal2p02.astrium.eads.net[140.94.80.58]: 450 4.7.1 : Recipient address rejected: SPF-Result=airbus.com ... group2.\_spf.airbus.com: Unknown error on DNS 'TXT' lookup of 'group2.\_spf.airbus.com'; from= to= proto=ESMTP helo= Apr 30 00:34:04 raspberrypi postfix/smtpd[1694]: disconnect from tlssmtptal2p02.astrium.eads.net[140.94.80.58] Apr 30 00:34:04 raspberrypi postfix/policy-spf[1701]: Policy action=DEFER_IF_PERMIT SPF-Result=airbus.com ... group2.\_spf.airbus.com: Unknown error on DNS 'TXT' lookup of 'group2.\_spf.airbus.com' Apr 30 00:34:04 raspberrypi postgrey[2801]: action=pass, reason=triplet found, client_name=tlssmtptal2p02.astrium.eads.net, client_address=140.94.80.58, sender=monami@airbus.com, recipient=moi@mondomain.fr Apr 30 00:34:04 raspberrypi postfix/smtpd[1692]: NOQUEUE: reject: RCPT from tlssmtptal2p02.astrium.eads.net[140.94.80.58]: 450 4.7.1 : Recipient address rejected: SPF-Result=airbus.com ... group2.\_spf.airbus.com: Unknown error on DNS 'TXT' lookup of 'group2.\_spf.airbus.com'; from= to= proto=ESMTP helo= Apr 30 00:34:04 raspberrypi postfix/smtpd[1692]: disconnect from tlssmtptal2p02.astrium.eads.net[140.94.80.58]

I tried in zone DNS : ‘TXT’
“v=spf1 a mx -all” and “v=spf1 a mx ~all” and "v=spf1 a mx ?all"
but same result

do you have an idea?

THX for helping

Jean

If you remove the SPF (remove TXT record with “v=spf …”) and just try with a MX record ; it works or not ?

Removing TXT in DNS it’s not working

I can’t analyse the problem…

  • is this a dns problem for ‘group2._spf.airbus.com’?
  • a missing param for ‘helo’?
  • postgrey problem?
  • postfix/policy-spf … which side? my server or airbus.com? DNS TXT for airbus.com:
    v=spf1 ip4:81.252.56.0/26 include:group1._spf.airbus.com include:group2._spf.airbus.com include:group3._spf.airbus.com -all

what do you think?

[edit] From here discussion is in french, but You can see english solution at the end of the post.

bonjour jean31
je pense que c’est un pb chez airbus sur mxtoolbox quand on test le domaine voilçà ce qui est retourné:
Connecting to 81.252.56.1

220 airbus-pf3.airbus.gmessaging.net ESMTP Postfix [1264 ms]
EHLO MXTB-PWS3.mxtoolbox.com
250-airbus-pf3.airbus.gmessaging.net
250-PIPELINING
250-SIZE 16815744
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN [749 ms]
MAIL FROM: supertool@mxtoolbox.com
250 2.1.0 Ok [749 ms]
RCPT TO: test@example.com
554 5.7.1 test@example.com: Relay access denied [749 ms]

MXTB-PWS3v2 4602ms

le nom d’hotedans le message d’erreur ne correspond pas au spf dans le dns d’airbus donc rejeté par le serveur. enfin je pense, je peut me tromper. mais c’est la cause qui me semble la plus probable

je comprends pas tres bien: SPF-Result=airbus.com … group2._spf.airbus.com,
l yaurait confision entre airbus.com et group2._spf.airbus.com?

ensuite mon correspondant recoit des mails de tout le monde sauf de moi, c’est que ma config est pas tres bonne? ou trop restrictive?

sur les conseil de @beudbeud j’ai fait:
sudo apt-get install libnet-dns-resolver-programmable-perl
mais ca n’a rien changé :frowning:

ce sont les règles de sécurité qui sont un peu trop poussé chez airbus, je pense.
tu es chez quel opérateur? en ce qui me concerne je suis chez sfr et j’ai un soucis de reverse dns qui selon la config du serveur de destinations peut bloquer ou non ou classer en indésirable.
les politiques de sécurités sont différentes selon les sociétés.
par exemple quand j’envoie un mail sur un hotmail il est direct classé en indésirable. par contre avec les autres , il est bien déposé dans la boite de réception.

Mais je viens de voir quelque chose. on voit que le mail qui est envoyé transite par les serveurs eads (tlssmtptal2p02.astrium.eads.net[140.94.80.58]).
si on regarde le spf d’airbus, il ne fais pas mention de ce serveur. quand postfix reçoit un mail , il va vérifier la provenance de ce mail etc… là ton serveur attend un mail venant de airbus.com mais le serveur tlssmtptal2p02.astrium.eads.net n’est pas mentionné dans son champs spf (celui d’airbus). ce qui pourrait causer le rejet du mail.
Après des bugs de ce type, j’en vois quotidiennement au boulot. Ton ami peut’il t’envoyer le mail sur une autre adresse (sur un serveur connu type gmail etc…) et récupérer l’en tête du mail pour voir son trajet?
ça pourrai nous donner des éléments sur l’origine du blocage mais pour moi ce n’est pas ton instance yunohost qui est en cause.
va sur https://www.mail-tester.com/ et test ton envoi de mail, tu aura un peu plus d’info sur le soucis. en ce qui me concerne, j’ai un score de 9,7 sur 10 (je perds les 0,3 point à cause du reverse dns que j’ai essayé de résoudre mais les imconpétents qui sont chez sfr ne comprenne pas quand je leur demande de renseigner un ptr dans un champs spf donc toujours pb de reverse dns).

Je suis chez Free
Alors depuis mes derniers essais le champs helo est renseigné par tlssmtptal2p02.astrium.eads.net
mais reste different de airbus.com

Pour le test du mail tu veux qu’il envoie un mail a partir de gmail mais a partir d’une machine sur le domaine airbus.com? sinon de son smartphone il m’ecrit bien et ça arrive :slight_smile:

Sinon sur mail-tester j’ai un score de 9/10, j’ai -1 parceque je n’ai pâs DMARC ni DKIM

Merci beaucoup pour tes explications. ce monde là est nouveau pour moi

PS: pour la petite histoire: il ya qq temps mon ami avait une @ en astrium et mes mails étaient refusés par TrendMicro car mon ip etait backlister (le pb viens de free) ensuite ils viennent de fusionner et de changer leur mail en @airbus.com, depuis mes mails passent il les reçoit mais ces mails sont refusés par mon serveur pour la cause vu plus haut…

Ha ok, je confirme les ip de chez free sont blacklisté, pour contourner le soucis je te conseil de mettre en place le dkim. tu as ce tuto qui est très bien fait: https://yunohost.org/#/dkim_fr
ça te permettra de passer certain anti spam.
pour le test , ce serait que ton ami envoi un mail de son adresse airbus vers un gmail ou autre afin de récupérer l’entête de ce mail et de voir par ou il passe et être sur de mon diagnostique.
recevait tu les mails de ton ami avant la migration de sa messagerie?

J’ai un mail de sa boite airbus vers ma boite free, est ce suffisant et comment?

Avant sa migration je recevais ses mails, c’était les miens qui étaient bloqués

Merci pour le lien

voila l’entête j’ai anonymisé un peu …

Return-Path: romain@airbus.com Received: from zimbra1-e1.priv.proxad.net (LHLO zimbra1-e1.priv.proxad.net) (172.20.243.151) by zimbra1-e1.priv.proxad.net with LMTP; Tue, 5 May 2015 14:54:27 +0200 (CEST) Received: from tlssmtptal2p02.astrium.eads.net (mx15-g26.priv.proxad.net [172.20.243.85]) by zimbra1-e1.priv.proxad.net (Postfix) with ESMTP id 785244EA658 for ; Tue, 5 May 2015 14:54:27 +0200 (CEST) Received: from tlssmtptal2p02.astrium.eads.net ([140.94.80.58]) by mx1-g20.free.fr (MXproxy) for jean@free.fr; Tue, 5 May 2015 14:54:27 +0200 (CEST) X-ProXaD-SC: state=HAM score=0 Received: from tlssmtptal2p02.astrium.eads.net (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 49CF04C8089 for ; Tue, 5 May 2015 14:54:27 +0200 (CEST) Received: from TLSFRN-MX002.frn.frnroot.astrium.corp (unknown [140.94.3.49]) by tlssmtptal2p02.astrium.eads.net (Postfix) with ESMTP id 3BA264C8088 for ; Tue, 5 May 2015 14:54:27 +0200 (CEST) Received: from TLSFRN-MX003.frn.frnroot.astrium.corp ([fe80::acd5:234c:9bcb:4b55]) by TLSFRN-MX002.frn.frnroot.astrium.corp ([::1]) with mapi id 14.03.0181.006; Tue, 5 May 2015 14:54:26 +0200 From: " Romain" To: "Jean@free.fr" Subject: RDV. Thread-Topic: RDV. Thread-Index: AdCHMVVQTH5ilY0CQM+/JEirU4JEqg== Date: Tue, 5 May 2015 12:54:26 +0000 Message-ID: <20A56607BD00F448465AFA3226BE1130AB7F96D@TLSFRN-MX003.frn.frnroot.astrium.corp> Accept-Language: fr-FR, en-US Content-Language: fr-FR X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [140.94.3.176] Content-Type: multipart/related; boundary="_004_220A56607BD00F448465AFA3226BE1130AB7F96DTLSFRNMX003frnf_"; type="multipart/alternative" MIME-Version: 1.0

004_220A56607BD00F448465AFA3226BE1130AB7F96DTLSFRNMX003frnf
Content-Type: multipart/alternative;
boundary=“000_220A56607BD00F448465AFA3226BE1130AB7F96DTLSFRNMX003frnf

000_220A56607BD00F448465AFA3226BE1130AB7F96DTLSFRNMX003frnf
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

… skip …

OK, sur l’en tête, on vois que le mail part du serveur TLSFRN-MX002.frn.frnroot.astrium.corp, pour passer par le serveur tlssmtptal2p02.astrium.eads.net qui le transmet ensuite à zimbra1-e1.priv.proxad.net(messagerie free).
si on compare ça au message d’erreur sur ton serveur , on ne retrouve pas ces éléments.
De plus, si auparavant tu recevais ses mails (sur ce même serveur?), tu a peut être une information erroné en cache qui ferai que le serveur ne cherche pas à trouver le nouveau spf. Je pense que ça peut être intéressant de vider le cache, en revanche je ne sais pas si il y en un dédié à postfix ou si c’est simplement le cache dns.

ok
je tente un
sudo service nscd restart

Résultat: KO :frowning:

Côtés postfix j’ai pas trouvé

Ho je viens de verifier quelque chose
il n’ya pas de DNS TXT pour group2._spf.airbus.com

$dig TXT group2._spf.airbus.com
;; Truncated, retrying in TCP mode.
;; Connection to 192.168.0.254#53(192.168.0.254) for group2._spf.airbus.com failed: connection refused.

$ dig TXT group1._spf.airbus.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> TXT group1._spf.airbus.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63669
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 0

;; QUESTION SECTION:
;group1._spf.airbus.com. IN TXT

;; ANSWER SECTION:
group1._spf.airbus.com. 10457 IN TXT “v=spf1 ip4:193.56.40.75 ip4:193.56.40.77 ip4:80.156.45.103 ip4:80.156.45.105 ip4:194.69.224.13 ip4:194.69.225.62 ip4:80.156.45.113 i
p4:80.156.45.114 ip4:80.156.46.178 ip4:194.67.1.9 ip4:216.82.249.212 ip4:83.125.118.202”

;; AUTHORITY SECTION:
airbus.com. 18511 IN NS k4.nstld.com.
airbus.com. 18511 IN NS h4.nstld.com.
airbus.com. 18511 IN NS l4.nstld.com.
airbus.com. 18511 IN NS f4.nstld.com.
airbus.com. 18511 IN NS g4.nstld.com.
airbus.com. 18511 IN NS j4.nstld.com.
airbus.com. 18511 IN NS a4.nstld.com.

;; Query time: 57 msec
;; SERVER: 192.168.0.254#53(192.168.0.254)
;; WHEN: Wed May 6 12:07:32 2015
;; MSG SIZE rcvd: 397

par contre en utilisant dig en ligne j’ai un résultat sur http://www.kloth.net/services/dig.php

; <<>> DiG 9 <<>> @localhost group2._spf.airbus.com TXT
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38186
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;group2._spf.airbus.com. IN TXT

;; ANSWER SECTION:
group2._spf.airbus.com. 86400 IN TXT "v=spf1 ip4:140.94.80.57 ip4:140.94.80.58 ip4:140.94.80.53 ip4:140.94.80.54 ip4:195.53.91.2 ip4:195.53.91.12 ip4:195.235.219.8 ip4:194.62.210.19 ip4:194.62.210.149 ip4:194.62.210.148 ip4:149.243.232.20 ip4:80.156.47.35 ip4:213.38.32.107 ip4:87.236.6.163 " “ip4:193.252.234.145 ip4:65.242.103.3 ip4:87.236.6.163 ip4:193.252.234.145 ip4:80.195.39.170 ip4:86.12.145.217 ip4:193.56.37.21 ip4:193.56.37.22 ip4:194.62.210.145 ip4:194.62.210.46”

;; Query time: 12 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed May 6 12:12:08 2015
;; MSG SIZE rcvd: 488

qu’est ce que je peux faire?

alors là, je t’avoues que ça dépasse mes compétences.
regarde dans les logs dans /var/log si tu vois quelque chose, je pense qu’il faut se tourner du coté dns.

Merci pour ton aide j’ai beaucoup appris !

quel dns a tu de paramétrer sur ton serveur, c’est celui de ta box ou ton localhost?

je sais pas répondre a cette question …
Dans ma zone DNS (OVH) de mon nom de domaine à moi, j’ai 2 Dns ns200.anycast.me et dns200.anycast.me
Sinon ma box a aussi les siens ceux de free …
et je sais que yunohost a son propre DNS qu’il faudrait configurer au niveau Zone DNS, ce que m’avait conseiller @Roust (https://moncoindu.net/wiki/doku.php?id=yunohost)

pour savoir qu’elle dns utilise ton serveur.
connecte toit en ssh ou sur le shell. et fais un ifconfig
tu aura ta configuration IP contenant, l’ipv4, le masque de sous réseau, la passerelle par défaut et l’ip de du serveur dns utilisé. si ce n’est pas l’ipn de ton serveur c’est que c’est un autre dns qui est utilisé.

Pas trouvé dans le ifconfig (c’est plus dans le ipconfig de windows je pense)
parcontre si je fais un route j’ai ça
$route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

ça a l’air coherent avec l’ip du message d’erreur

en fuillant un peu plus et en interrogeant les servers de free ont pas l’air clean alors que ceux de google fonctionne:
$dig @212.27.40.240 TXT group2._spf.airbus.com
;; Truncated, retrying in TCP mode.
^C
dig @8.8.8.8 TXT group2._spf.airbus.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @8.8.8.8 TXT group2._spf.airbus.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21102
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;group2._spf.airbus.com. IN TXT

;; ANSWER SECTION:
group2._spf.airbus.com. 18866 IN TXT "v=spf1 ip4:140.94.80.57 ip4:140.94.80.58 ip4:140.94.80.53 ip4:140.94.80.54 ip4:195.53.91.2 ip4:195.53.91.12 ip4:195.235.219.8 ip4:19
4.62.210.19 ip4:194.62.210.149 ip4:194.62.210.148 ip4:149.243.232.20 ip4:80.156.47.35 ip4:213.38.32.107 ip4:87.236.6.163 " “ip4:193.252.234.145 ip4:65.242.103.3 ip4:87.236.6.163 ip4:193.25
2.234.145 ip4:80.195.39.170 ip4:86.12.145.217 ip4:193.56.37.21 ip4:193.56.37.22 ip4:194.62.210.145 ip4:194.62.210.46”

;; Query time: 61 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed May 6 18:22:32 2015
;; MSG SIZE rcvd: 488

oui le ifconfig sous linux est similaire au ipconfig de windows mais le ifconfig est à faire sur le serveur en direct ou via ssh.
sinon va voir dans le fichier /etc/resolv.conf et tu aura l’ip du dns q’utilise ton serveur
l’ip 192.18.0.254 c’est celle de ta freebox? si oui, et que tu as cette ip en dns, tu devrais définir manuellement l’ip local de ton serveur.
ça se passe dans le fichier /etc/network/interfaces
et le contenu du fichier doit ressembler à un truc comme ça:
auto lo
iface lo inet loopback
iface eth0 inet static
address IP DE TON SERVEUR
netmask MASQUE DE SOUS RESEAU (en général c’est 255.255.255.0 pour les réseau des box particuliers
network TON RESEAU
broadcast ADRESSE DE BROADCAST (en général fini par 255 et est toujours sur ton réseau renseigner juste au dessus)
gateway IP DE TA FREEBOX
dns-nameservers IP DE TON SERVEUR

et ensuite il faut faire un service network restart
ça c’est pour mettre en place un ip statique sur le serveur mais vérifie avant que le service des est fonctionnel sur ton serveur avant, sinon il perdra son accès à internet.
En faisant cette manip, on écarte la cause du routeur et de son dns
je viens de me souvenir, tu peut faire aussi
nslookup

dn
et là il te donnera l’ip du dos utilisé.

J’ai donc rajouté en première ligne dans /etc/resolv.conf
nameserver 127.0.0.1
et depuis ça marche
j’ai donc bien un problème avec le serveur DNS de Free

comme yunohost à son propre serveur DNS je l’utilise.
Je vais quand même essayé de mettre en place la solution de @Roust (https://moncoindu.net/wiki/doku.php?id=yunohost) qui je crois est plus complète et adapté à yunohost.

Merci pour le coup de main.