[RÉSOLU] Erreur SMTP 550 5.1.1 : Recipient address rejected : User unknown in virtual mailbox table

:fr:

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 4.3.6.3
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran | …
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,
Sur une installation, j’ai plusieurs domaines. l’un d’entre eux n’a pas de mails rattachés sur yunohost, car j’ai préféré garder une offre mx plan de ovh. Les mails sont donc gérés par ovh.

Lorsque j’essaie d’écrire un mail depuis un domaine ‘a.fr’, dont les mails sont gérés sur yunohost, vers ‘b.fr’, dont le domaine est géré par ynh mais les mails par ovh, j’ai une erreur dans roundcube :
image

Idem depuis thunderbird :
image

Par contre, si j’essaie d’envoyer mon mail depuis un autre serveur géré avec yunohost aussi, pas de problème.
Je pense que roundcube détecte que le domaine est géré par le serveur, mais ne voit pas dans les utilisateurs d’adresse mail rattachée. Il ne cherche pas plus loin, et déclare que puisque le domaine est géré ici, mais qu’aucune adresse mail n’existe sur cette instance, alors cette adresse mail n’existe pas. Ce qui est faux, puisqu’elle existe sur une autre instance, mais ça roundcube n’a pas l’air de le savoir.

Pour vérifier ce que je dis, j’ai essayé, depuis une boite mail roundcube gérée sur une instance yunohost, d’envoyer un mail à une adresse inexistante du domaine géré par cette instance. (par exemple, depuis mon adresse contact@a.fr, j’envoie un mail à une adresse inexistante fffdsio@a.fr. Je reçois ce message.
Maintenant, si j’essaie d’envoyer un mail depuis une autre instance ynh, ou depuis n’importe où ailleurs (mail ovh, gmail, …) vers cette adresse inexistante fffdsio@a.fr, le mail part, puis je reçois un ‘Undelivered Mail Returned to Sender’.

Donc j’aimerais d’une part savoir si mon raisonnement est bon, et d’autre part savoir s’il est possible de forcer roundube à écrire ce mail, même si de prime abord, l’adresse n’a pas l’air d’exister…

Ce n’est pas du tout vital, parce que ce problème n’est posé que pour des utilisateurs du serveurs, et qu’en l’ocurrence sur celui-ci il n’y a pas grand monde, mais je me dis que dans des cas précis, ça peut être très utile de débrider roundcube, notamment quand on externalise les mails sur un autre serveur. Mais j’aimerais bien résoudre ce problème par curiosité et soucis de bon fonctionnement :slight_smile:

Merci d’avance !

Il faut changer le MX associé dans /etc/dnsmasq.d/DOMAIN.conf puis redémarrer DNSmasq et postfix.

Hello !
J’ai essayé de changer cette ligne, mais toujours le même problèem :

#modifié cette ligne
mx-host=domaine.fr,domaine.fr,5
#comme ça :
mx-host=adresse.serveur.fr,adresse.serveur.fr,5

Est-ce qu’il faut que je change le text-record ou les srv-host ?

Merci de ton aide :slight_smile:

NB: ton analyse est presque bonne sauf que ce n’est pas roundcube mais postfix le soucis.

Je pense qu’il faut plutôt écrire ceci:

mx-host=domaine.fr,adresse.serveur.fr,5

Que donne une requête DNS du MX dans ton serveur après redémarrage de dnsmasq ?

dig MX domaine.fr

Est-ce que ça marche si tu redémarre postfix ensuite ?

J’ai commencé par faire la commande que tu me proposes, ça me donne ça :

admin@serveur:/etc/dnsmasq.d# dig MX domaine.fr

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

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

;; ANSWER SECTION:
domaine.fr.         3511    IN      MX      1 mx1.mail.ovh.net.
domaine.fr.         3511    IN      MX      5 mx2.mail.ovh.net.
domaine.fr.         3511    IN      MX      100 mx3.mail.ovh.net.

;; Query time: 10 msec
;; SERVER: IPV4#53(IPV4)
;; WHEN: Sun Jun 26 16:48:03 UTC 2022
;; MSG SIZE  rcvd: 115

Donc il voit bien que les mx sont chez ovh.
J’ai ensuite fait le changement du mx-host comme tu proposes. La commande dig MX domaine.fr
me donne le même résultat que précédemment.

Et le problème persiste, lorsque j’essaie d’envoyer un mail vers une adresse de ce domaine, j’ai toujours la même erreur.

Pour info, voici tout le contenu du fichier /etc/dnsmasq.d/domaine.fr actuel :

interface-name=domaine.fr,lo
interface-name=xmpp-upload.domaine.fr,lo

interface-name=domaine.fr,eth0
interface-name=xmpp-upload.domaine.fr,eth0


host-record=domaine.fr,IPV6
host-record=xmpp-upload.domaine.fr,IPV6

txt-record=domaine.fr,"v=spf1 mx a -all"
mx-host=domaine.fr,adresse.serveur.fr,5
srv-host=_xmpp-client._tcp.domaine.fr,domaine.fr,5222,0,5
srv-host=_xmpp-server._tcp.domaine.fr,domaine.fr,5269,0,5

J’ai essayé de changer les deux lignes srv-host, en remplaçant tour à tour domaine.fr par adresse.serveur.fr, mais sans succès non plus. :slight_smile:

on est d’accord que c’est l’adresse des mx ovh qu’on voit dans la requete dig?

dig MX domaine.fr @127.0.0.1

oui ! Quand je fais dig MX domaine.fr, on voit bien les MX de ovh.

Avec la commande dig MX domaine.fr @127.0.0.1

on voit ceci :

admin@serveur:/home/admin# dig MX domaine.fr @127.0.0.1

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

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

;; ANSWER SECTION:
domaine.fr.         0       IN      MX      5 adresse.serveur.fr.

;; ADDITIONAL SECTION:
adresse.serveur.fr. 0       IN      AAAA    IPV6

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 27 10:09:21 UTC 2022
;; MSG SIZE  rcvd: 109

Bonjour,
Je reprends le fil de cette discussion :

Je me confronte à nouveau à ce problème sans réussir à le résoudre encore une fois.

J’ai toujours la même configuration de serveur : deux noms de domaines sur un même serveur, dont l’un a les mails gérés par ynh, et l’autre par OVH.

Lorsque j’essaie, avec un mail géré par ynh, d’écrire à un mail géré par ovh, je retombe sur cette erreur.
J’ai essayé de refaire les manip d’ici, mais je ne trouve même plus les mx d’ovh lors de la commande dig.

root@serveur:/etc/dnsmasq.d# dig MX domaine.fr

; <<>> DiG 9.16.42-Debian <<>> MX domaine.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63636
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

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

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

;; ADDITIONAL SECTION:
domaine.fr.         0       IN      AAAA    -- l'adresse ipv6 du serveur --

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Aug 25 11:09:08 CEST 2023
;; MSG SIZE  rcvd: 101

Comme les mails sont hébergés par ovh, j’ai essayé de remplacer dans /etc/dnsmasq.d/domaine.fr la ligne mx-host=domaine.fr,domaine.fr,5 de cette manière, sans succès :

mx-host=domaine.fr,_autodiscover._tcp.unsiteavous.fr,5
mx-host=domaine.fr,autodiscover.domaine.fr,5
mx-host=domaine.fr,mailconfig.ovh.net,5
mx-host=domaine.fr,ssl0.ovh.net,5

Sans succès, à chaque fois la commande dig me sort bien le MX que je viens d’entrer dans la ANSWER QESTION, mais lorsque j’essaie de renvoyer un mail, même erreur.

Je précise qu’à chaque essai, je relance dnsmasq et postfix.
Dans l’interface visuelle, j’ai également enlevé l’envoi et la réception de mails :
image

J’ai essayé aussi de modifier /etc/postfix/main.cf en laissant mydestination = vide, et en ajoutant relayhost = [ssl0.ovh.net]:587, mais là encore ça ne marche pas.

Une idée pour résoudre ce problème ?

EDIT :
J’ai finalement réussi après avoir suivi ce fil. Un peu dommage que les fils se terminent au bout de 15 jours, ça coupe les discussions en petits bout :slight_smile:

C’est donc résolu en faisant ceci :

  1. Pour utiliser le MX de OVH d’un domaineB.tld
    éditer /etc/dnsmasq.d/domaineB.tld avec cette ligne
    mx-host=ssl0.ovh.net,5
  2. Pour permettre un utilisateur du domaineA.tld d’écire un mail au domaineB.tld qui utilise les MX de OVH, exclure la requête LDAP de Postfix, ce qui m’empêchait d’envoyer un message du domaineA.tld (qui lui utilise le mail de Yunohost) vers domaineB.tld.
    editer le fichier /etc/postfix/ldap-domains.cf avec cette ligne:
    query_filter = (&(&(objectClass=mailDomain)(virtualdomain=%s))(!(virtualdomain=domaineB.tld)))

Merci beaucoup @rodinux ! :slight_smile:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.