Permettre aux apps d'envoyer du mail même si le serveur de mail principal est ailleurs

Salut @unsui

merci d’avoir repondu, a mon tour de m’excuser de ne te repondre que maintenant.

La partie backtrace, c’est l’arbre des appels des routines PHP avant l’erreur (c’est utile aux programmeurs, c’est pourquoi je ne l’avais pas incluse).

Alors pour les mails je n’ai en fait rien configure, j’ai garde les MX de Gandi dans mon domaine DNS (et j’utilise une redirection email pour rediriger les emails de mon domaine vers ma boite Free, j’utilise le SMTP de Free en sortie). Donc oui en fait il doit y avoir un probleme ici: j’aimerais que YNH puisse utiliser une adresse ‘From’ sur mon domaine pour lequel les emails sont toujours chez Gandi/Free. Donc que YNH soit un simple client mail vers le SMTP de Free …

Desole si ce n’est pas clair, je debute toujours la-dessus, c’est aussi pourquoi je n’ai pas migre mes emails sur YNH encore (je ne me sens pas encore d’attaque pour restaurer tout s’il y a un probleme).

Hello @Vinz

Par défaut le serveur mail est configuré sur le domaine par défaut. Si tu veux changer le serveur smtp à mon avis ça va demander de modifier la config à la main. Mais honnêtement, tout ça est encore nébuleux pour moi…

Non, je comprends bien ce que tu veux faire mais je ne sais pas comment tu pourrais le faire. Migrer les mails sur YH est plus simple en fait. Et même si tu sembles l’envisager je comprends que tu sois frileux.

Salut @unsui

Merci pour ces infos supplementaires, effectivement je pense aussi que c’est ce qu’il me faudra faire, editer la config Postfix a la main.

Non, je comprends bien ce que tu veux faire mais je ne sais pas comment tu pourrais le faire. Migrer les mails sur YH est plus simple en fait. Et même si tu sembles l’envisager je comprends que tu sois frileux.

Oui, il faut que je regarde davantage. Nul doute que YNH rend les choses plus facile, il me faut par contre davantage de comprehension avant de me lancer sur ce sujet-la.

Je vois 3 cas:

  • Le serveur doit pouvoir envoyer des mails en sub1.domain.tld et on gardes les boites mail et le site en domain.tld chez le registrar
  • Le serveur doit pouvoir envoyer des mails en domain.tld mais on garde les boites mail et le site en domain.tld chez le registrar
  • Le serveur doit pouvoir envoyer des mails en domain.tld et héberger le site en domain.tld mais on garde les boites mail en domain.tld chez le registrar

Cas numéro 1: Envoyer des mail en XXX.domain.tld et avoir des boites mail en domain.tld chez le registrar

Spoiler pas besoin de modification de configuration.

On installe donc le YunoHost avec n’importe quel sous-domaine. YunoHost est multi domain, il peut envoyer des mails avec n’importe quels domaines configurées dans la liste des domaines de YunoHost (voir webadmin).

Par contre il y a un point d’attention important : la config DNS proposée par YunoHost est un peu piège même si en un sens elle peut être exact dans certaines situations.

En effet, si on a installé avec sub1.domain.tld, YunoHost propose actuellement (YunoHost 3.8.1.1) :

; Basic ipv4/ipv6 records
@ 3600 IN A XXX.YYY.ZZZ.AAA

; Mail
@ 3600 IN MX 10 sub1.domain.tld.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfM[...]CAC"
_dmarc 3600 IN TXT "v=DMARC1; p=none"

; Extra
* 3600 IN A XXX.YYY.ZZZ.AAA
@ 3600 IN CAA 128 issue "letsencrypt.org"

Mais en réalité, si vous configurez votre domaine chez un registrar, celui-ci vous propose de gérer une zone DNS par domaine, et non pa sune zone pour chaque sous-domaine… Donc il faut interpréter les @ car le @ signifie “le domaine courant de la zone DNS”.

Du coup pour un sous-domaine configuré chez un registrar cette configuration serait plus exacte:

; Basic ipv4/ipv6 records
sub1.domain.tld. 3600 IN A XXX.YYY.ZZZ.AAA

; Mail
sub1.domain.tld. 3600 IN MX 10 sub1.domain.tld.
sub1.domain.tld. 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey.sub1.domain.tld. 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfM[...]CAC"
_dmarc.sub1.domain.tld. 3600 IN TXT "v=DMARC1; p=none"

