Ne peut pas envoyer de mail à l'aide de SmtpClient
Je veux envoyer un mail à l'aide de classe SmtpClient, mais il ne fonctionne pas.
Code:
SmtpClient smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential(obMailSetting.UserName, obMailSetting.Password);
smtpClient.Host = obMailSetting.HostMail;
smtpClient.Port = obMailSetting.Port;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = obMailSetting.Connect_Security;//true
//smtpClient.UseDefaultCredentials = true;//It would work if i uncomment this line
smtpClient.Send(email);
Il déclenche une exception:
Le serveur SMTP nécessite une connexion sécurisée ou le client n'est pas authentifié. La réponse du serveur est: 5.7.1 le Client n'est pas authentifié
Je suis sûr que le nom d'utilisateur et le mot de passe est correct. Est-il un problème dans mon code?
Merci.
Avez-vous essayez d'inclure de domaine en troisième paramètre de NetworkCredential ?
OriginalL'auteur hoangmeo325 | 2013-11-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ceci :
Vous pouvez essayer cette:
Dans la Console de Gestion Exchange, sous le nœud Configuration du Serveur, sélectionnez le serveur de Transport Hub et le nom du serveur. Dans les Connecteurs de réception volet, ouvrez l'Attente de Connecteurs (mon installation par défaut créé 2) ou vous pouvez créer un nouveau juste pour TFS (j'ai aussi essayé et cela a fonctionné). Pour l'un de ces connecteurs, ouvrez les Propriétés et sur l'onglet Groupes d'autorisations de s'assurer que les Utilisateurs Anonymes est sélectionné (ce n'est pas par défaut).
Et
Vous pouvez également essayer cette par l'initialisation de la
SmtpClient
comme suit:avez-vous essayé avec google mail service ?
Oui, C'est presque le même que le mime. @Arshad: Salut l'ami, donc, qui seraient la cause de cette exception?
Vérifier la mise à Jour de réponse
OriginalL'auteur Arshad
Le serveur répond avec 5.7.1 le Client n'est pas authentifié mais seulement si vous ne définissez pas
UseDefaultCredentials
àtrue
. Cela indique que leNetworkCredential
que vous utilisez est en fait mal.Le nom d'utilisateur ou mot de passe est mauvais ou peut-être vous avez besoin de spécifier un nom de domaine? Vous pouvez utiliser un autre constructeur pour spécifier le domaine:
Ou peut-être de l'utilisateur que vous spécifiez n'a pas les droits nécessaires pour envoyer du courrier sur le serveur SMTP, mais alors je m'attends à une autre réponse du serveur.
OriginalL'auteur Martin Liversage