Ketika kami biasanya online, kami sering menggunakan pendaftaran situs web. Ada banyak metode, seperti mengirim pesan teks untuk memverifikasi dan mengirim pesan email. Baru -baru ini, di bawah kerangka kerja SSH, tautan aktivasi email sederhana dibuat ke kotak surat dan kemudian mengaktifkan fungsi mendaftarkan pengguna. MailServer yang saya gunakan adalah server surat yang mudah, yang mengacu pada paket javax.mail.jar. Seperti namanya, Javamail memberi pengembang antarmuka pemrograman yang terkait dengan pemrosesan email. Ini adalah API yang dirilis oleh Sun untuk menangani email. Ini dapat dengan mudah melakukan beberapa transfer surat yang umum digunakan.
【Kategori Umum Pendahuluan】
Berikut adalah beberapa kelas yang umum digunakan, izinkan saya memperkenalkannya kepada Anda:
【Authenticator】
Ini adalah kelas abstrak yang mengakses sumber daya yang dilindungi melalui nama pengguna dan kata sandi, yang merupakan server surat. Setelah pembuatan selesai, authenticator harus terdaftar dengan sesi. Kemudian, ketika otentikasi diperlukan, autentikator akan diberitahu.
【Pesan】
Ini adalah kelas abstrak untuk membuat pesan yang akan dikirim, seperti topik dan konten. Harus ada subkelas untuk mengimplementasikan metode ini.
【Sidang】
Kelas sesi mendefinisikan sesi surat dasar, yang merupakan kelas entri tingkat tertinggi dari Java Mail API. Semua kelas lain hanya efektif melalui sesi ini. Objek sesi menggunakan objek java.util.properties untuk mendapatkan informasi, seperti server surat, nama pengguna, kata sandi dan informasi lain yang dibagikan di seluruh aplikasi. Kelas sesi ini mewakili sesi surat di Javamail. Setiap aplikasi berbasis Javamail memiliki setidaknya satu sesi tetapi dapat memiliki sesi sebanyak mungkin.
Sesi sendmailsession;
sendmailSession = session.getInstance (alat peraga, null);
【Mengangkut】
Bagian terakhir dari pengiriman pesan adalah menggunakan kelas transportasi. Kelas ini mengirimkan pesan dalam bahasa yang ditentukan oleh protokol (biasanya SMTP). Ini adalah kelas abstrak, dan bekerja agak mirip dengan sesi. Dengan memanggil metode Send () statis, versi default kelas dapat digunakan: Transport.Send (pesan). Atau, pembaca bisa mendapatkan contoh spesifik dari sesi terhadap protokol mereka sendiri, lulus nama pengguna dan kata sandi (tidak jika tidak perlu), kirim pesan, dan kemudian tutup koneksi.
【Implementasi Kode】
Kelas Alat Surat:
paket cn.itcast.shop.utils; impor java.util.properties; impor javax.mail.authenticator; impor javax.mail.message; impor javax.mail.message.recipienttype; impor javax.mail.message.recipienttype; impor javax.mail.messagingException; impor javax.mail.passwordAuthentication; impor javax.mail.Session; impor javax.mail.transport; impor javax.mail.internet.addressException; impor javax.mail.internet.internetaddress; impor javax.mail.internet.mimemessage; / ** * Kelas Alat Pengirim Surat * @Author Zhouzhou * @Date 2016-1-1 * @Time 08:52:47 AM */ Kelas Publik Mailuitls {public static sendmail (string ke, kode string) {/ ** * 1. Get Sesi * 2. Buat kode Kode Objek Mail * 3. Kirim email transportasi */// ** props.setProperty ("mail.host", "localhost"); Session session = session.getDefaultInstance (props, new Authenticator () {@Override dilindungi passwordAuthentication getPasswordAuthentication () {// TODO Metode yang dihasilkan secara otomatis Stub Return NewswordAuthentication ("[email protected]", "111");}}); // 2. Buat pesan pengiriman pesan objek yang mengirim surat = mimemessage baru (sesi); // 3. Setel pengirim coba {message.setfrom (internetAddress baru ("[email protected]")); // Atur penerima pesan.addrecIpient (penerimaType.to, internetAddress baru (ke)); // judul pesan.setsubject ("Email Aktivasi Resmi dari Zhouzhou Mall"); pesan.setContent ("<H1> email aktivasi resmi mal AZZ! Klik tautan di bawah ini untuk menyelesaikan operasi aktivasi! </h1> <h3> <a href = 'http: //192.168.21.114: 8080/shop/user_active.action? code = "+Code+"'> http://192.168.21.114:8080/shop/user_active.action?code= "+" </a> </user_active.active.action ?code= "+" </a> </a> ", </user_active. "Teks/html; charset = utf-8"); // 3. Kirim email: transport.send (pesan); } Catch (AddressException E) {// TODO Auto-Enchyated Catch Block E.PrintStackTrace (); } catch (MessagingException E) {// TODO Auto-Enchoerated Catch Block E.PrintStackTrace (); }} public static void main (string [] args) {sendmail ("[email protected]", "kode aktivasi Anda adalah azz19931016"); }} Lapisan bisnis pengguna memanggil kelas ini saat mendaftar dan menggunakan metode SendMail.
paket cn.itcast.shop.user.service; impor org.springframework.transaction.annotation.transactional; impor cn.itcast.shop.user.dao.userdao; impor cn.itcast.shop.user.vo.user; impor cn.itcast.shop.utils.mailuitls; impor cn.itcast.shop.utils.uuidutils; // Lapisan Bisnis @Transactional Public Class UserService {// Menginstal Metode untuk Meminta Pengguna dengan Nama Pengguna Pengguna Private Userdao Userdao; public void setuserdao (userdao userdao) {this.userdao = userdao; } pengguna publik findByUserName (string username) {return userdao.findbyusername (nama pengguna); } // Lapisan Bisnis: Lengkap Pendaftaran Pengguna Void Public Simpan (Pengguna Pengguna) {// TODO METODE AUTO-Autoerated Stub // Simpan Data di database user.setState (0); // 1 telah diaktifkan, 0 belum diaktifkan kode string = uuidutils.getuuid ()+uuidutils.getuid ();; user.setCode (kode); userdao.save (pengguna); // Kirim email aktivasi; Mailuitls.sendmail (user.getemail (), kode); } // Lapisan Bisnis meminta pengguna berdasarkan kode aktivasi pengguna publik FindByCode (kode string) {return userdao.findbycode (kode); } // Metode untuk memodifikasi status pengguna void pembaruan (pengguna eksiste) {userdao.update (eksistuser); } // Metode untuk masuk login pengguna publik (pengguna pengguna) {return userdao.login (user); }}Akhirnya, efek ini tercapai:
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.