Artikel ini membagikan kode spesifik Java Web STMP yang mengirim email dengan lampiran untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Kelas Publik MailFilesEndutils {Private Properties Props; // System Property Private Sesi Sesi; // Obyek Sesi Mail Private Mimemessage Mimemsg; // mime mail objek pribadi multipart mp; // Objek multipart, konten email, judul, lampiran, dan konten lainnya semuanya ditambahkan ke dalamnya dan kemudian objek MimeMessage dihasilkan/** * Konstruktor * @param */mailfilesEndutils publik () {props = system.getProperties (); props.put ("mail.smtp.auth", "false"); session = session.getDefaultInstance (props, null); session.setDebug (true); mimemsg = mimemessage baru (sesi); MP = mimemultipart baru (); } /** * konstruktor * @param smtp mail sendutils (string smtp, string username, string password) {props = System.getProperties (); props.put ("mail.smtp.auth", "true"); props.put ("mail.smtp.host", smtp); props.put ("nama pengguna", nama pengguna); props.put ("kata sandi", kata sandi); session = session.getDefaultInstance (props, null); session.setDebug (true); mimemsg = mimemessage baru (sesi); MP = mimemultipart baru (); } /*** Kirim email* /public boolean sendmail (string from, string [] ke, subjek string, konten string, string fileName) {coba {// atur pengirim mimemsg.setfrom (new internetAddress (from)); // Atur penerima untuk (int i = 0; i <to.length; i ++) {mimemsg.setrecipients (message.recipienttype.to, internetAddress.parse (ke [i])); } // atur cc // untuk (int i = 0; i <copyto.length; i ++) {// mimemsg.setrecipients (message.recipienttype.cc, internetAddress.parse (copyto [i])); //} // atur topik mimemsg.setsubject (subjek); // atur teks bodypart bp = mimebodypart baru (); bp.setContent (konten, "teks/html; charset = utf-8"); mp.addbodypart (bp); // atur lampiran bp = mimebodypart baru (); FileDataSource file = new FileDataSource (fileName); BP.SetDataHandler (DataHandler baru (Fileds)); bp.setFileName (mimeutility.encodetext (fileds.getname (), "utf-8", "b")); mp.addbodypart (bp); mimemsg.setContent (MP); mimemsg.savechanges (); // Kirim email if (props.get ("mail.smtp.auth"). Equals ("true")) {transport transport = session.getTransport ("smtp"); transport.connect ((string) props.get ("mail.smtp.host"), (string) props.get ("nama pengguna"), (string) props.get ("kata sandi")); transport.sendMessage (mimemsg, mimemsg.getrecipients (message.recipienttype.to)); // transport.sendmessage (mimemsg, mimemsg.getrecipients (message.recipienttype.cc)); transport.close (); } else {transport.send (mimemsg); } System.out.println ("Mail Sage berhasil"); } catch (MessagingException E) {// TODO Auto-Enchoerated Catch Block E.PrintStackTrace (); } catch (UnsupportedEncodingException e) {// TODO Auto-Enchenerated Catch Block E.PrintStackTrace (); } return true; } // public void tosendmail (sendmailparam sendmailparam) {// mailfilesEndutils email = mailfilesEndutils baru (sendmailparam.getsmtp (), sendmailparam.getusername (), sendmailparam.getpassword ()); // email.sendmailmail (), sendmailparam.getpassword ()); // email.sendmailmail (), sendmailparam.getpassword ()); // email.sendmailm (), sendMailparam.getPassword ()); // email.sendmailm (), sendMailparam.getpassword ()); // email.sendmailm (), sendmailparam.getpassword ()); // email sendmailparam.getto (), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); //} public static void Main (string [] args) {string smtp = "smtp.exmail.qq.com"; String username = "Kirim akun email"; String password = "Kirim Kata Sandi Email"; String dari = "Kirim Email"; String [] ke = {"Alamat email untuk menerima email"}; // string [] copyTo = {"Alamat email CCC"}; Subjek String = "Subjek 6"; Konten String = "Konten Mail 6"; String filename = "file terlampir"; EmailfilesEndutils email = mailfilesEndutils baru (smtp, nama pengguna, kata sandi); // email.sendmail (dari, ke, copyto, subjek, konten, nama file); email.sendmail (dari, ke, subjek, konten, nama file); }}(Lampiran: Versi SSL)
Kelas Publik MailFilesEndutils {Private Properties Props; // System Property Private Sesi Sesi; // Obyek Sesi Mail Private Mimemessage Mimemsg; // mime mail objek pribadi multipart mp; // Objek multipart, konten email, judul, lampiran, dan konten lainnya semuanya ditambahkan ke dalamnya dan kemudian objek MimeMessage dihasilkan/** * Konstruktor * @param */mailfilesEndutils publik () {props = system.getProperties (); props.put ("mail.smtp.auth", "false"); session = session.getDefaultInstance (props, null); session.setDebug (true); mimemsg = mimemessage baru (sesi); MP = mimemultipart baru (); } /** * Konstruktor * @param SMTP Mail Sendutils (String SMTP, String Username, String Password) {Security.AddProvider (com.sun.net.ssl.internal.ssl.provider ()); string akhir ssl_factory = "javax.net.ssl.sslsocketfactory"; props = system.getProperties (); Mailsslsocketfactory sf = null; coba {sf = mailsslsocketFactory (); } catch (GeneralSecurityException e) {} sf.setTrustAllHosts (true); props.put ("mail.smtp.auth", "true"); props.put ("mail.smtp.host", smtp); props.put ("mail.smtp.socketfactory.class", ssl_factory); props.put ("mail.smtp.socketfactory.fallback", "false"); props.put ("mail.smtp.ssl.enable", "true"); props.put ("mail.smtp.port", "465"); props.put ("mail.smtp.ssl.socketfactory", sf); // props.put ("nama pengguna", nama pengguna); // props.put ("kata sandi", kata sandi); session = session.getInstance (props, new Authenticator () {@Override dilindungi passwordAuthentication getPasswordAuthentication () {return new passwordAuthentication (username, password);}}); session.setDebug (true); mimemsg = mimemessage baru (sesi); MP = mimemultipart baru (); } /*** Kirim email* /public boolean sendmail (string from, string [] ke, subjek string, konten string, string fileName) {coba {// atur pengirim mimemsg.setfrom (new internetAddress (from)); // Atur penerima untuk (int i = 0; i <to.length; i ++) {mimemsg.setrecipients (message.recipienttype.to, internetAddress.parse (ke [i])); } // atur cc // untuk (int i = 0; i <copyto.length; i ++) {// mimemsg.setrecipients (message.recipienttype.cc, internetAddress.parse (copyto [i])); //} // atur topik mimemsg.setsubject (subjek); // atur teks bodypart bp = mimebodypart baru (); bp.setContent (konten, "teks/html; charset = utf-8"); mp.addbodypart (bp); // atur lampiran bp = mimebodypart baru (); FileDataSource file = new FileDataSource (fileName); BP.SetDataHandler (DataHandler baru (Fileds)); bp.setFileName (mimeutility.encodetext (fileds.getname (), "utf-8", "b")); mp.addbodypart (bp); mimemsg.setContent (MP); mimemsg.savechanges (); // Kirim email if (props.get ("mail.smtp.auth"). Sama ("true")) {transport transport = session.gettransport ("smtp"); transport.connect ((string) props.get ("mail.smtp.host"), (string) props.get ("nama pengguna"), (string) props.get ("kata sandi")); transport.sendMessage (mimemsg, mimemsg.getrecipients (message.recipienttype.to)); // transport.sendMessage (mimemsg, mimemsg.getrecipients (message.recipienttype.cc)); transport.close (); } else {transport.send (mimemsg); } System.out.println ("surat berhasil dikirim"); } catch (MessagingException e) {E.PrintStackTrace (); } catch (UnsupportedEncodingException e) {e.printstacktrace (); } return true; } public boolean tosendmail (sendmailparam sendmailparam) {mailfilesEndutils email = new MailFileSendutils (sendmailparam.getsmtp (), sendmailparam.getusername (), sendmailparam.getpassword ()); email.sendmail (sendmailparam.getFrom (), sendmailparam.getto (), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); Kembali Benar; } // public static void main (string [] args) {// string smtp = "smtp.mxhichina.com"; // string username = "emailBox"; // string kata sandi = "email kata sandi"; // string dari = "siapa yang akan mengirim"; // string [] ke = {"kirim kepada siapa"};//string [] [] {"cope" {"kirimkan kepada siapa"};//string [] [] {"cope" {"cope" {"Kirim kepada siapa"}; // "huawei";// String content = "email content 6666";// String filename = "gdt-3583118353-ad-20170823.xls";// MailFileSendUtils email = new MailFileSendUtils(smtp, username, password);//// email.sendMail(from, to, copyto, subject, content, filename);// email.sendmail (dari, ke, subjek, konten, nama file); //}} Dalam proyek ini, saya mengomentari metode utama dan kemudian menggunakan Tosendmail (SendMailparam Sendmailparam).
Sendmailparam yang ditentukan di sini adalah:
kelas publik sendmailparam {private string smtp; nama pengguna string pribadi; kata sandi string pribadi; string pribadi dari; // pengirim string pribadi [] ke; // penerima // string [] copyright = {"[email protected]"}; Private String Subjek; // Email Subjek Konten String Pribadi; // Email Konten Private String FilePath; // Path Untuk Mendapatkan File Publik SendMailParam () {this.smtp = "smtp.exmail.qq.com"; // Contoh this.userName = "akun email"; this.password = "email kata sandi"; this.from = "email"; this.subject = ""; this.content = ""; this.filePath = ""; } public String getSmtp () {return smtp; } public void setSMTP (string smtp) {this.smtp = smtp; } public string 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 String getFrom () {return from; } public void setfrom (string from) {this.from = from; } public string [] getTo () {kembali ke; } public void setto (string [] to) {this.to = to; } string publik 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 getFilePath () {return filepath; } public void setFilePath (string filePath) {this.filePath = filepath; }}Paket Ketergantungan Maven
<dependency> <GroupId> javax.mail </groupid> <ArTifactId> mail </t ArtifactId> <version> 1.4.7 </version> </dependency>
Paket Ketergantungan Gradle
kompilasi "javax.mail: mail: 1.4.7"
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.