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.
Voici quelques captures d'écran d'un connecteur de réception configuré pour mon IP sur le serveur Exchange
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.
J'ai trouvé le problème, je devais cocher la case "Accepter tous les expéditeurs" pour les utilisateurs authentifiés.
Plus d'informations ici: http://technet.Microsoft.com/en-us/library/aa997170(EXCHG.140).aspx
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]"}.
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.