Kirim email melalui Javamail untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Catatan: Beberapa port di server tidak terbuka dan perlu membuka port. Beberapa alamat email perlu mengaktifkan layanan otorisasi yang sesuai.
1. Ketergantungan:
<!-https://mvnrepository.com/artifact/javax.mail/javax.mail-api-> <dependency> <groupid> javax.mail </groupid> <Artifactid> </artifactid> <version> 1.4.5 </versi </versi </dependensi> </Artifactid> > javax.mail </artifactid> </dependency>
2. Buat kelas entitas baru untuk menyimpan informasi
impor java.util.properties; Public Class MailSenderInfo {// IP (atau alamat host) dari server yang mengirim surat pribadi MailserverHost; // port server yang mengirim mail private string mailserverport; // Alamat Email Pengirim String Pribadi dari ADDRESS; // alamat email penerima string pribadi toaddress; // Nama pengguna dari email login mengirimkan nama pengguna String Private String; // Kata sandi login email pengiriman server pribadi kata sandi string; // apakah otentikasi diperlukan validasi boolean pribadi = true; // Subjek email subjek string pribadi; // Konten teks dari konten string pribadi Mail; // Nama file dari string privat lampiran surat [] lampiranFileNames; properti publik getProperties () {properties p = properti baru (); p.put ("mail.smtp.host", this.mailserverhost); p.put ("mail.smtp.port", this.mailserverport); // Tetapkan apakah akan memverifikasi dengan aman, standarnya salah, dan diatur ke true secara umum p.put ("mail.smtp.auth", "true"); p.put ("mail.smtp.starttls.enable", "true"); p.put ("mail.smtp.enablessl.enable", "true"); mengembalikan P; } public String getMailServerHost () {return mailServerhost; } public void setMailServerHost (String MailServerHost) {this.mailserverhost = mailServerHost; } public String getMailServerport () {return mailServerport; } public void setMailServerport (String mailServerport) {this.mailserverport = mailserverport; } public boolean isValidate () {return validate; } public void setValidate (boolean validate) {this.validate = validate; } public string [] getattachfileNames () {return lampiranFileNames; } public void setattachFileNames (string [] fileNames) {this.attachfileNames = fileNames; } public string getFromAddress () {return fromAddress; } public void setfromAddress (String fromAddress) {this.fromAddress = fromAddress; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; } public String getToadDress () {return toAddress; } public void setoaddress (String toAddress) {this.toaddress = toAddress; } string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } string publik getSubject () {return subjek; } public void setSubject (string subjek) {this.subject = subjek; } public String getContent () {return content; } public void setContent (String TextContent) {this.content = TextContent; }}3. Buat validator
impor javax.mail.authenticator; impor javax.mail.passwordAuthentication; / *** Mail Nama Pengguna dan Kata Sandi Authenticator*/ kelas publik myAuthenticator memperluas authenticator {string username = null; String password = null; public myAuthenticator () {} public myAuthenticator (string username, string password) {this.userName = username; this.password = kata sandi; } lindung kata sandi yang dilindungi getPasswordAuthentication () {return new passwardAuthentication (nama pengguna, kata sandi); }} 4. Tetapkan nilai ke kelas entitas di panggilan
email void pribadi (sesi httpsession, email string) {// atur informasi server mail mailsenderinfo mailinfo = new MailSenderInfo (); mailinfo.setmailserverhost ("smtp-mail.outlook.com"); // IP (atau alamat host) dari server yang mengirim mailinfo.setMailServerport ("587"); // Beberapa port tidak terbuka di server. Di sini Anda perlu memperhatikan mailinfo.setValidate (true); // Email nama pengguna (ditetapkan sesuai dengan situasi Anda sendiri) di sini Anda bisa mendapatkan beberapa email lagi untuk menghindari akun email yang membutuhkan verifikasi atau diperlakukan sebagai larangan surat spam. A gagal menggunakan B MailInfo.setusername ("Isi email yang sesuai dengan server email di atas"); // Email Kata Sandi (Ditetapkan sesuai dengan situasi Anda sendiri) MailInfo.SetPassword ("Ini Kata Sandi Anda"); // email pengirim (ditetapkan sesuai dengan situasi Anda sendiri. Jika Anda tidak mengatur email secara khusus, itu harus sama dengan nama pengguna email) mailinfo.setFromAddress ("Ini sama dengan yang di atas"); // email penerima (ditetapkan sesuai dengan situasi Anda sendiri) mailinfo.settoaddress (email); // Judul Email MailInfo.setsubject ("I Am The Title"); // email konten mailinfo.setContent ("Saya konten, konten serius bukan spam"); // Kirim Email SimpleMailSender SMS = new SimpleMailSender (); // Kirim format teks sms.sendTextMail (mailInfo); } 5. Ini adalah pengiriman email yang sebenarnya
Public Class SimpleMailsender {public boolean sendtextmail (mailsenderInfo mailInfo) {// Tentukan apakah otentikasi identitas diperlukan myauthenticator authenticator = null; Properties Pro = MailInfo.getProperties (); if (mailInfo.isValidate ()) {// Jika diperlukan otentikasi identitas, buat authenticator authenticator kata sandi = myAuthenticator baru (mailInfo.getusername (), mailInfo.getPassword ()); } // Bangun sesi sesi untuk mengirim surat berdasarkan properti sesi email dan kata sandi authenticator sendMailSession = session.getDefaultInstance (Pro, authenticator); Coba {// Buat pesan email berdasarkan pesan sesi mailMessage = mimemessage baru (sendmailSession); // Buat pengirim alamat pesan email dari = InternetAddress baru (mailInfo.getFromAddress ()); // atur pengirim pesan surat mailmessage.setFrom (dari); // Buat alamat penerima pesan email dan atur ke alamat pesan email ke = InternetAddress baru (mailInfo.gettoaddress ()); mailmessage.setrecipient (message.recipienttype.to, to); // Atur subjek pesan surat mailmessage.setsubject (mailinfo.getsubject ()); // atur waktu untuk mengirim pesan surat mailmessage.setsentDate (tanggal baru ()); // Atur konten utama dari string pesan email mailcontent = mailinfo.getContent (); mailmessage.setText (mailcontent); mailmessage.savechanges (); // Kirim MailTransport.Send (MailMessage); Kembali Benar; } catch (MessagingException ex) {ex.PrintStackTrace (); } return false; }}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.