Envoyer des mails depuis mon serveur

Tags: #<Tag:0x00007f47e6803948> #<Tag:0x00007f47e6803880> #<Tag:0x00007f47e6803740>

Bonjour à tous :slight_smile:

Je me perds un peu dans la configuration de mon serveur pour envoyer des mails vers l’extérieur (entendez, hors de mon réseau local).

Ma configuration est un peu particulière :

  • J’ai un nom de domaine réservé chez OVH.
  • J’ai un serveur auto-hébergé derrière ma box.
  • J’ai donc, via mon interface OVH, configuré deux entrées DNS de type A (mondomaine.com et www.mondomaine.com) qui pointent vers l’IP publique de ma box.
  • En revanche, par choix, je n’auto-héberge pas de serveur de mails. J’ai souscrit à l’offre mail d’OVH. J’ai donc les entrées MX correspondantes : 1 mx1.ovh.net, 5 mx2.ovh.net, 100 mxb.ovh.net pour mondomaine.com.

Ce qui fait que la commande host mondomaine.com renvoie :

$ host mondomaine.com
mondomaine.com has address xxx.xxx.xxx.xxx
mondomaine.com mail is handled by 1 mx1.ovh.net.
mondomaine.com mail is handled by 5 mx2.ovh.net.
mondomaine.com mail is handled by 100 mxb.ovh.net.

Dans cette configuration, comment envisager d’envoyer des mails depuis mon serveur auto-hébergé, vers mon adresse OVH de type admin@mondomaine.com ? Je n’ai réussi ni avec Exim ni avec la fonction mail() de PHP.

Merci d’avance pour le coup de main :slight_smile:

Salut,

Je te conseille ssmtp. ssmtp est un petit outil qui prend la place d’exim4 pour la gestion des e-mails.
Il me semble qu’il y a une configuration par défaut à l’installation du paquet qui te suffira.

Instal un MTA (Exim, Postfix, …) et dit lui de passer par un relay qui sera ton serveur de mail chez OVH et configure ce dernier pour accepter les mails venant de ton serveur auto-hébergé.

Merci à tous les deux, j’y suis presque !

Pour l’instant j’ai préféré me débattre avec Exim, et je suis tombé sur ce tuto qui m’a bien aiguillé sur la façon de relayer les mails vers un SMTP extérieur (OVH en l’occurrence).

La bonne nouvelle : ça fonctionne quand j’envoie un mail vers Gmail (echo "Test" | mail moi@gmail.com).

La mauvaise : ça ne fonctionne pas quand j’envoie un mail vers mon propre domaine (echo "Test" | mail moi@mondomaine.com). Je me mange un “Unrouteable address”.

Extrait de /var/log/exim4/mainlog après envoi vers Gmail :

2017-01-03 19:34:17 1cOTub-0008IZ-Fr <= root@mondomaine.com U=root P=local S=363
2017-01-03 19:34:18 1cOTub-0008IZ-Fr => moi@gmail.com R=smarthost T=remote_smtp_smarthost H=ssl0.ovh.net [213.186.33.20] X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 DN="C=FR,OU=Domain Control Validated,CN=ssl0.ovh.net" A=plain C="250 2.0.0 Ok: queued as 19CCE12007D"
2017-01-03 19:34:18 1cOTub-0008IZ-Fr Completed

Extrait après envoi vers mondomaine.com :

2017-01-03 19:40:59 1cOU15-0000U3-Hx <= root@mondomaine.com U=root P=local S=337
2017-01-03 19:40:59 1cOU15-0000U3-Hx ** moi@mondomaine.com: Unrouteable address
2017-01-03 19:41:00 1cOU15-0000U7-MV <= <> R=1cOU15-0000U3-Hx U=Debian-exim P=local S=1110
2017-01-03 19:41:00 1cOU15-0000U3-Hx Completed
2017-01-03 19:41:00 1cOU15-0000U7-MV => /var/mail/mail (root@mondomaine.com) <root@mondomaine.com> R=mail4root T=address_file
2017-01-03 19:41:00 1cOU15-0000U7-MV Completed

Pour info, des fois que ce soit pertinent, /etc/hostname et /etc/mailname contiennent bien mon FQDN (mondomaine.com). Dans /etc/hosts, j’ai également ajouté mon FQDN en regard des adresses locales IPv4 et v6 (127.0.0.1 et ::1).

Bon, je continue à cerner le problème.

Quand je lance exim -bt moi@gmail.com, je récupère :

# exim -bt moi@gmail.com
R: smarthost for moi@gmail.com
moi@gmail.com
  router = smarthost, transport = remote_smtp_smarthost
  host ssl0.ovh.net [213.186.33.20]  port=465

Mais quand je lance exim -bt moi@mondomaine.com :

# exim -bt moi@mondomaine.com
R: system_aliases for moi@mondomaine.com
moi@mondomaine.com is undeliverable: Unrouteable address

Ce qui me confirme donc que quand j’essaie d’envoyer un mail vers une adresse @mondomaine.com, il prend ça pour une adresse locale et n’utilise pas le smarthost. Je fouille partout, mais je ne trouve pas comment m’y prendre pour régler ça :confused:.

Je ne connais pas Exim mais ne serais t’il pas pertinent de mettre un FQDN différent de ton domaine afin qu’il passe par le relay ?

Bon, c’est un peu de la bidouille mais effectivement en changeant mon hostname et mon mailname, il accepte de passer par le relais. Je me satisferai de ça !

Merci à tous les deux :slight_smile:.

C’est étrange !
J’ai un vps sous debian 8. Je lui ai installé postfix, et sans rien configurer, sans éditer le moindre fichier de config, la commande que tu sites à fonctionner pour moi … :slight_smile:

Content pour toi ! Note que ta situation n’a rien à voir avec la mienne ;-).

Je confirme, c’est très pratique, surtout lorsque l’on a pas de nom de domaine, et pour seul accès internet une box dont on a même pas les accès admin.

Merci à vous deux, j’ai évidemment gardé l’info sous le coude, des fois que finalement Exim ne convienne pas tout à fait :slight_smile:.