L’erreur « Recipient address rejected : User unknown in virtual mailbox table » est subtile ! Avant de la résoudre, on reçoit les mails de tout le monde, on peut envoyer des mails à tout le monde… sauf aux adresses mails gérées par OVH, alors que le domaine est hébergé par yunohost. Cela renvoie cette erreur :
Erreur SMTP 550 5.1.1 : Recipient address rejected : User unknown in virtual mailbox table.
Voici le contexte : Disons que j’ai deux domaines, avec leurs sites respectifs, que je veux auto-hérberger avec yunohost. Jusque là tout va bien.
Mon serveur à la maison a une adresse fixe IPv4, donnée par Free dans mon cas, mais aucune IPv6. Pour les mails, ça peut être un problème, face à certains gros mastodontes, qui classent sans scrupules les adresses mails pas configurées comme ils le veulent dans les spams.
Autant pour une adresse, cela n’est pas un problème, pour l’autre, je ne veut pas risquer que les gens ne reçoivent pas mes mails. Je laisse donc OVH gérer les mails (même si eux-mêmes ne font pas ça super bien, puisqu’ils ne mettent pas en place de clé DKIM, mais ça a l’air de moins poser soucis que le serveur auto-hébergé…)
J’ai donc un domaine dont les mails sont gérés par mon serveur local, et un autre installé aussi sur mon serveur local, mais dont les mails sont gérés par OVH.
La réception des mails extérieurs se fait sans soucis, de même que l’envoi de mails vers des adresses extérieures. Le problème survient à partir du moment où j’essaie d’écrire avec l’adresse hébergée en local, à l’adresse gérée par OVH.
Yunohost, qui gère le domaine, part du principe que l’adresse mail devrait exister en local. S’il ne la trouve pas, il répond juste qu’elle n’existe pas, Sans chercher à savoir si c’est lui qui gère les mails…
Pour pouvoir résoudre cette erreur, deux étapes sont importantes :
/etc/dnsmasq.d/domaineB.tld
avec cette lignemx-host=ssl0.ovh.net,5
/etc/postfix/ldap-domains.cf
avec cette ligne:query_filter = (&(&(objectClass=mailDomain)(virtualdomain=%s))(!(virtualdomain=domaineB.tld)))
Enfin, relancer les services concernés :
Il ne vous reste plus qu’à essayer de renvoyer votre mail, et ça y est, tout fonctionne !