informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Deskripsi fungsi: Gunakan verifikasi email untuk mewujudkan aktivasi pendaftaran pengguna dan pengambilan kata sandi. Kotak surat memilih NetEase 163 sebagai server SMTP.
Situasi pengujian sebenarnya: Tipe 1: Port 25 dari sebagian besar operator server diblokir secara default. Anda dapat menghubungi operator untuk membuka blokir port 25. Setelah membuka blokir, port 25 dapat digunakan. Tipe kedua: Gunakan port terenkripsi 465 dan 587. Setelah pengujian, port 587 gagal terkirim dan mengembalikan "Tidak dapat membaca data dari koneksi transmisi", jadi hanya konfigurasi port 465 yang dilakukan di sini. Di bawah ini adalah kode dari dua kasus yang berhasil. Silakan pilih sesuai dengan situasi sebenarnya.
Dari informasi di Internet, saya mengetahui bahwa port 587 kotak surat Alibaba dan QQ juga gagal terkirim, sehingga saat ini diketahui bahwa port layanan stmp 587 dari tiga operator besar NetEase, Alibaba, dan QQ gagal.
Langkah satu: Mulai layanan smtp. Masuk ke kotak surat NetEase [Pengaturan] - temukan [POP3/SMTP/IMAP] di menu sebelah kiri, aktifkan layanan dan dapatkan kata sandi otorisasi (catatan: kata sandi dalam kode menggunakan kata sandi otorisasi).Atur seperti yang ditunjukkan pada gambar
Langkah 2: Siapkan aturan tumpukan firewall server dan tambahkan port 465.
Langkah 3: Kode.
Send25 adalah metode untuk menguji kemampuan mengirim email pada port 25. Perpustakaan kelas menggunakan System.Net.Mail
publik batal Kirim25()
{
//this.SmtpHost //Tentukan alamat server smtp
//ini.SmtpPort //port server smtp
//this.FromEmailAddress //Alamat email untuk mengirim email
//this.FormEmailPassword //Kata sandi email untuk mengirim email, kode otorisasi digunakan di sini
//this.ToList //Alamat email untuk menerima email, yang kumpulannya dapat dipisahkan dengan koma
//System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;//Setelan lanjutan
SmtpClient smtp = new SmtpClient(); //Membuat instance SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //Setel mode keluar smtp ke Jaringan
smtp.EnableSsl = false; //Apakah server smtp mengaktifkan enkripsi SSL
smtp.Host = this.SmtpHost; //Tentukan alamat server smtp
smtp.Port = this.SmtpPort; //Tentukan port server smtp. Defaultnya adalah 25. Jika port default yang digunakan, maka dapat dihilangkan.
smtp.UseDefaultCredentials = true; //Jika server SMTP Anda tidak memerlukan otentikasi identitas, gunakan metode berikut, namun saat ini pada dasarnya tidak diperlukan otentikasi.
//smtp.EnableSsl = salah;
smtp.Credentials = new NetworkCredential(this.FromEmailAddress, this.FormEmailPassword); //Jika autentikasi diperlukan, gunakan metode berikut
MailMessage mm = new MailMessage(); //Membuat instance kelas email
mm.Priority = MailPriority.Normal; //Prioritas email dibagi menjadi Rendah, Normal, dan Tinggi. Biasanya Normal dapat digunakan.
mm.From = new MailAddress(this.FromEmailAddress, "Administrator", Encoding.GetEncoding(936));
//penerima
jika (!string.IsNullOrEmpty(ini.ToList))
mm.Untuk.Ditambahkan(ini.UntukDaftar);
//Cc orang
jika (!string.IsNullOrEmpty(ini.CCList))
mm.CC.Tambah(daftar.CCini);
//CC
jika (!string.IsNullOrEmpty(ini.BccList))
mm.Bcc.Tambah(daftarBccini);
mm.Subjek = ini.Subjek; //Judul email
mm.SubjectEncoding = Encoding.GetEncoding(936); //Ini sangat penting. Jika judul email Anda mengandung bahasa Mandarin, maka harus ditentukan di sini, jika tidak, pihak lain kemungkinan besar akan menerima karakter yang kacau.
mm.IsBodyHtml = this.IsBodyHtml; //Apakah isi email dalam format HTML
mm.BodyEncoding = Encoding.GetEncoding(936); //Pengkodean badan email salah diatur, dan penerima akan menerima karakter yang kacau.
mm.Body = this.Body; //Teks email
//Lampiran surat
jika (daftarLampiran ini != null dan jumlah daftarLampiran ini > 0)
{
foreach (Lampiran lampiran di this.AttachmentList)
{
mm.Lampiran.Tambah(lampiran);
}
}
smtp.Kirim(mm);
}
Send465 adalah metode untuk menguji kemampuan mengirim email pada port 465. Perpustakaan kelas menggunakan System.Web.Mail
publik bool Kirim465()
{
// Subjek Email
System.Web.Mail.PesanMail mmsg = new System.Web.Mail.PesanMail();
//Subjek Email
mmsg.Subjek = "Subjek";
mmsg.BodyFormat = System.Web.Mail.MailFormat.Html;
//teks email
mmsg.Body = "Teks";
//Pengodean teks
mmsg.BodyEncoding = Pengodean.UTF8;
//prioritas
mmsg.Prioritas = Sistem.Web.Mail.PrioritasMail.Normal;
//Alamat email pengirim
mmsg.Dari = Email;
//Alamat kotak masuk penerima
mmsg.Kepada = email;
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//nama belakang
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", Email);
//Kata Sandi (kode otorisasi)
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", Emailpwd);
//pelabuhan
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", Port);
//Apakah SSL
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl",true);
//Server smtp
System.Web.Mail.SmtpMail.SmtpServer = Tuan rumah;
mencoba
{
System.Web.Mail.SmtpMail.Kirim(mmsg);
kembali benar;
}
menangkap (Pengecualian ex)
{
kembali salah;
}
}