84 votes

Boîte aux lettres indisponible. La réponse du serveur était : 5.7.1 Impossible de relayer pour abc@xyz.com

Je reçois " Boîte aux lettres indisponible. La réponse du serveur était : 5.7.1 Impossible de relayer pour abc@xyz.com "lorsque j'essaie d'envoyer le courrier en utilisant ASP.NET. Le site est déployé sur IIS7, serveur Windows 2008.

Le site web fonctionnait bien sur IIS6 et Windows 2003 Server. . Je l'ai déployé sur IIS7, 2008 et il a commencé à me donner cette erreur.

Quelqu'un a-t-il déjà rencontré ce problème ?

111voto

Vinod T. Patil Points 1272

Aahh je l'ai... Je l'ai fait fonctionner :)

Merci Christopher, votre suggestion est correcte.

Mais, trouver le "Serveur virtuel SMTP par défaut" a été délicat ;)

Même si vous utilisez IIS7 pour déployer votre site web, vous devez ouvrir IIS6 Manager pour configurer le serveur SMTP (pourquoi ?).

J'ai configuré le serveur SMTP comme suit pour que les choses fonctionnent :

  1. Ouvrez IIS6 Manager en utilisant le Panneau de configuration --> Outils d'administration.
  2. Ouvrez les propriétés du serveur virtuel SMTP.
  3. Dans l'onglet Général, définissez l'adresse IP du du serveur Web au lieu de "All non attribuées".
  4. Dans l'onglet Accès, cliquez sur le bouton Relais ce qui ouvre la boîte de dialogue Relay Restrictions.
  5. Dans la liste des ordinateurs relais, ajoutez l'adresse IP adresse IP de bouclage, c'est-à-dire 127.0.0.1 et l'adresse IP du serveur Web, afin qu'ils puissent transmettre/relayer les e-mails via le serveur SMTP.

20voto

Christopher Klein Points 1872

C'est là que se trouve la réponse... Paramètres IIS

IIS-->Serveur virtuel SMTP par défaut-->Propriétés-->Accès-->Restrictions de relais Ajoutez ou excluez simplement les IP qui vous intéressent, cela devrait résoudre le problème.

17voto

Mick Byrne Points 4744

J'étais confronté au même problème et j'ai suivi les étapes (très clairement expliquées) de la réponse de Vinod, mais cela a créé une erreur différente :

Impossible de lire les données de la connexion de transport : net_io_connectionclosed

J'ai creusé un peu plus et (bien que je ne sois pas sûr de la raison pour laquelle cela a fonctionné) j'ai résolu le problème :
- Retourner dans la console de gestion de IIS6.0
- Ouvrir les propriétés du serveur virtuel SMTP
- Dans l'onglet "Général", remettez le paramètre "Adresse IP :" sur "(toutes non attribuées)".

Je ne sais pas pourquoi cela fonctionne, mais j'espère que cela aidera quelqu'un à faire face au même problème à l'avenir.

15voto

Lee Englestone Points 946

Comme une image vaut mille mots

Lorsque vous trouvez le gestionnaire IIS6 (j'ai constaté que la recherche de IIS peut retourner 2 résultats), allez dans les propriétés du serveur SMTP puis 'Accès' et appuyez sur le bouton relais.

Ensuite, vous pouvez soit tout sélectionner, soit n'autoriser que certaines adresses IP, comme 127.0.0.1.

SMTP Relay

5voto

NikG Points 117

Merci à Vinod pour cette réponse bien présentée.

J'ai eu la même erreur que Mick Byrne lorsque j'ai suivi les étapes ci-dessus. Je l'ai remis sur All Unassigned, mais j'ai dû modifier quelques autres éléments :

  • Ajouter l'utilisateur sous lequel mon site fonctionnait aux utilisateurs de l'onglet Sécurité du serveur virtuel SMTP.
  • J'ai modifié la valeur de l'attribut mailSettings > network > host dans mon web.config pour qu'elle corresponde à l'adresse IP spécifique du serveur (par exemple 192.168.100.120) et non à celle de localhost (qui pointait sur 127.0.0.1 dans le fichier hosts).

J'espère que cela évitera à quelqu'un de perdre quelques minutes à faire des bêtises.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X