تشارك هذه المقالة رمز Java Web STMP المحدد لإرسال رسائل البريد الإلكتروني مع مرفقات للرجوع إليها. المحتوى المحدد كما يلي
الطبقة العامة mailfileSendUtils {Private Properties Props ؛ // جلسة الجلسة الخاصة Property System ؛ // كائن جلسة البريد الخاصة mimemessage mimemsg ؛ // mime mail object private multipart mp ؛ // كائن multipart ، محتوى البريد الإلكتروني ، العنوان ، المرفق والمحتوى الآخر يتم إضافة جميعه ، ثم يتم إنشاء كائن mimeMessage/** * param * param */public mailfilesendutils () {props = system.getProperties () ؛ props.put ("mail.smtp.auth" ، "false") ؛ الجلسة = session.getDefaultInstance (الدعائم ، فارغة) ؛ session.setDebug (true) ؛ mimemsg = new mimemessage (جلسة) ؛ mp = new mimemultipart () ؛ } /** * constructor * param smtp mail sendUtils (String smtp ، user username ، string password) {props = system.getProperties () ؛ props.put ("mail.smtp.auth" ، "true") ؛ props.put ("mail.smtp.host" ، smtp) ؛ props.put ("اسم المستخدم" ، اسم المستخدم) ؛ props.put ("كلمة المرور" ، كلمة المرور) ؛ الجلسة = session.getDefaultInstance (الدعائم ، فارغة) ؛ session.setDebug (true) ؛ mimemsg = new mimemessage (جلسة) ؛ mp = new mimemultipart () ؛ } /*** أرسل البريد الإلكتروني* /public boolean sendmail (سلسلة من ، سلسلة [] إلى ، موضوع السلسلة ، محتوى السلسلة ، اسم ملف السلسلة) {try {// اضبط المرسل mimemsg.setfrom (new InternetAddress (من)) ؛ // قم بتعيين المستلم لـ (int i = 0 ؛ i <to.length ؛ i ++) {mimemsg.setRecipients (message.RecipientType.to ، InternetAddress.Parse (to [i])) ؛ } // set cc // for (int i = 0 ؛ i <copyto.length ؛ i ++) {// mimemsg.setRecipients (message.RecipientType.cc ، InternetAddress.parse (copyto [i])) ؛ //} // قم بتعيين الموضوع mimemsg.setsubject (الموضوع) ؛ // قم بتعيين النص bodypart bp = new mimebodypart () ؛ BP.SetContent (المحتوى ، "Text/Html ؛ charset = utf-8") ؛ mp.addbodypart (BP) ؛ // تعيين مرفق bp = جديد mimebodypart () ؛ ملفات FileDataSource = FileDataSource جديد (اسم الملف) ؛ BP.SetDatahandler (New Datahandler (Fileds)) ؛ bp.setFilename (mimeutility.encodetext (fileds.getName () ، "utf-8" ، "b")) ؛ mp.addbodypart (BP) ؛ mimemsg.setContent (MP) ؛ mimemsg.savechanges () ؛ // إرسال بريد إلكتروني if (props.get ("mail.smtp.auth"). يساوي ("true")) {transport transport = session.getTransport ("smtp") ؛ Transport.connect ((String) props.get ("mail.smtp.host") ، (string) props.get ("username") ، (string) props.get ("password")) ؛ Transport.SendMessage (mimemsg ، mimemsg.getRecipients (message.RecipientType.to)) ؛ transport.close () ؛ } آخر {transpor.send (mimemsg) ؛ } system.out.println ("Mail Serving Barch") ؛ } catch (messagingException e) {// todo catch catch e.printstacktrace () ؛ } catch (UnsupportedEncodingException e) {// todo catch catch e.printstacktrace () ؛ } إعادة صواب ؛ }. sendmailparam.getSubject () ، sendmailparam.getContent () ، sendmailparam.getFilePath ()) ؛ //} الفراغ الثابت العام (سلسلة [] args) {String smtp = "smtp.exmail.qq.com" ؛ username = "إرسال حساب البريد الإلكتروني" ؛ سلسلة كلمة المرور = "إرسال كلمة مرور البريد الإلكتروني" ؛ سلسلة من = "إرسال البريد الإلكتروني" ؛ String [] to = {"عنوان البريد الإلكتروني لتلقي البريد الإلكتروني"} ؛ // string [] copyto = {"عنوان البريد الإلكتروني CCC"} ؛ موضوع السلسلة = "الموضوع 6" ؛ Content Content = "Mail Content 6" ؛ اسم ملف السلسلة = "الملف المرفق" ؛ mailfileSendUtils email = new MailFilesEndUtils (SMTP ، اسم المستخدم ، كلمة المرور) ؛ // elem.sendmail (من ، إلى ، copyto ، الموضوع ، المحتوى ، اسم الملف) ؛ البريد الإلكتروني. sendmail (من ، إلى ، الموضوع ، المحتوى ، اسم الملف) ؛ }}(المرفق: إصدار SSL)
الطبقة العامة mailfileSendUtils {Private Properties Props ؛ // جلسة الجلسة الخاصة Property System ؛ // كائن جلسة البريد الخاصة mimemessage mimemsg ؛ // mime mail object private multipart mp ؛ // كائن multipart ، محتوى البريد الإلكتروني ، العنوان ، المرفق والمحتوى الآخر يتم إضافة جميعه ، ثم يتم إنشاء كائن mimeMessage/** * param * param */public mailfilesendutils () {props = system.getProperties () ؛ props.put ("mail.smtp.auth" ، "false") ؛ الجلسة = session.getDefaultInstance (الدعائم ، فارغة) ؛ session.setDebug (true) ؛ mimemsg = new mimemessage (جلسة) ؛ mp = new mimemultipart () ؛ } /** * Constructor * param smtp sendutils (سلسلة smtp ، اسم المستخدم ، كلمة مرور السلسلة) {security.addprovider (new com.sun.net.ssl.internal.ssl.provider ()) ؛ السلسلة النهائية ssl_factory = "javax.net.ssl.sslsocketfactory" ؛ الدعائم = system.getProperties () ؛ mailsslsocketfactory sf = null ؛ حاول {sf = new 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 ("username" ، username) ؛ // props.put ("password" ، password) ؛ Session = session.getInstance (الدعائم ، Australiticator () {Override محمي PassworeAuthentication getPasswordauthentication () {إرجاع كلمة مرور جديدة (اسم المستخدم ، كلمة المرور) ؛}}) ؛ session.setDebug (true) ؛ mimemsg = new mimemessage (جلسة) ؛ mp = new mimemultipart () ؛ } /*** أرسل البريد الإلكتروني* /public boolean sendmail (سلسلة من ، سلسلة [] إلى ، موضوع السلسلة ، محتوى السلسلة ، اسم ملف السلسلة) {try {// اضبط المرسل mimemsg.setfrom (new InternetAddress (من)) ؛ // قم بتعيين جهاز الاستقبال لـ (int i = 0 ؛ i <to.length ؛ i ++) {mimemsg.setRecipients (message.RecipientType.to ، InternetAddress.Parse (to [i])) ؛ } // set cc // for (int i = 0 ؛ i <copyto.length ؛ i ++) {// mimemsg.setRecipients (message.RecipientType.cc ، InternetAddress.parse (copyto [i])) ؛ // قم بتعيين النص bodypart bp = new mimebodypart () ؛ BP.SetContent (المحتوى ، "Text/Html ؛ charset = utf-8") ؛ mp.addbodypart (BP) ؛ // تعيين مرفق bp = جديد mimebodypart () ؛ ملفات FileDataSource = FileDataSource جديد (اسم الملف) ؛ BP.SetDatahandler (New Datahandler (Fileds)) ؛ bp.setFilename (mimeutility.encodetext (fileds.getName () ، "utf-8" ، "b")) ؛ mp.addbodypart (BP) ؛ mimemsg.setContent (MP) ؛ mimemsg.savechanges () ؛ // أرسل بريدًا إذا (props.get ("mail.smtp.auth"). يساوي ("true")) {transport transport = session.getTransport ("smtp") ؛ Transport.connect ((String) props.get ("mail.smtp.host") ، (string) props.get ("username") ، (string) props.get ("password")) ؛ Transport.SendMessage (mimemsg ، mimemsg.getRecipients (message.RecipientType.to)) ؛ // transport.sendmessage (mimemsg ، mimemsg.getRecipients (message.RecipientType.cc)) ؛ transport.close () ؛ } آخر {transpor.send (mimemsg) ؛ } system.out.println ("البريد المرسل بنجاح") ؛ } catch (messagingException e) {E.PrintStackTrace () ؛ } catch (UnsupportedEncodingException e) {E.PrintStackTrace () ؛ } إعادة صواب ؛ } boolean public 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 ()) ؛ العودة صحيح. }. "huawei" ؛ // string content = "البريد الإلكتروني 6666" ؛ // string filename = "GDT-3583118353-AD-20170823.xls" البريد الإلكتروني. في المشروع ، أعلق على الطريقة الرئيسية ثم استخدم TosendMail (SendMailparam SendMailparam).
Sendmailparam المحدد هنا هو:
الفئة العامة sendMailparam {private string smtp ؛ اسم المستخدم الخاص بالسلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ سلسلة خاصة من ؛ // المرسل سلسلة خاصة [] إلى ؛ // المستلم // String [] حقوق الطبع والنشر = {"[email protected]"} ؛ موضوع السلسلة الخاصة ؛ // موضوع البريد الإلكتروني محتوى السلسلة الخاصة ؛ // البريد الإلكتروني محتوى السلسلة الخاصة filepath ؛ // path للحصول على الملف sendmailparam () {this.smtp = "smtp.exmail.qq.com" ؛ // مثال على ذلك. username = "حساب البريد الإلكتروني" ؛ this.password = "البريد الإلكتروني كلمة مرور" ؛ this.from = "البريد الإلكتروني" ؛ this.subject = "" ؛ this.content = "" ؛ this.filePath = "" ؛ } السلسلة العامة getSmtp () {return smtp ؛ } public void setSmtp (string smtp) {this.smtp = smtp ؛ } السلسلة العامة getUserName () {return username ؛ } public void setusername (string username) {this.userName = username ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ } السلسلة العامة getFrom () {return from ؛ } public void setFrom (سلسلة من) {this.from = from ؛ } السلسلة العامة [] getto () {return to ؛ } public void setto (string [] to) {this.to = to ؛ } السلسلة العامة getSubject () {return subner ؛ } public void setSUBject (string string) {this.subject = toffice ؛ } السلسلة العامة getContent () {return content ؛ } public void setContent (string content) {this.content = content ؛ } السلسلة العامة getFilePath () {return filepath ؛ } public void setFilePath (String filepath) {this.filePath = filePath ؛ }}حزمة التبعية Maven
<Rependency> <roupiD> javax.mail </rougiD> <StifactId> البريد </artifactid> <sored> 1.4.7 </version> </sependent>
حزمة التبعية Gradle
ترجمة "javax.mail: البريد: 1.4.7"
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.