Boîte aux lettres indisponible. La réponse du serveur a été: 5.7.1 Impossible de relayer pour abc@xyz.com [fermé]


84

J'obtiens " Boîte aux lettres indisponible. La réponse du serveur était: 5.7.1 Impossible de relayer pour abc@xyz.com " lorsque j'essaye 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, il a commencé à me donner cette erreur.

Quelqu'un a-t-il déjà vécu cela?



Stack Overflow est un site pour les questions de programmation et de développement. Utilisez un autre site sur le réseau Stack Exchange .
jww

Réponses:


115

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

Merci Christopher, votre suggestion est correcte.

Mais trouver «Serveur virtuel SMTP par défaut» était délicat;)

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

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

  1. Ouvrez le Gestionnaire IIS6 à l'aide du Panneau de configuration -> Outils d'administration.
  2. Ouvrez les propriétés du serveur virtuel SMTP.
  3. Sous l'onglet Général, définissez l'adresse IP du serveur Web au lieu de «Tous non attribués».
  4. Dans l'onglet Accès, cliquez sur le bouton Relais, cela ouvrira la boîte de dialogue Restrictions de relais.
  5. Dans la liste des ordinateurs relais, ajoutez l'adresse IP de bouclage, c'est-à-dire 127.0.0.1 et l'adresse IP du serveur Web, afin qu'ils puissent passer / relayer les e-mails via le serveur SMTP.

3
La raison pour laquelle cela doit être géré dans IIS 6 est que IIS 7.X n'a ​​pas son propre composant serveur SMTP, il utilise donc IIS 6.
MemeDeveloper

5
Dans mon web.config, je faisais référence à mon serveur smtp par le nom "localhost". Si j'ai suivi l'étape 3, cette solution a échoué; si j'ai omis l'étape 3, cela a fonctionné. Merci :)
Paul Suart

1
Cela s'applique également à IIS8 et au serveur 2012
Isaac Bolinger

Nous utilisons un relais pour envoyer des e-mails via un compte dans notre Office 365. Dois-je toujours installer le serveur smtp dans IIS 6 même si nous n'utilisons pas le serveur smtp du serveur Web. Ceci est sur un Windows Server 2016 exécutant IIS 10. Quelqu'un at-il des suggestions ou une solution à ce problème? Merci d'avance!
Nathan

Merci beaucoup! J'ai résolu mon problème.
Nanou Ponette

20

ici se trouve la réponse ... Paramètres IIS

IIS -> Serveur virtuel SMTP par défaut -> Propriétés -> Accès -> Les restrictions de relais ajoutent ou excluent simplement les adresses IP qui vous intéressent, devraient résoudre le problème.


2
où est "Serveur virtuel SMTP par défaut"? J'utilise IIS7. Dans IIS6 il y a "SMTP Virtual Server" mais dans IIS et ce n'est pas le cas?
Vinod T.Patil

18

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

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

J'ai fait un peu plus de fouille et de fouille et (même si je ne suis pas sûr de savoir pourquoi cela a fonctionné), je l'ai résolu en:
- Revenant dans la console de gestion IIS6.0
- Ouvrez les propriétés du serveur virtuel SMTP
- Sur l'onglet Général, en changeant le 'IP Adresse: 'remise à' (Tous non attribués) '

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


15

Comme une image vaut mille mots.

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

Ensuite, vous pouvez sélectionner tout ou autoriser uniquement certaines adresses IP telles que 127.0.0.1

Relais SMTP


5

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

J'ai eu la même erreur que Mick Byrne lorsque j'ai suivi les étapes ci-dessus. Le ramener à Tous les non attribués l'a trié, mais j'ai également dû modifier quelques autres choses:

  • Ajoutez l'utilisateur sous lequel mon site s'exécutait aux utilisateurs dans l'onglet Sécurité du serveur virtuel SMTP.
  • Modification de la valeur de l'attribut mailSettings> network> host dans mon web.config en IP de serveur spécifique (par exemple 192.168.100.120) par opposition à localhost (qui pointait vers 127.0.0.1 dans le fichier hosts).

J'espère que cela épargnera à quelqu'un quelques minutes de déconner.


4

J'ai pu résoudre ce problème en modifiant les paramètres de messagerie dans la partie system.net de mon web.config:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

2

Si vous avez Exchange 2010 :

(Dans mon cas, le message d'erreur ne contenait pas "pour abc@xyz.com")

Cela montre comment ajouter un connecteur de réception: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

Mais j'avais aussi besoin d'effectuer une étape trouvée ici: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Accédez à Exchange Management Shell et exécutez la commande
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission -User "NT AUTHORITY \ ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

Tout en travaillant là-dessus, j'ai exécuté ce qui suit sur la console PowerShell du serveur concerné jusqu'à ce que l'erreur disparaisse:

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

1

Je voulais partager ce qui a causé l'erreur dans mon cas. Passez quelques heures à comprendre cela, alors j'espère que cela aidera à gagner du temps à quelqu'un.

Curieusement, l'erreur a été générée avec l' Enable drop directory quotaactivation du paramètre pour le domaine.

entrez la description de l'image ici

Je ne suis pas l'expert et je ne connais pas l'explication technique, mais décocher le paramètre mentionné a réglé le problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.