web-dev-qa-db-fra.com

Boîte aux lettres indisponible. La réponse du serveur était: 5.7.1 Impossible de relayer l'erreur

J'ai hébergé un de mes sites Web sur le serveur netsol. De là, un contact.aspx doit envoyer un e-mail à l'aide du serveur Exchange. Lorsque j'essaie d'envoyer un e-mail:

Erreur: Boîte aux lettres indisponible. La réponse du serveur était: 5.7.1 Impossible de relayer

Code:

MailMessage message = new MailMessage(@"[email protected]", 
                                      @"[email protected]",
                                       "New Message",
                                       "Exchange");
SmtpClient mail = new SmtpClient("exchange.abc.com", 29);
mail.EnableSsl = true;
mail.Credentials = new NetworkCredential(@"[email protected]", @"password");
mail.UseDefaultCredentials = false;
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.Send(message);

Options que j'ai essayées:

  • Testé sur le port 465 ou 587 ou 25
  • SmtpDeliveryMethod.PickupDirectoryFromIis modifié
  • ne peut pas configurer IIS (serveur SMTP) car il est hébergé sur le serveur de quelqu'un d'autre)
15
Arjun

La configuration par défaut de la plupart des serveurs SMTP n'est pas de relayer d'une source non fiable vers des domaines externes. Par exemple, imaginez que vous contactez le serveur SMTP pour foo.com et lui demandez d'envoyer un message à [email protected]. Parce que le serveur SMTP ne sait pas vraiment qui vous êtes, il refusera de relayer le message. Si le serveur faisait cela pour vous, il serait considéré comme un relais ouvert , c'est ainsi que les spammeurs font souvent leur travail .

Si vous contactez le serveur de messagerie foo.com et lui demandez d'envoyer du courrier à quelqu'[email protected], il pourrait vous permettre de le faire. Cela dépend s'ils croient que vous êtes ce que vous dites que vous êtes. Souvent, le serveur essaiera d'effectuer une recherche DNS inversée et refusera d'envoyer du courrier si l'adresse IP à partir de laquelle vous envoyez ne correspond pas à l'adresse IP de l'enregistrement MX dans DNS. Donc, si vous dites que vous êtes le serveur de messagerie bar.com mais que votre adresse IP ne correspond pas à l'enregistrement MX de bar.com, il refusera de remettre le message.

Vous devrez parler à l'administrateur de ce serveur SMTP pour obtenir les informations d'authentification afin qu'il vous permette de relayer. Vous devrez présenter ces informations d'identification lorsque vous contactez le serveur SMTP. Il s'agit généralement soit d'un nom d'utilisateur/mot de passe, soit il peut utiliser des autorisations Windows. Dépend du serveur et de sa configuration.

Voir Impossible d'envoyer des e-mails à un domaine externe à l'aide de SMTP pour un exemple de la façon d'envoyer les informations d'identification.

41
Jim Mischel

J'utilise Windows Server 2012 pour l'hébergement depuis longtemps et cela ne fonctionne plus sans problème après plus de plusieurs années. Ma solution était d'ajouter l'adresse IP publique du serveur à la liste des relais et d'activer l'authentification intégrée Windows.

Je viens de faire deux changements et je n'aide pas.

Accédez à IIS 6 Manager

Go to IIS 6 Manager

Sélectionnez les propriétés du serveur SMTP

Select properties of SMTP server

Dans l'onglet Accès, sélectionnez Relais

On tab Access, select Relays

Ajoutez votre adresse IP publique

Add your public IP address

Fermez la boîte de dialogue et sur le même onglet, cliquez sur le bouton Authentification.

Ajouter une authentification Windows intégrée

Add Integrated Windows Authentication

Peut-être qu'une étape n'est pas nécessaire, mais cela fonctionne.

10
Tomas Kubes

NOUS avons eu ce problème. tout était bien configuré en termes d'autorisations et de sécurité.

après BEAUCOUP d'aiguilletage dans la botte de foin. le problème était une sorte d'heuristique. dans le corps de l'e-mail, chaque fois qu'une certaine adresse e-mail était répertoriée, nous recevions le message d'erreur ci-dessus de notre serveur d'échange.

il a fallu 2 jours de tests fous et de cheveux tirés pour trouver cela.

donc, si vous avez tout vérifié, essayez de changer le corps de l'e-mail pour le mot "test" uniquement. Si après cela, votre e-mail sort bien, vous rencontrez une sorte de problème de filtre anti-spam/heuristique comme nous l'étions

3
ttomsen