Email dalam kehidupan sehari -hari. Artikel ini terutama memperkenalkan metode Java untuk mengirim email berdasarkan SMTP. Ini menganalisis keterampilan yang relevan dari email pengiriman Java berdasarkan layanan SMTP. Ini memiliki nilai referensi tertentu. Teman yang membutuhkannya bisa merujuknya.
1. Tulis kelas MailSendProper untuk merangkum properti yang diperlukan
impor java.util.properties; kelas publik mailsendProper {private string host; // port string pribadi IP dari server surat pengiriman; // nomor port dari server surat pengiriman sendaddress server surat; // Alamat Pengirim Surat Private String ReceiveAddress; // MAIL ALAMAT Penerima Private String nama pengguna; // Masuk ke mengirim nama pengguna kotak surat; // Masuk ke mengirim kata sandi kotak surat pribadi boolean isValidate = true; // apakah otentikasi diperlukan subjek string pribadi; // Judul Email Konten String Pribadi; // email konten public string getSubject () {return subjek; } public void setSubject (string subjek) {this.subject = subjek; } public String getContent () {return content; } public void setContent (string content) {this.content = content; } public String getHost () {return host; } public void setHost (host string) {host = host; } public string getport () {return port; } public void setport (port string) {port = port; } public String getSendAddress () {return sendAddress; } public void setSendAddress (String sendAddress) {sendAddress = sendAddress; } public String getReceiveAddress () {return reciVeAddress; } public void setReceIveAddress (String reciVeAddress) {receiveAddress = receiveAddress; } string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; } public boolean isisvalidate () {return isValidate; } public void setisValidate (boolean isValidate) {this.isValidate = isValidate; } properti publik getProperties () {properties properties = properti baru (); properties.put ("mail.smtp.host", this.host); properties.put ("mail.smtp.port", this.port); properties.put ("mail.smtp.auth", isValidate? "true": "false"); properti mengembalikan; }}2. Tuliskan email email untuk merangkum informasi pengiriman
kelas publik emailMessage {private string title; konteks string pribadi; Tanggal string pribadi; Public EmailMessage () {super (); } public emailMessage (judul string, konteks string, string toemail) {super (); this.title = judul; this.context = konteks; this.toemail = toemail; } public String getTitle () {return title; } public void setTitle (string title) {this.title = title; } public string getContext () {return context; } public void setContext (string context) {this.context = context; } public string getToeMail () {return toemail; } public void settoemail (string toemail) {this.toemail = toemail; }}3. Tulis kelas Verifier Kata Sandi Email Mailattorney
Impor javax.mail.authenticator; import javax.mail.passwordAuthentication; kelas publik Mailattorney memperluas authenticator {private string username; kata sandi string pribadi; public mailattorney (nama pengguna string, kata sandi string) {this.username = username; this.password = kata sandi; } // override lindung passwordAuthentication getPasswordAuthentication () {return new passwardAuthentication (nama pengguna, kata sandi); }}4. Tulis kelas alat surat Mailsend
Impor java.util.date; impor javax.mail.address; impor javax.mail.message; impor javax.mail.Session; impor javax.mail.transport; public -navax. {public static boolean mailTest (mailsendProper mailsender) {Mailattorney pengacara = null; if (mailsender.isisValidate ()) {// Tentukan apakah otentikasi identitas diperlukan pengacara = new Mailattorney (mailsender.getusername (), mailsender.getPassword ())); } // Bangun sesi viewion sesi untuk mengirim kotak surat berdasarkan atribut sesi kotak surat dan validator kata sandi. Session session = session.getInstance (mailsender.getProperties (), pengacara); // Buat pesan email berdasarkan pesan sesi mailmessage = mimemessage baru (sesi); coba {// Buat alamat pengirim alamat kotak surat dari = new internetAddress (mailsender.getSendAddress ()); // atur pengirim pesan surat mailMessage.setFrom (dari); // Buat alamat untuk menerima ini dari pesan surat dan atur ke alamat pesan email ke = new internetAddress (mailsender.getReceiveAddress ()); mailmessage.setrecipient (message.recipienttype.to, to); mailmessage.setsubject (mailsender.getsubject ()); // atur judul surat mailmessage.setsentDate (tanggal baru ()); // Atur pengiriman waktu pengiriman MailMessage.setText (mailsender.getContent ()); // atur transport konten mail.send (mailmessage); Kembali Benar; } catch (Exception e) {E.PrintStackTrace (); mengembalikan false; }} public static boolean sendeMail (emailMessage pesan) {mailSendProper mail = new MailSendProper (); mail.sethost ("smtp.126.com"); // Protokol transmisi surat sederhana SMTP, nomor port default adalah 25, mail.setport ("25"); mail.setisValidate (true); // memerlukan otentikasi mail.setusername (""); // Atur login username mail.setPassword (""); // atur kata sandi pengirim mail.setsendaddress (""); // Atur alamat pengiriman pengirim ini dan nama pengguna login adalah surat yang sama. // atur alamat penerima mail.setsubject (message.gettitle ()); // atur Mailbox Title Mail.setContent (message.getContext ()); // atur konten MailTest Return Kotak Surat (Mail); }}Catatan: Alamat email yang digunakan harus diaktifkan untuk layanan POP3/SMTP untuk dikirim dengan sukses. Alamat email dan alamat email yang berbeda memiliki protokol transmisi yang berbeda, seperti:
QQ Email: Protokol transmisi SMTP adalah smtp.qq.com port 25
Protokol transmisi POP3 adalah POP3.QQ.com Port 110
5. Tes Metode Gunakan
public static void main (string [] args) {emailMessage message = new emailMessage (); Kode String = String.ValueOf (Math.Random ()). Substring (3, 9); // menghasilkan pesan kode verifikasi.settitle ("Verifikasi Email"); // email judul pesan.setContext ("Halo, pengguna yang terhormat, kode verifikasi Anda adalah"+kode+"."); // email konten pesan.settoemail ("[email protected]"); // Siapa yang akan dikirim ke System.out.println (mailsend.sendemail (pesan)? "SendSuccess": "Sendfailed");}Saya harap artikel ini akan membantu semua orang untuk mempelajari pemrograman Java.