Suite Erreur SMTP 550 5.1.1 : Recipient address rejected : User unknown in virtual mailbox table

Suite du sujet Erreur SMTP 550 5.1.1 : Recipient address rejected : User unknown in virtual mailbox table :

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 4.3.6.3
J’ai accès à mon serveur : En SSH
Êtes-vous dans un contexte particulier ou avez-vous effectué des modifications particulières sur votre instance ? : oui

Description du problème

Nous travaillons sur une configuration particulière.
Une instance Yunohost avec un serveur en a.fr avec des sous-domaines. Le domaine par défaut un sous-domaine foo.a.fr et un autre nom de domaine en b.eu avec des sous-domaines foo.b.eu
Les domaines b.eu sont configurés sans Mails (ni xmpp), car on voudrait qu’ils utilisent les MX de Gandi par défaut…

Quand on essaye d’envoyer un mail à un user du domaine.eu, toto@domain.eu d’une boîte mail d’un utilisateur de l’autre domaine tata@a.fr on à cette erreur:

Erreur SMTP 550 5.1.1 : Recipient address rejected : User unknown in virtual mailbox table

Cela ressemble beaucoup à ce sujet au-dessus !

J’ai essayé plusieurs choses, d’abord j’ai gardé une sauvegarde du fichier etc/dnsmasq.d/b.eu

Et j’essaie d’éditer ce fichier…

Actuellement comme ceci:

interface-name=b.eu,lo
interface-name=xmpp-upload.b.eu,lo

interface-name=b.eu,enp1s0
interface-name=xmpp-upload.b.eu,enp1s0


txt-record=b.eu,"v=spf1 mx a -all"
mx-host=b.eu,spool.mail.gandi.net,5
srv-host=_xmpp-client._tcp.b.eu,b.eu,5222,0,5
srv-host=_xmpp-server._tcp.b.eu,b.eu,5269,0

J’avais aussi essayé mx-host=b.eu,a.fr,5 ou l’inverse et à chaque fois redémarrer les services postfix et dnsmasq. Ça ne marche toujours pas…

Si je fait un

dig MX a.fr

; <<>> DiG 9.11.5-P4-5.1+deb10u7-Debian <<>> MX a.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53674
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;a.fr.			IN	MX

;; ANSWER SECTION:
a.fr.		0	IN	MX	5 a.fr.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Oct 13 16:55:57 CEST 2022
;; MSG SIZE  rcvd: 71

Pour le serveur b.eu

dig MX b.eu

; <<>> DiG 9.11.5-P4-5.1+deb10u7-Debian <<>> MX b.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38130
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;b.eu.			IN	MX

;; ANSWER SECTION:
b.eu.		0	IN	MX	5 spool.mail.gandi.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Oct 13 16:58:26 CEST 2022
;; MSG SIZE  rcvd: 79

Déjà peut être vérifier le fichier hosts

grep -nr b.eu /etc/hosts

Il ne doit pas y avoir b.eu.

Pour être sûr faire un stop puis start pour dnsmasq puis postfix.

Si ça ne suffit pas, il faut peut être adapter /etc/postfix/ldap-domains.cf pour exclure le domain b.eu dans la requête query_filter.

Ici la commande ne renvoi rien

/etc/hosts

127.0.0.1	localhost	Y-domaineA	DomainC

XXX.XX.XX.XX	Y-domaineA.domaineA.fr	Y-domaineA

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


127.0.0.1	sousdomaineA     #correspond à celui par défaut

Actuellement

/etc/dnsmasq.d/domaineB.eu

interface-name=domaineB.eu,lo
interface-name=xmpp-upload.domaineB.eu,lo

interface-name=domaineB.eu,enp1s0
interface-name=xmpp-upload.domaineB.eu,enp1s0


txt-record=domaineB.eu,"v=spf1 mx a -all"
mx-host=spool.mail.gandi.net,5
srv-host=_xmpp-client._tcp.domaineB.eu,domaineB.eu,5222,0,5
srv-host=_xmpp-server._tcp.domaineB.eu,domaineB.eu,5269,0,5

Je redémarre postfix et dnsmasq après chaque essais d’édition…
Je devrais peut-être commenter les lignes srv-host et text-record ? Dans la webadmin a été décoché mail et xmpp pour les dns de ce serveur.

la commande dig

# dig MX domaineB.eu @127.0.0.1

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> MX domaineB.eu @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48326
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;domaineB.eu.			IN	MX

;; ANSWER SECTION:
domaineB.eu.		10800	IN	MX	10 spool.mail.gandi.net.
domaineB.eu.		10800	IN	MX	50 fb.mail.gandi.net.

