Ketika pengguna telah membeli produk, kami harus mengirim email kepada pengguna untuk memberi tahu dia bahwa pesanan telah dihasilkan dan alamat email diperoleh dari informasi dasar pengguna. Oke, mari kita lihat metode pengiriman email di Java.
1. Metode untuk mengirim email di java
Sebelum memperbaiki proyek ini, mari kita tinjau terlebih dahulu bagaimana email dikirim di Java. Pertama -tama, Anda harus mengirim email: mail.jar, impor ke direktori lib. Oke, mari kita tulis program Java biasa untuk meninjau poin pengetahuan email Java:
Public Class SendeMailDemo {public static void main (string [] args) melempar Exception {// 1. Masuk ke klien email (buat sesi sesi) properti prop = properti baru (); prop.setProperty ("mail.transport.protocol", "smtp"); // Buat sesi sesi sesi sesi sesi = session.getDefaultInstance (prop); // atur mode debug untuk debug kirim pesan sesi.setDebug (true); // Buat pesan pesan objek email = mimemessage baru (sesi); // Tulis surat pesan.setsubject ("Selamat datang di beranda blog CSDN saya!"); // Teks konten pesan.setContent ("Selamat datang di beranda blog CSDN saya: http://blog.csdn.net/eson_15" + ", momoda ~", "teks/html; charset = utf-8"); // alamat alamat attacher.setfrom (internetAddress baru ("[email protected]")); Transport transport = session.getTransport (); // informasi sertifikasi dari tautan server transport.connect ("smtp.163.com", "nishengwus", "xxxxx kata sandi"); // Tetapkan alamat penerima dan kirim email transport.sendMessage (pesan, internetAddress baru [] {new internetAddress ("[email protected]")}); transport.close (); }}Di atas adalah proses mengirim email di java: Buat sesi> Encapsulate Informasi Email> Setel Alamat Pengirim> Setel Alamat Penerima> Kirim.
2. Encapsulate Fungsi pengiriman surat
Setelah meninjau metode mengirim email oleh Java, kami merangkum proses ini ke dalam kelas alat, membuat kelas implementasi EmailutilImpl baru, dan mengekstraknya ke antarmuka emailutil setelah selesai, sebagai berikut:
// Antarmuka Publik Antarmuka Antarmuka Public Extracted Excherted Emailutil {public abstrak void sendeMail (string emailAddress, string id);} // emailutilImpl kelas implementasi @component ("emailutil") kelas publik @override public. klien (buat sesi sesi) properti prop = properti baru (); Sesi sesi = null; Pesan pesan = null; Transportasi transportasi = nol; coba {prop.setProperty ("mail.transport.protocol", "smtp"); // buat session session = session.getDefaultInstance (prop); // atur mode debug untuk debug kirim pesan sesi.setDebug (true); // Buat pesan objek email = mimemessage baru (sesi); // tulis surat pesan.setsubject ("Umpan Balik Pesanan Mal Online"); // teks konten pesan.setContent ("Halo pelanggan, selamat datang untuk mengunjungi mal online, pesanan" + id + "berhasil dibayar!", "Teks/html; charset = utf-8"); // lampiran alamat pesan.setFrom (new internetAddress ("[email protected]")); transport = session.getTransport (); // informasi otentikasi dari tautan server transport.connect ("smtp.sina.com", "soft03_test", "soft03_test"); // Atur alamat penerima dan kirim Transport Email. } catch (Exception e) {E.PrintStackTrace (); Lempar RuntimeException baru (E); } akhirnya {coba {transport.close (); } catch (MessagingException e) {E.PrintStackTrace (); Lempar RuntimeException baru (E); }}}3. Tingkatkan Payaction
Lengkapi enkapsulasi kelas alat. Selanjutnya, kami memasukkan kelas alat ke dalam basa dan menyuntikkannya melalui anotasi @Resource untuk digunakan dengan tindakan. Di bawah ini kami akan meningkatkan metode backbank () dalam pembayaran sebelumnya, sebagai berikut:
@Controller ("PayAction")@scope ("prototipe") Payaction kelas publik memperluas basa <POMPERTIF> mengimplementasikan ParameterAware {// menghilangkan kode yang tidak relevan ... Model public void () {backdata backData = (backdata) model; System.out.println (model); boolean isok = payservice.checkbackData (backdata); if (isok) {// 1. Perbarui status pesanan, parameter ditransmisikan dengan sendirinya sesuai dengan situasi dalam database, dan digunakan untuk menguji forderservice.updatestatusbyId (integer.valueof (201605006), 2); // 2. Kirim Email Menurut Alamat Email Pengguna String EmailAddress = backdata.getr8_mp (). Split (",") [0]; emailutil.sendemail (emailAddress, backdata.getr6_order ()); // 3. Kirim Pesan Teks Ponsel, blog berikutnya memperkenalkan fungsi pengiriman pesan teks System.out.println ("--- Sukses !! ----"); } else {system.out.println ("---- false !!! -----"); }}} Dalam informasi yang dikembalikan dari YIBAO, parameter R6_order menyimpan nomor pesanan, dan parameter R8_MP adalah email dan nomor telepon pengguna. Yang pertama adalah alamat email dan yang kedua adalah nomor telepon, dipisahkan oleh koma, jadi pertama -tama kami harus mendapatkan alamat email pengguna dan kemudian mengirim email. OK, fungsi mengirim email ke pengguna setelah pembayaran selesai selesai.
Tautan asli: http://blog.csdn.net/eson_15/article/details/51475046
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.