Menyelesaikan masalah Ralat "Hartanah Tidak Boleh Ditugaskan" dalam Penghantaran E-mel SMTP
Menghadapi ralat "harta benda tidak boleh diberikan" semasa menghantar e-mel melalui SMTP selalunya berpunca daripada cuba mengubah suai sifat baca sahaja, terutamanya To
dan From
, dalam kelas MailMessage
.
Penyelesaian terletak pada memulakan sifat ini dengan betul semasa penciptaan objek. Daripada menetapkannya selepas membuat contoh MailMessage
, tetapkan mereka terus dalam pembina.
Contoh Kod Dibetulkan:
<code class="language-csharp">using System.Net.Mail; // ... other code ... // Correctly initialize To and From in the constructor MailMessage mail = new MailMessage("sender@domain.com", "receiver@domain.com"); 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>
Pendekatan yang disemak ini mengelakkan ralat dengan menetapkan alamat penerima dengan betul semasa pengamulaan objek MailMessage
, menghalang percubaan untuk mengubah suai sifat baca sahaja kemudian.
Atas ialah kandungan terperinci Mengapa 'harta tidak dapat diberikan' berlaku semasa menghantar e -mel SMTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!