;; Query time: 87 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 16 12:52:53 CEST 2022
;; MSG SIZE  rcvd: 98

Ici, je peux exclure le domaineB.eu ?
J’ai ceci

server_host = localhost
server_port = 389
search_base = ou=domains,dc=yunohost,dc=org
query_filter = (&(objectClass=mailDomain)(virtualdomain=%s))
result_attribute = virtualdomain

Comment ?

Quelque chose de ce genre je pense, mais je ne suis pas totalement sûr:

(&(&(objectClass=mailDomain)(virtualdomain=%s))(virtualdomain!="domaineB.eu"))

Je vais essayer.
Au pire, j’ai des erreurs que je peux corriger par la suite, ce n’est pas risqué ??

ou peut_-êre un truc du genre: (!(virtualdomain=domaineB.eu))
C’est la syntaxe qui n’a pas l’air simple; je dis cela en lisant ce topic active directory - LDAP : exclude a domain from search query - Stack Overflow

Peut être

(&(&(objectClass=mailDomain)(virtualdomain=%s))(!(virtualdomain=domaineB.eu)))

Est-ce qu’il faut aussi redémarrer LDAP ensuite??

J’ai essayé, déjà une amélioration, le message est envoyé. par contre j’ai cette erreur Undelivered Mail Returned to Sender

This is the mail system at host relay14.mail.gandi.net.

I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

               The mail system

equipe@domaineA.fr: host domaineA.fr[XXX.XX.XX.XX] said: 553 5.7.1
user@domaineA.fr: Sender address rejected: not logged in (in reply
to RCPT TO command)

Reporting-MTA: dns; relay14.mail.gandi.net
X-Postfix-Queue-ID: 976F91A0003
X-Postfix-Sender: rfc822; user@domaineA.fr
Arrival-Date: Sun, 16 Oct 2022 11:59:50 +0000 (UTC)

Final-Recipient: rfc822; equipe@domaineA.fr
Original-Recipient: rfc822;equipe@domaineA.fr
Action: failed
Status: 5.7.1
Remote-MTA: dns; domaineA.fr
Diagnostic-Code: smtp; 553 5.7.1 user@domaineA.fr: Sender address
rejected: not logged in

Je me demande si ça ne vient pas d’une redirection ou d’un alias, car je ne vois pas à quoi correspond le mail equipe [at] domaineA.fr qui lui doit être un user intégré au LDAP…

Plus ou moins, en fait l’user equipe [at] domaineA.fr a un alias support [at] domaineA.fr

Comment tu fais ton test d’envoi ? avec quel “from” et quel “to” ?

Mon test d’envoi a été fait avec une adresse perso en [at] domaineA.fr ajoutée à un client Thunderbird.
from me@domaineA.fr to support@domaineB.eu

Tu es sûr de ne pas avoir écrit à support@domaineA.eu ?

Sinon “Sender address rejected: not logged in” ça veut dire qu’il considère que l’expéditeur user@domaineA.fr n’est pas connecté.

Oui, je suis sûr… Est-ce que yunohost n’aurait pas cherché le nom de user dans LDAP et trouvé l’alias support de l’utilisateur equipe ??

Ou bien, je découvre peut-être ce qui cloche, une ligne dans la zone DNS du site domaineB.eu

@ CAA 10800 0 iodef "mailto:technique@domaineA.fr"

À supprimer du coup, non ?

C’est aussi un alias de equipe [at] domainA.fr !
J’espère que je n’embrouille pas trop…

Je peux envoyer des messages avec l’adresse en question a servi a envoyer des messages et qui utilise le LDAP et le postfix de Yunohost…

Du coup, si ici la configuration a bien permis de détacher le domaineB.eu du LDAP et il utilise bien le MX de Gandi, je dois peut-être simplement suprimer cette ligne dans le registar, non ?

La ligne CAA ne devrait pas poser ce genre de soucis.

Peux tu reformuler cette réponse

car j’ai rien compris. Tu arrives à envoyer et recevoir les messages ou pas ?

Je parle de l’adresse utilisée pour les tests, c’est à dire moi [at] domaineA.fr
le domaineA.fr utilise les MX et dns de Yunohost et tout fonctionne… Sauf pour envoyer un mail à une adresse [at] domaineB.eu

Je déduit qu’il y a un soucis avec cette adresse equipe [at] domaineA.fr quand j’essaie d’envoyer un mail à support [at] domaineB.eu avec mon adresse moi [at] domaineA.fr, donc un soucis avec la propriété @ CAA 10800 0 iodef "mailto:technique@domaineA.fr" dans la zone DNS de domaineB.eu.
Il faut que j’attende 3h le changement pour la propagation dns après avoir supprimer la ligne, non ?