Sommaire


yunohost téléversement phpmyadmin
« Recipient address rejected : User unknown in virtual mailbox table »
Catégories associées :

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.

Pourquoi cette erreur ?

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...

Comment résoudre l'erreur "Recipient address rejected : User unknown in virtual mailbox table" ?

Pour pouvoir résoudre cette erreur, deux étapes sont importantes :

  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’écrire un mail au domaineB.tld qui utilise les MX de OVH, exclure la requête LDAP de Postfix, ce qui empêche d’envoyer un message du domaineA.tld (qui lui utilise le mail de Yunohost) vers domaineB.tld.
    Éditer le fichier /etc/postfix/ldap-domains.cf avec cette ligne:
    query_filter = (&(&(objectClass=mailDomain)(virtualdomain=%s))(!(virtualdomain=domaineB.tld)))

Enfin, relancer les services concernés :

# Comment à faire en tant que root, ou ajouter sudo devant.
service dsnmasq restart
service postfix restart
Relance des services

Il ne vous reste plus qu'à essayer de renvoyer votre mail, et ça y est, tout fonctionne !

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.