解决 .NET SMTP 电子邮件发送中的“无法分配属性”错误
在 .NET 中开发电子邮件功能需要彻底了解属性行为。一个常见的问题是发送 SMTP 邮件时出现“无法分配属性”错误。
让我们看一个典型场景:
<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>
出现此错误是因为 mail.To
和 mail.From
是只读属性。 解决方案是在 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>
通过在创建对象时设置收件人和发件人地址,避免了“无法分配属性”的错误,保证了电子邮件的正确传输。
以上是在.NET中发送SMTP电子邮件时,为什么我会收到'无法分配的属性”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!