Penyelesaian Masalah Gmail SMTP E -mel menghantar dengan C#
Pemaju perisian menghadapi kesukaran menghantar e -mel melalui pelayan SMTP Gmail menggunakan C#. Walaupun berunding dengan sumber dalam talian, penyelesaian biasa tidak menyelesaikannya "Server SMTP memerlukan sambungan yang selamat atau klien tidak disahkan" ralat (SMTPException, Response Server: "5.5.1 Pengesahan Diperlukan").Kod pemaju, sementara struktur yang sama dengan contoh kerja, terus gagal. Ini menunjukkan masalah di luar kesilapan sintaks mudah.
Penyelesaian Potensi & Langkah Debugging:
Langkah pertama yang penting ialah kajian semula kod menyeluruh. Contoh yang disediakan:
<code class="language-csharp">using System; using System.Net.Mail; using System.Net; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("[email protected]", "mypwd"), EnableSsl = true }; client.Send("[email protected]", "[email protected]", "test", "testbody"); Console.WriteLine("Sent"); Console.ReadLine(); } } }</code>
Menyimpan maklumat sensitif seperti kata laluan secara langsung dalam kod tidak digalakkan. Alternatif adalah menggunakan untuk konfigurasi:
web.config
Kemudian, dapatkan kelayakan dari
<code class="language-xml"><!-- web.config --> <system.net> <mailSettings> <smtp> <network enabledSsl="true" host="smtp.gmail.com" port="587" userName="" password=""/> </smtp> </mailSettings> </system.net></code>
web.config
ingat untuk menggantikan ruang letak dengan nilai sebenar dalam
<code class="language-csharp">using System.Net.Mail; using System.Configuration; // ... client.Credentials = new NetworkCredential( ConfigurationManager.AppSettings["userName"], ConfigurationManager.AppSettings["password"] ); // ...</code>
Dengan secara sistematik menangani perkara -perkara ini, pemaju harus dapat menentukan dan menyelesaikan masalah menghantar e -mel. Menyediakan kod lengkap akan sangat membantu dalam diagnosis selanjutnya.
Atas ialah kandungan terperinci Mengapa saya mendapat '5.5.1 Pengesahan Diperlukan' semasa menghantar e -mel melalui pelayan SMTP Gmail dengan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!