Rumah >pembangunan bahagian belakang >C++ >Mengapa saya mendapat ralat 'harta tidak boleh diberikan' semasa menghantar e -mel SMTP?
Menyelesaikan masalah "Harta Tidak Boleh Ditugaskan" Ralat dalam Penghantaran E-mel SMTP
Menghantar e-mel melalui SMTP kadangkala boleh menimbulkan ralat "harta benda tidak boleh diberikan" yang mengecewakan. Ini biasanya berlaku apabila cuba menetapkan alamat penerima ("Kepada") atau pengirim ("Daripada") objek MailMessage
selepas ia dibuat.
Masalahnya berpunca daripada fakta bahawa sifat To
dan From
MailMessage
adalah baca sahaja. Ini bermakna anda mesti menetapkan sifat ini semasa pemulaan objek. Inilah pendekatan yang betul:
<code class="language-csharp">using System.Net.Mail; // ... other code ... MailMessage mail = new MailMessage("from@example.com", "to@example.com"); SmtpClient client = new SmtpClient(); client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = "smtp.gmail.com"; mail.Subject = "Test Email"; mail.Body = "This is a test email body."; client.Send(mail);</code>
Dengan memberikan alamat pengirim dan penerima terus dalam MailMessage
pembina, anda mengelakkan ralat sifat baca sahaja dan memastikan penghantaran e-mel berjaya. Ingat untuk menggantikan "from@example.com"
dan "to@example.com"
dengan alamat e-mel anda yang sebenar.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'harta tidak boleh diberikan' semasa menghantar e -mel SMTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!