web-dev-qa-db-fra.com

Erreur '5.7.1 Le client n'a pas la permission' lors de l'envoi du courrier électronique à partir du code

Donc, j'ai ce programme très basique qui essaie d'envoyer un e-mail, mais je continue à obtenir

Boîte aux lettres indisponible. La réponse du serveur était: 5.7.1 Le client n'a pas La permission d'envoyer comme expéditeur

Voici mon programme

static void Main(string[] args)
{
    SmtpClient client = new SmtpClient("Server", 25);
    client.UseDefaultCredentials = false;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Credentials = new NetworkCredential("UserName", "Password");
    client.Send(new MailMessage("[email protected]","Recipient"));
}

Je sais que les informations d'identification fonctionnent. Si j'exécute SMTP Test Tool 3.0 avec les mêmes données, tout fonctionne parfaitement.

enter image description here

Voici quelques captures d'écran d'un connecteur de réception configuré pour mon IP sur le serveur Exchange

enter image description here

enter image description here

Quelqu'un a une idée de ce qui pourrait causer cette erreur dans mon code, mais pas dans le simple outil de test SMTP? Est-ce que je manque une sorte d’authentification, quelque part? J'ai vérifié quadruple que toutes les informations sont correctes et identiques aux deux endroits et que cela fonctionne dans l'outil mais pas dans le code.

11
Kevin DiTraglia

J'ai trouvé le problème, je devais cocher la case "Accepter tous les expéditeurs" pour les utilisateurs authentifiés.

enter image description here

Plus d'informations ici: http://technet.Microsoft.com/en-us/library/aa997170(EXCHG.140).aspx

10
Kevin DiTraglia

Je sais que ce fil est assez ancien, mais je viens d’avoir le même problème et je me gratte la tête depuis longtemps. Dans mon cas, le serveur de messagerie n’a pas accepté l’envoyeur "étranger". vous êtes dans le domaine @ sample.com, il pourrait être impossible d’envoyer un courrier électronique à partir de "[email protected]", car le serveur rejettera cette erreur avec l’erreur 5.7.1. Donc, 2 choses sont importantes ici: 1) Corrigez les informations d'identification qui seront utilisées pour vous connecter au serveur; 2) Valeur du champ "De", car votre serveur peut rejeter les courriers de l'expéditeur appartenant à un autre domaine. En d'autres termes, si vous êtes dans le domaine @ sample.com, essayez d'ajouter ceci également. New MailMessage {From = "[email protected]"}.

3
aleor

J'ai eu le même problème. J'ai testé les paramètres SMTP dans une application de console séparée et cela a bien fonctionné. Après quelques recherches sur Google, j'ai réalisé que mon problème était le fait que j'avais spécifié l'adresse de l'expéditeur deux fois, une fois dans ma configuration:

<smtp deliveryMethod="Network" from="[email protected]">

Et aussi dans mon code:

mail.From = new MailAddress("[email protected]");

La suppression de l'adresse d'origine du code a résolu le problème.

0
Viqas