Dépannage de l'erreur « La propriété ne peut pas être attribuée » dans l'envoi d'e-mails SMTP .NET
Le développement de fonctionnalités de messagerie dans .NET nécessite une compréhension approfondie du comportement des propriétés. Un problème fréquent est l'erreur « la propriété ne peut pas être attribuée » lors de l'envoi d'e-mails SMTP.
Examinons un scénario typique :
<code class="language-csharp">MailMessage mail = new MailMessage(); SmtpClient client = new SmtpClient(); client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = "smtp.gmail.com"; mail.To = "[email protected]"; // Error occurs here mail.From = "[email protected]"; mail.Subject = "this is a test email."; mail.Body = "this is my test email body"; client.Send(mail);</code>
Cette erreur se produit car mail.To
et mail.From
sont des propriétés en lecture seule. La solution est d'initialiser ces propriétés au sein du constructeur MailMessage
:
<code class="language-csharp">using System.Net.Mail; ... MailMessage mail = new MailMessage("[email protected]", "[email protected]"); SmtpClient client = new SmtpClient(); client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = "smtp.gmail.com"; mail.Subject = "this is a test email."; mail.Body = "this is my test email body"; client.Send(mail);</code>
En définissant les adresses du destinataire et de l'expéditeur lors de la création de l'objet, l'erreur « la propriété ne peut pas être attribuée » est évitée, garantissant ainsi une transmission correcte des e-mails.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!