; Extra
*.sub1.domain.tld. 3600 IN A XXX.YYY.ZZZ.AAA
sub1.domain.tld. 3600 IN CAA 128 issue "letsencrypt.org"

Le serveur doit pouvoir envoyer des mails en domain.tld mais on gardes les boites mail en domain.tld chez le registrar

Cas numéro 2: Envoyer des mail en domain.tld et avoir des boites mail et le site en domain.tld chez le registrar

Spoiler il faut modifier les fichiers dnsmasq uniquement.
Il faut faire tout ce qui est fait dans le cas numéro c’est à dire installer sur sub1.domain.tld + configurer les DNS comme expliqué.

Une fois qu’on a fait ça on peut ajouter le domaine domain.tld dans YunoHost. Par contre, on ne modifie pas tous les enregistrements DNS. En particulier on ne vas pas ajouter de MX ni modifier le A ou le AAAA.

On modifie donc juste les enregistrement SPF et DMARC du registrar

@ 3600 IN TXT "v=spf1 a mx include:sub1.domain.tld  -all"

Et on ajoute DKIM (comme demandé dans la configuration proposée par YunoHost (donc avec la bonne clé)

@ 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfM[...]CAC"

A ce stade là on doit pouvoir ajouter un alias mail à un user, qui lui permettra d’envoyer du mail en @domain.tld. Par contre le user ne pourra pas recevoir de mail en @domain.tld via YunoHost.

Reste que si on essaie d’envoyer un mail vers un mail @domain.tld, ça ne va pas marcher, car le serveur YunoHost va interpréter qu’il est domain.tld. Ne connaissant pas l’utilisateur de destination il va refuser l’envoi. Il faut donc modifier le dnsmasq menteur de YunoHost:
/etc/dnsmasq.d/domain.tld en indiquant la vraie IP et le vraie MX des serveurs gandi

Cas numéro 3: Envoyer des mails en domain.tld et héberger le site en domain.tld mais on garde les boites mail en domain.tld chez le registrar

Concrètement on peut installer le YunoHost avec le nom de domaine principal.

Il faut ensuite configurer les DNS comme proposé par YunoHost sauf l’enregistrement MX qu’il faut laisser comme le registrar l’a configuré. Si il y a déjà un DKIM on ne le supprime pas, on rajoute une autre clé DKIM.

Reste que si on essaie d’envoyer un mail vers un mail @domain.tld, ça ne va pas marcher, car le serveur YunoHost va interpréter qu’il est le MX pour domain.tld. Ne connaissant pas l’utilisateur de destination il va refuser l’envoi. Il faut donc modifier le dnsmasq menteur de YunoHost:
/etc/dnsmasq.d/domain.tld en indiquant le vraie MX des serveurs du registrar

A faire dans tous les cas

Avec une de ces configurations et à condition d’avoir un port 25 ouvert dans les 2 sens + un reverse DNS en IPv4 et IPv6 configuré sur le domaine principal de YunoHost + une IP non résidentielle + une IP non listée dans une blackliste + remplissage de la white liste de microsoft et gmail, vous devriez pouvoir envoyer du mail.

1 Like

Bonsoir @ljf ,

Je n’ai pas encore testé car je veux le faire à tête reposée mais je tenais déjà à te remercier d’avoir pris le temps de répondre.

Merci donc :wink:

Salut @ljf

Je ne peut que m’associer a @unsui pour te remercier pour ces informations tres detaillees quant a la configuration a utiliser, une vrai reference. Je pense etre dans le cas #3 (le “site” dont tu parles, c’est bien celui de la page d’entre de YNH, non?). Je voie effectivement que les reglages MX dans DNSmasq referencent YNH, et pas Gandi comme dans mon enregistrement DNS du domaine. Je m’en vais changer cela.

Pour ton dernier paragraphe, tu mentionne qu’il ne faut pas avoir une IP residentielle pour son serveur. Je suppose que c’est pour ne pas etre classe comme spam par les destinataires mais aurais-tu plus d’infos? Je suis chez Bouygues et j’ai une IP fixe. Ton observation me condamne-t-elle a ne jamais pouvoir avoir de serveur mail sur cette connection?

Merci a nouveau pour tes lumieres!

Pas tout à fait, la plupart du temps ça marchera, mais certains serveur te refuseront.

Merci. Tu veux dire que les serveurs de courriel vérifient les intervalles d’adresses IP, par exemple tel intervalle est résidentiel chez Bouygues donc suspect pour l’envoi de courriel?

Je cherche de la doc/des pointeurs sur ce genre de choses, je suis preneur si tu en as.

Merci encore pour ton aide!

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