-
menggunakan Sistem.Web.Mail;
private void Button1_Click(pengirim objek, System.EventArgs e)
{
//Instansiasi objek MailMessage
System.Web.Mail.MailMessage mail=sistem baru.Web.Mail.MailMessage();
//Tentukan alamat pengiriman email. Anda dapat mengisi alamat yang tidak ada sesuka hati
mail.From=" [email protected] ";
//Tentukan alamat penerima email
//Tetapkan daftar alamat email penerima yang dipisahkan titik koma
mail.To=" [email protected] ";
//Tentukan alamat BCC email
//Tetapkan daftar alamat email yang dipisahkan titik koma
//mail.Bcc=" [email protected] ";
//Tentukan alamat salinan email
//Tetapkan daftar alamat email yang dipisahkan titik koma
//mail.Cc=" [email protected];[email protected]
//Tentukan subjek email
mail.Subject="uji email widebright asp.net pembelajaran mengirim email";
//Setel tipe konten badan email
//Disini kami kirimkan dalam format HTML
mail.BodyFormat=Sistem.Web.Mail.MailFormat.Html;
//Setel isi email
mail.Body="Uji dan lihat apakah berhasil";
//String yang diapit @ dimulai dengan @ dan juga diapit tanda kutip ganda. Misalnya:
//Keuntungan mengutip @ adalah urutan escape tidak diproses, sehingga Anda dapat dengan mudah menulis string, seperti nama file yang sepenuhnya memenuhi syarat:
//@"c:DocsSourcea.txt " // daripada "c:\Docs\Source\a.txt"
//Untuk memasukkan tanda kutip ganda dalam string @-quoted, gunakan dua pasang tanda kutip ganda:
// @"""Ahoy!"" teriak sang kapten." // "Ahoy!" teriak sang kapten.
// Penggunaan lain dari simbol @ adalah dengan pengenal referensi (/referensi) yang merupakan kata kunci C#.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//Setel lampiran
System.Web.Mail.MailAttachment mailAttachment=baru System.Web.Mail.MailAttachment(@" F:dddddd.txt");
//Lampirkan lampiran ke email
mail.Lampiran.Tambahkan(mailAttachment);
//Lanjutkan menambahkan beberapa lampiran di sini
mailAttachment=Sistem baru.Web.Mail.MailAttachment(@"F:asp_net Kirim Kode Email_Baidu Know.mht");
mail.Lampiran.Tambahkan(mailAttachment);
//Server SMTP, karena sudah diatur di mesin ini, jadi tulis 127.0.0.1 Jika Anda terhubung ke server lain, seperti kotak surat 163, tulis smpt.163.com
Sistem.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
//Dikatakan bahwa banyak server SMTP memerlukan otentikasi untuk mencegah spam. Tampaknya ini disebut protokol smt yang diperluas atau semacamnya.
//Tetapi yang terhubung disini adalah server smptnya sendiri, smpt sederhana, jadi tidak ada verifikasi.
// Mengenai apakah verifikasi diperlukan saat mengirim email dari server SMPT lokal ke 163 atau kotak surat lainnya, saya tidak tahu. Selama pengujian sebenarnya, email dapat dikirim ke
//@163.com , @eyou.com, @x.cn, tidak diperlukan verifikasi.
//memeriksa
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Nama masuk
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//Kata sandi masuk
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//mengirim
Sistem.Web.Mail.SmtpMail.Kirim(mail);
}
Kode di atas menggunakan kelas System.Web.Mail.SmtpMail yang disediakan di .Net untuk mengirim email dan terhubung secara otomatis
Server SMPT untuk mengirim email. Beberapa orang menggunakan kelas atau soket TCP untuk menulis kode guna mengimplementasikan protokol smpt, tetapi hal itu memerlukan banyak pengkodean, protokol, dll., yang cukup merepotkan. Saya telah melakukannya sebelum menggunakan VB. Protokol smptnya relatif sederhana, tetapi pengkodean lampiran tersebut memerlukan banyak kode.
Ini hanyalah kode untuk mengirim pesan SMTP. Jika Anda ingin menerima pesan dan menunggu, Anda harus memiliki server pop3 yang mendukung protokol pop3.
Server smtp sudah terinstal setelah IIS terinstal. Pop3 tidak disertakan, jadi mungkin sedikit lebih merepotkan untuk menginstalnya.
Konfigurasi server SMTP
Saya mengaktifkannya sendiri setelah menginstal IIS 5.1. Saya baru saja mengkonfigurasinya di Manajer Layanan Informasi IIS.
1. Tambahkan beberapa nama domain di Domains: klik kanan Domains di "Default SMTP Virtual Server"
Pilih "Baru" untuk membuat yang baru, ---> Tipe Domain dan pilih "Remote".
Nama domain diisi 163.com eyou.com x.cn masing-masing, karena saya ingin mengirim email ke server tersebut, dan sama seperti pada kode diatas
===============
mail.To=" [email protected] ";
===============
Sejalan dengan itu, kepada siapa Anda ingin mengirim email, Anda harus mengatur nama domain yang sesuai. Jika Anda tidak mengaturnya, email tidak dapat dikirim.
2. Klik kanan pada nama domain seperti 163.com, pilih "Properti", dan centang "Izinkan email masuk untuk diteruskan ke domain ini". Email hanya dapat dikirim setelah diperiksa, jika tidak maka akan tetap ada kesalahan .
Untuk Route domain di bawah ini, pilih saja yang default Use DNS to routing to domain.
Kuncinya adalah mengatur nama domain server SMTP yang sesuai di IIS, dan kemudian Anda dapat mengirim email. Saya menguji beberapa kotak surat di halaman asp.net dan dapat dikirim secara normal. Seperti kotak surat 163, klik tombol untuk mengirim, dan Anda akan menerimanya.
Baru tahu Anda bisa menambahkannya
*.com
*.bersih
*cn
Nama domain cocok dengan sebagian besar alamat email.
Jika Anda menambahkan nama domain *.com, Anda dapat mengirim surat ke @163.com dan @eyou.com
Tes lulus di bawah lingkungan windows xp+visual sutdio 2003+iis5.1.
Namun, saya hanya menemukan bahwa surat yang dikirim ke kotak surat Sina tidak diterima, dan saya tidak tahu alasannya.
Kesalahan khas SMTP 550 5 7 1 Terjadi relai
Selain nama domain domain yang tidak disetel dengan benar, mungkin ada
Kotak centang "izinkan komputer yang berhasil diautentikasi untuk menyampaikan" tidak dipilih dalam pengaturan server virtual SMTP. Seperti yang ditunjukkan di bawah ini,
Pertama buka halaman Akses halaman properti SMTP Virtual Server:
Kemudian klik tombol "Relai" dan lihat apakah "Izinkan semua komputer yang berhasil diautentikasi untuk menyampaikan, terlepas dari daftar di atas" dipilih: