J'essaie d'envoyer un courrier électronique dans une application console .NET. J'ai un serveur SMTP avec i.P. adresse X.X.X.X (assainie pour protéger l'innocent)..NET SMTP mail - erreur = commande helo rejetée besoin d'un nom d'hôte complet
Le serveur SMTP a été configuré (le relais a été configuré) pour autoriser l'envoi d'e-mails depuis le serveur hébergeant l'application de console .NET et envoyer cet e-mail au monde extérieur.
J'ai testé cela avec telnet depuis le serveur hébergeant l'application console. J'ai envoyé avec succès un email avec la console telnet du serveur hébergeant l'application de console en utilisant le I.P. du serveur SMTP. adresse. Aucune authentification n'est requise lors de l'utilisation de telnet. Je n'ai reçu aucune information d'identification de connexion.
Mais lorsque je tente de le faire dans l'application .NET, je reçois l'erreur suivante:
Syntaz error, command unrecognized. The server response was: : Helo command rejected: need fully-qualified hostname
Voici mon code:
string mailMessagetest = "test";
string subjecttest = "test";
List<string> recipienttest = new List<string>();
recipienttest.Add("[email protected]");
utility.SendMail(recipienttest, subjecttest, mailMessagetest);
Voici la fonction SendMail:
public static void SendMail(List<string> recipient, string subject, string message)
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("[email protected]");
foreach (string to in recipient)
{
mailMessage.To.Add(to);
}
mailMessage.Subject = subject;
mailMessage.Body = message;
SmtpClient client = new SmtpClient();
client.Host = "X.X.X.X";
client.Port = 25;
client.Send(mailMessage);
}
Comment cela va-t-il aider? L'administrateur m'a donné la boîte sans aucune exigence d'autorisation. \ – richard
alors définissez UseDefaultCredentials = true et supprimez la deuxième ligne et réessayez –
Merci Mohsen. C'est ce que j'avais initialement essayé sans aucune chance. – richard