SMTP를 기반으로 간단한 이메일을 보내십시오
먼저, 인증자가 필요합니다.
패키지 No001_SMTP 기반 텍스트 메일; import javax.mail.authenticator; import javax.mail.passwordauthentication; public class simpleeuthenticator authenticator {private string username; private string password; public simpleAuthenticator (문자열 사용자 이름, 문자열 비밀번호) {super (); this.username = username = new {passeword = this.password (this.password) getpasportication getpase getpase getpase getpase getpase PasswordAuthentication (사용자 이름, 암호);}} 그런 다음 간단한 이메일 보내기 프로그램을 작성하십시오.
패키지 No001_ SMTP 기반 텍스트 메일; import java.util.properties; import javax.mail.message; import javax.mail.message; import javax.mail.messagingException; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.address; import javax.mail.internetet.inetaddress; javax.mail.internet.mimemessage; public class smtpsimplemail {public static void main (string [] args)은 주소 지출, 메시징 지출 {/* 필수 정보*/String smtp_mail_host = "smtp.163.com"; //이 전자 메일 서버 주소, Query String email_username = "[email protected]"; String email_password = "mypassword"; String to_email_address = "[email protected]";/* server*/properties propts = new Properties (); propp.host ( "mail.smtp.host" smtp_mail_host); props.put ( "mail.smtp.auth", "true");/* 세션 생성*/세션 세션 = 세션. GetDefaultInstance (props, new simpleAuthenticator (email_username, email_password));/* 이메일 메시지*/mimemessage message = new mimemessage (Session); InternetAdDress (email_username); omessure.addrecipient (message.recipientType.to, new InternetAddress (to_email_address)); message.setsubject ( "이메일을 보내기 위해 Java 메일을 사용하는 방법. (001)"); "message.settext ("이메일 보내기 위해 Java 메일을 사용하는 방법. (컨텐츠.)); arnialth.send (메시지); System.out.println ( "특히 운이 좋지 않으면 이메일을 확인할 수 있습니다.");}}. 다양한 수신자, CCS, Secret CCS를 보내면 어떻게해야합니까?
인증자가 사용되어 생략됩니다.
실제로, 여러 수신자, CC 발신자 및 비밀 CC 발신자를 설정하는 것입니다.
패키지 No002_ 다양한 발신자와 수신자가 CC에 CC를 보내면 어떻게해야합니까? import java.io.unsupportedencodingexception; import java.util.properties; import javax.mail.address; import javax.mail.message; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import Javax.mail.addressexemention; javax.mail.internet.internetAddress; import javax.mail.internet.mimemessage; public class sendmailwithmultipeople {public static void main (string [] args)은 주소 지수, 메시징 렉스크, 미지급 정보*/string smtp_mail_host = "smtp.163.com"; //이 메일 서버 주소는 검색 string email_username = "[email protected]"; String email_password = "mypassword"; string to_email_address_1 = "[email protected]"; String cc_email_email_email_email_email_email_address_1 = "string bcc_email_address_1" "; 정보*/속성 propss = new Properties (); props.put ( "mail.smtp.host", smtp_mail_host); props.put ( "mail.smtp.auth", "true");/*세션 생성*/session session = session.get, get _ ast SenderArray = 새 주소 [1]; SenderArray [0] = 새로운 InternetAddress ( "[email protected]", "Nick Huang");/* 이메일 메시지*/mimemessage message = new mimemessage (session); AddDfrom (senderArray); admess.addrecipient (message.recipienttype.to); message.addrecipient (message.recipienttype.to, new InternetDdress (cc_email_address_1)); message.addrecipient (message.recipienttype.cc, new InternetAddress (cc_email_address_1)); message.addrecipient (message.recipienttype.cc, new InternetAddress (to_email_address_1)); message.addrecipient (message.recipienttype.bcc, new InternetAddress (bcc_email_address_1)); message.setsubject ( "나는 메일 학습 자바 메일"); message.settext ( "나는 메일 학습 Java 메일입니다. 좋은 출발을 해주세요."); // 송신 .send (message); System.out.println ( "특히 불행하지 않으면 이메일을 확인할 수 있습니다.");}} 첨부 파일을 보내는 경우해야 할 일
인증자가 사용되어 생략됩니다.
첨부 파일 데모 보내기 :
패키지 No003_ 첨부 파일을 보내는 경우해야 할 일; import java.io.file; import java.io.unsupportedEncodexception; import java.util.properties; import javax.activation.datahandler; import javax.activation.datasource; import javax.activation.filedatasource; import javax.mail.adail.adaildress; javax.mail.mail.mail.mail.mail.mail javax.mail.message; import javax.mail.messagingException; import javax.mail.multipart; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.addressexception; import javax.mail.internetet.internet.mail.mail.mail.mail.mail.mail.mail.mail javax.mail.internet.mimemessage; import javax.mail.mail.internet.mimemultipart; public class sendmailwithattachment {public static void main (string [] args)은 주소 지출, 메이징 렉싱, messagingexception, unsupportedencodingexception {/string smtp_mail_host = smtp.163.cond "; //이 메일 서버 주소, query string email_username = "[email protected]"; String email_password = "password"; String to_email_address_1 = "[email protected]";/* 서버 정보*/properties propers = new Properties (); props.put ( "mail.smtp.host", smtp_mail_host); props.put ( "mail.smtp.auth", "true");/* 세션 생성*/세션 세션 = 세션 = session.getDefaultInstance (props, new simpleAuthenticator (email_username, email_password));/* sender*/address [] senderArray = new address [1]; 신약 [0] = new InternetAddress (email_username);/* 이메일 메시지*/mimemessage message = new mimemessage (session); message.addfrom (senderArray); message.addrecipient (message.recipienttype.to, new InternetAddress (to_email_address_1)); 새 메일을 학습하기 ") MimebodyPart (); BodyPart.settext ( "이것은 이메일 학습 Java Mail의 내용입니다. 많은 돈을주십시오.");/* 첨부 파일*/bodypart attachmentpart1 = new MimebodyPart (); dataSource 소스 = new File File ( "d :/file 1.txt"); accountpart1.setdatahandler (aitchmentpart1) DataHandler (source)); att 2.txt ")); attbmentPart2.SetDataHandler (new datahandler (source)); att mimemultipart (); multipart.addbodypart (bodypart); multipart.addbodypart (att 또한 HTML 메일을 보내십시오
인증자가 사용되어 생략됩니다.
실제로, 수신자 클라이언트에게 HTML을 구문 분석하고 렌더링하도록 지시하는 것입니다.
패키지 No004_send HTML 메일; import java.io.unsupportedencodexception; import java.util.properties; import javax.mail.address; import javax.mail.message; import javax.mail.messagingException; import javax.mail.multipart; import javax.mail.ssession; import javax.mail.transport; thransport ;transport; javax.mail.internet.addressexception; import javax.mail.mail.internetaddress; import javax.mail.internet.mimebodypart; import javax.mail.internet.mimemessage; import javax.mail.internet.mimemultipart (problicultipart) (Howtosendhtmlail). 주소 지출, 메시징 지출, UnSupportedEncodingException {/* 필수 정보*/String smtp_mail_host = "smtp.163.com"; //이 메일 서버 주소는 검색 string string email_username = "[email protected]"; String email_password = "password"; string to_email_address_1 = "[email protected]";/* 서버 정보*/properties props = 새로운 속성 (); props.put ( "mail.smtp.host", smtp_mail_host); props.put ( "mail.smtp.auth", "true");/* 세션 생성*/세션 세션 = 세션 = session.getDefaultInstance (props, new simpleAuthenticator (email_username, email_password));/* sender*/address [] senderArray = new address [1]; 신약 [0] = new InternetAddress (email_username);/* 이메일 메시지*/mimemessage message = new mimemessage (session); message.addfrom (senderArray); message.addrecipient (message.recipienttype.to, new InternetDdress (to_email_address_1)); "html 메시지를 보내는 방법"); BodyPart = New MimeBodyPart (); BodyPart.SetContent ( "<H1> 사랑하는 사람 ... </h2>", "Text/Html; charSet = gb2312");/* 이메일의 다양한 부분의 정보를 캡슐화*/multiptart = new MimMultipart (); Adgart.AddDodyPart (multiptart); arnialth.send (메시지); System.out.println ( "특히 불행하지 않으면 이메일을 확인할 수 있습니다. ");}} 아니면 도구 수업이 있습니까?
인증자는 확실하고 사용하며 생략됩니다.
설정해야 할 속성이 많고 복잡한 속성이 있으므로 간단하고 사용하기 쉬운 속성으로 이름을 지정하므로 구성 클래스를 사용하십시오.
패키지 no005_ 툴 클래스를 얻습니다. import java.io.file; import java.util.arraylist; import java.util.list; public class mailsenderconfig {private string smtpmailhost; // SMTP 프로토콜을 지원하는 메일 서버 주소/* 메일 서버에 로그인하는 데 사용되는 메일 서버*/개인 문자열 username; 개인 문자열 비밀번호; 개인 문자열 주제; // 제목 개인 문자열 내용; // 콘텐츠 개인 문자열 Frommail; //이 사서함에서 전송 된 이메일 표시 개인 목록 <String> Tomails; // 수신자 비공개 목록 <string> ccmails; // cc private list <string> bccmails; // 비밀 CC 개인 목록 <file> 첨부 파일; // 첨부 파일 public mailsenderconfig (string smtpmailhost, 문자열 주제, 문자열 내용, 문자열 frommail) {super (); smtpmailhost = smtpmailhost; this.subject = 주제; this.content = 내용; this.frommail = frommail;} public string getsmtpmailhost () {return smtpmailhost;} public void setsmtpmailhost (string smtpmailhost) {smtpmailhost = smtpmailhost;} public string getusername () {return username; username;} public string getpassword () {return password;} public void setpassword (String password) {this.password = password;} public string getfrommail () {return frommail;} public void setfrommail (string frommail)} public settomails (gettomails; Tomails) {this.tomails = tomails;} public list <string> getccmails () {return ccmails;} public void setccmails (list <string> ccmails) {this.ccmails = ccmails;} public list; getbccmails () {return bccmail;} setBccmails (list <string> bccmails) {this.bccmails = bccmails;} public list <file> getAttachments () {return attachments;} public void setAttachments (list <file> 첨부 파일) {this.attachments = att = 주제;} public string getContent () {return content;} public void setContent (문자열 내용) {this.content = content;} public void addtomail (string mail) {if (this.tomails == null) {this.tomails = new arraylist <string> ();} public addomail (mail);}; {if (this.ccmails == null) {this.ccmails = new arraylist <string> ();} this.ccmails.add (mail);} public void addbccmail (string mail) {if (this.bccmails == null) {this.bccmails = new ArrayList <string> ();} this.bccmails.add (mail);} public void addattachment (파일 f) {if (this.attachments == null) {this.attachments = new arrayList <file> ();} this.attachments.add (f);}} 마지막으로, Java 메일 규칙에 따라 일부 초기화 조치 수행, 사용자 정의 속성 구성 클래스 번역, Java 메일 규칙으로 설정 및 이메일 보내기.
또한 도구 클래스에서 제공하는 속성이 제한되어 있기 때문에 더 많은 사례가 요구를 충족시키지 못할 수 있으므로 모방이 노출됩니다. 요구가 충족되지 않으면 개발자는 직접 처리하고 구성 할 수 있지만 다른 부분은 여전히 도구 클래스를 사용할 수 있습니다.
패키지 no005_ 툴 클래스를 얻습니다. import java.io.file; import java.util.properties; import javax.activation.datahandler; import javax.activation.datasource; import javax.activation.filedatasource; import javax.mail.address; import javax.mail.bodypart; import javax.mail.messateme; javax.mail.multipart; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetAddress; import javax.mail.internet.mimebodypart; import javax.mail.internet.mimessage; import javax.mimest. 인테일 렛. 다양한 발신자와 수신자가 CC.SimpleAuthenticator; Public Class MailSender {private MailSenderConfig C; Private MailSenderConfig C; Public MailSender (MailSenderConfig Config); super (); this.c = config; this.setConfig ();}/* @retients*/private sections Initsession Initsess () {properties properties properties properties properties*/private sections in this. properties (); if (c.getsmtpmailhost ()! = null && c.getsmtpmailhost (). length ()> 0) {props.put ( "mail.smtp.host", c.getsmtpmailhost ());} if (c.getusername ()! = null && c.getusernam (). null && c.getPassword (). length ()> 0) {props.put ( "mail.smtp.auth", "true"); return session.getDefaultInstance (propss, new simpleAuthenticator (c.getUserName (), c.getPassword ()); else {props.put ","거짓 "); session.getDefaultInstance (props);}}/*** SET Java Mail 속성*@throws 예외*/private void setconfig ()는 예외 {this.configvalid (); session s = this.initsession (); message = new Mimemessage [/*sender*/addrend [1]; 1]; InternetAdDress (c.getFrommail ()); message.addfrom (frommailArray); if (c.getTomails ()! = null && c.getTomails (). size ()> 0) {for (string mail : c.gettomails ()) {message.addrecipient (message.recipienttype.to, new intercipienttype.to, new Internettomails ())) { (c.getcmails ()! = null && c.getcmails (). size ()> 0) {for (string mail : c.getccmails ()) {message.addrecipient (message.recipienttype.cc, new InternetDdress (mail));} if (c.gettomails ()). {for (string mail : c.getTomails ()) {message.addrecipient (message.recipienttype.bcc, new InternetAddress (mail));}}} // mail title message.setsubject (c.getSubject ());/* text*/mimebodypart bodypart = new MimepodyPart (); "text/html; charset = gb2312");/* 이메일*/multipart multipart = new mimemultipart (); multipart.addbodypart (bodypart); mightsart.setcontent (multipart); bodypart attachmentpart = null; datasource ds = null; C. getAtcments (). size ()> 0) {for (file f : c.getAttachments ()) {att sun.misc.base64encoder (). encode (f.getName (). getBytes ()) + "? ="); multipart.addbodyPart (att 예외 ( "구성 객체가 비어 있습니다");} if (c.getSmtpMailHost () == null || c.getSmtpmailHost (). length () == 0) {새로운 예외 ( "smtp server is empy empy empty");} if (c.getFrommail () == null && c.getFrommail (). length () == 0) {새로운 예외 ( "발신자 메일이 비어있다"); {새로운 예외 ( "수신자 메일이 비어 있습니다");} if (c.getSubject () == null || c.getSubject (). length () == 0) {새 예외 ( "이메일 제목이 비어 있습니다");} if (c.getContent () == null || c.getContent () = 0) {vack in excection ( ") @Throws MessagingException*/public void send ()는 메시징 렉스크를 던지려고 {rantlical.send (message);}/*** 개발자가 개인화 된 속성을 스스로 설정할 수 있도록이 객체를 노출시키기 위해 Mimemessage를 설정합니다* @return*/public imemessage getMessage () {return}/***이 개체를 설정할 수 있도록 Mimessage를 설정할 수 있습니다. void setMessage (mimemessage messag import java.io.file; import javax.mail.internet.mimemessage; public class testcall {public static void main (string [] args)은 예외 {/* 필수 정보*/String smtp_mail_host = "smtp.163.com"; //이 메일 서버 주소는 귀하가 속한 이메일로 이동하여 String email_username = "[email protected]"; String email_password = "password"; String to_email_address_1 = "[email protected]"; string to_email_address_2 = "[email protected]";/*mails c = newsender c = newsenderconfondendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendendender MailSenderConfig (smtp_mail_host, "이것은"테스트 Java 메일 프레임 워크 3. ","이것은 콘텐츠 3. ",", ",", ",", "Test Java Mail 프레임 워크"입니다. email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addcmail (to_email_address_2); c.addatchcmail (to_email_address_1); file ( "d : /1.txt")); mailsender ms = new MailSender (c); ms.send (); System.out.println ( "send ...");*// 사용법 2. 테스트 Java 메일 프레임 워크 4. ","이것은 콘텐츠 4입니다. ", email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addcmail (to_email_address_2); c.addatchcmail (to_email_address_1); file ( "d : /1.txt")); mailsender ms = new MailSender (c); mimemesage message = ms.getMessage (); Message.SetContent ( "이것은 mimemesage 4로 대체 된 내용입니다.", "text/html; charset = utf-8"); ms.setmessage (message); ms.send (); system.out.println ( "send ...");}} 도구 클래스를 업그레이드하십시오
실제로 사용하면 전자 메일을 배치로 보낼 때 도구 클래스의 지원이 좋지 않다는 것을 알았습니다. 예를 들어, 위의 도구 클래스의 논리에 따라 100 개의 이메일을 보내면 전송 된 모든 이메일에 대한 연결이 설정됩니다. 그렇다면 100 번의 이메일이 100 번이 아니십니까? 이것은 심각한 폐기물입니다.
따라서이 시점까지 일부 업그레이드가 이루어집니다.
인증자는 확실하고 사용하며 생략됩니다.
구성 클래스
import java.util.arraylist; import java.util.list; public class mailsenderconfig {private string smtpmailhost; // SMTP 프로토콜을 지원하는 메일 서버 주소/* 메일 서버에 로그인하는 데 사용되는 메일 서버*/개인 문자열 username; 개인 문자열 비밀번호; 개인 문자열 주제; // 제목 개인 문자열 내용; // 콘텐츠 개인 문자열 Frommail; //이 사서함에서 전송 된 이메일 표시 개인 목록 <String> Tomails; // 수신자 비공개 목록 <string> ccmails; // ccp private list <string> bccmails; // 비밀 CCP 개인 목록 <Autchment> 첨부 파일; // 첨부 개인 문자열 contentType = "text/html; charset = utf-8";/*** 생성자* @param smtpmailhost smtp server* @param 제목* @param content content ( "text/html; charset = utf-8"의 형태로 전송)* @param from mail srith*/public smail sender*/public smail string 제목, 문자열 내용, 문자열에서 mail) {super (); smtpmailhost = smtpmailhost; this.subject = 주제; this.content = 내용; this.frommail = frommail;}/*** 생성자* @param smtpmailhost smtp server* @param username mail server 사용자 이름 @param password mail server password* @param 제목* @param content content (기본적으로 "teapt/html; charset = utf-8"의 형식으로 전송)* @param witer*/public round esender sender condsender content content incounds in @param content 컨텐츠*/html; charset = utf-8 "*. smtpmailhost, 문자열 사용자 이름, 문자열 비밀번호, 문자열 주제, 문자열 내용, 문자열 frommail) {super (); smtpmailhost = smtpmailhost; this.username = username; this.password = 비밀번호; this.subject = 주제; this.content = 내용; 이. ArrayList <string> ();} this.ccmails.add (mail);} public void addBcmail (string mail) {if (this.bccmails == null) {this.bccmails = new arraylist <string> ();} this.bccmails.add (mail); == null) {this.attachments = new ArrayList <attachment> ();} this.attachments.add (a);}/** getter and setter*/public string getsmtpmailhost () {return smtpmailhost;} public void setsmtpmailhost (string smtpmailhost) {smtpmailhost) {smtpmailhost = smtpmailhost;} public string getusername () {return username;} public void setusername (string username) {this.username = username;} public string getpassword () {return password;} public void setpassword (string password) {this.password = password;} public set string (public st string) Frommail) {this.frommail = frommail;} public list <string> gettomails () {return tomails;} public void settomails (list <string> tomails) {this.tomails = tomails;} public list <string> getccmails () {return ccmails;} public void setcmails {this.ccmails = ccmails;} public list <string> getBccmails () {return bccmails;} public void setbccmails (list <string> bccmails) {this.bccmails = bccmails;} public list <problic at aitchments ()}}}}} setAttachments (list <attachments = 첨부 파일) {this.attachments = 첨부 파일;} public string getSubject () {return setsubject (} public void setSubject (} public void setSubject (threat gourd) contentType;} public void setContentType (String contentType) {this.contentType = contentType;}} 첨부 엔티티 클래스 import java.io.file;/*** 이메일 첨부 파일 엔티티 클래스*/공개 클래스 첨부 파일 {개인 문자열 파일; 공개 파일 getFile (return getFile) {reture set. file;} public String getFileName () {if (filename == null || filename.trim (). length () == 0) {return file.getname ();} return filename;} public void setfilename (string filename) {this.filename = filename;} public Attachment (file file, string filename) {super (); file = filename;} 공개 결장;}) {super (); this.file = file;}} 초록 발송 클래스 송금 java.util.properties; import javax.mail.session; public acplop class actractsessionmailsender {protected session session;/*** 초기화 세션*/public static session initsession (mailsenderconfig c) {new Properties (); ! = null && c.getsmtpmailhost (). length ()> 0) {props.put ( "mail.smtp.host", c.getsmtpmailhost ());} if (c.getusername ()! = null && c.getusername ()> 0 && c.getpassword ()> = null && c.getpaspword ().). {props.put ( "mail.smtp.auth", "true"); return session.getDefaultInstance (propss, new SimpleAuthenticator (c.getUsername (), c.getPassword ());} else {propss.put ( "mail.smtp.auth", "false"); return.}}}}}}}}} 전자 메일의 배치 전송/여러 이메일 보내기를 지원하기위한 세션의 설정 가능성을 제공하려면 세션을 캐시 할 수 있습니다. @return*/public session getsession () {return session;} public void setsession (세션 세션) {this.session = session;}} 수업을 보내십시오
import javax.actahandler; import javax.activation.datasource; import javax.activation.filedatasource; import javax.mail.address; import javax.mail.bodypart; import javax.mail.message; import javax.mail.mesagingException; import javax.mail. multipart; javax.mail.session; import javax.mail.transport; import javax.mail.internetaddress; import javax.mail.mail.mimebodypart; import javax.mail.internet.mimemessage; import javax.mail.mail.internet.mimeTipart; javax.miMultiptal.MimeAlsenter AbstractSessionMailSender {private mailsenderconfig c; private mimemessage 메시지; public mailsender (mailsenderconfig config)는 예외 {super (); this.c = config; this.setConfig ();} public mailsender (mailsenderconfig config, 세션 세션)는 예외 {super (); this.c = 구성; this.setConfig (); super.setsession (session);}/*** 이메일 보내기 이메일*@throws messagingException*/public void send ()는 메시징 덱스크 {rantials.send (message);}/***이 개체를 얻고 개발자가 개인화 된 특성을 설정하도록 개발자가 지원하지 않는 방법을 설정하여 개발자가 설정할 수 있습니다*/ @ @ @ @ @ @ @ getMessage () {return message;}/***이 객체를 노출시키기 위해 Mimemessage를 설정하여 개발자가 개인화 된 속성 (이 도구 클래스에서 지원하지 않는 방법은 개발자 자체가 설정 한 후 설정할 수 있고 설정 한 후 설정)을 설정하도록 촉진합니다.*/public void setMessage (mimemessage 메시지) {this.message =}/*** 설정 JAVA AttuteS* @*** 설정 JAVA AttuteS*/*** void setconfig ()는 예외를 {this.configvalid (); if (session == null) {session = initsession (c);} 메시지 = new mimemessage (세션);/* sender*/address [] frommailArray = new address [0] = new InternetDress (c.getfrommail ()); (c.getTomails ()! = null && c.gettomails (). size ()> 0) {for (문자열 메일 : c.getTomails ()) {message.addrecipient (message.recipienttype.to, new Internetaddress (mail));}} if (c.getcmails ()). (문자열 메일 : c.getccmails ()) {message.addrecipient (message.recipienttype.cc, new Internetaddress (mail));}} if (c.gettomails ()! = null && c.gettomails (). size ()> 0) {for (string mail : c.gettomails ()). {message.addrecipient (message.recipienttype.bcc, new InternetAddress (mail));}} // 이메일 제목 메시지 .setSubject (c.getSubject ());/* text*/mimepodypart bodypart = new MimeBodyPart (); bodypart.setContent (), c.getContent (),); 이메일*/multipart multipart = new mimemultipart (); multipart.addbodypart (bodypart); message.setContent (multipart);/*첨부 파일*/bodypart attachmentpart = null; dataSource ds = null; if (c.getattachments ()! {att Datahandler (ds)); attachmentpart.setfilename (mimeUtility.encodetext (a.getFilename ()); multipart.addbodyPart (auttryPart);}} message.setContent (multipart);}/*** configuration verification*/private void configvalid () {c = sull). 예외 ( "구성 객체가 비어 있습니다");} if (c.getSmtpMailHost () == null || c.getSmtpmailHost (). length () == 0) {새로운 예외 ( "smtp server is empy empy empty");} if (c.getFrommail () == null && c.getFrommail (). length () == 0) {새로운 예외 ( "발신자 메일이 비어있다"); {새로운 예외 ( "수신자 메일이 비어 있습니다");} if (c.getSubject () == null || c.getSubject (). length () == 0) {새로운 예외 ( "이메일 제목이 비어 있습니다");} if (c.getContent () == null || c.getContent () = 0) {avel content ( "}}}}) import java.io.file; import javax.mail.session; import javax.mail.internet.mimemessage; import org.junit.test; public class readme {/* 필수 정보*/String smtp_mail_host = "smtp.163.com"; //이 메일 서버 주소, 귀하가 속한 메일 서버의 설명 페이지로 이동하고 문자열 email_username = "[email protected]"; String email_password = "password"; string to_email_address_1 = "[email protected]";/* 옵션*/string to_email_address_2 = "express {*); 사용 상황 1, 정상 사용*/MailSenderConfig C = New MailSenderConfig (SMTP_MAIL_HOST, "이것은 CASE1의 테스트 Java 메일 프레임 워크를위한 메일입니다.", "이것은 내용입니다." email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addcmail (to_email_address_2); c.addatchcmail (to_email_address_1); 첨부 파일 (새 파일 ( "d : /1.txt")); mailsender ms = new MailSender (c); ms.send (); system.out.println ( "send ...");}@testpublic void case2 () {/* usage 2. 더 많은 경우에 필요한 설정은 요구를 충족시키지 않기 때문에 Mimessage가 고정되어 있습니다. 속성*/MailSenderConfig C = New MailSenderConfig (SMTP_MAIL_HOST, "이것은 CASE2의 테스트 Java 메일 프레임 워크를위한 메일입니다.", "이것은 내용입니다.", email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addcmail (to_email_address_2); c.addatchcmail (to_email_address_1); 첨부 파일 (새 파일 ( "d : /1.txt")); mailsender ms = new MailSender (c); mimemesage message = ms.getMessage (); message.setContent ( "case2의 mimemessage에 의해 대체 된 내용입니다." "text/html; charset = utf-8"); ms.setmessage (message); ms.send (); system.out.println ( "send ...");}@testpublic void case3 ()@}@testpublic void case3 ()는 예외를 {/* 사용 상황 3, 여러 번 보내기 위해 세션을 공유 할 수 있도록 세션을 공유 할 수 있도록 세션을 공유 할 수 있습니다. 캐시 된 세션의 적시성에주의를 기울이십시오*/mailsenderconfig c = new MailSenderConfig (smtp_mail_host, "이것은 세션을 테스트하기위한 테스트 Java 메일 프레임 워크를위한 첫 번째 메일입니다.", "이것은 내용입니다.", "이것은 내용입니다." email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addcmail (to_email_address_2); c.addatchcmail (to_email_address_1); 첨부 파일 (새 파일 ( "d : /1.txt")); 세션 세션 = mailsender.initsession (c); mailsender ms = new MailSender (c, session); ms.send (); c.setSubject ( "이것은 테스트 Java 메일 프레임 워크에 대한 두 번째 메일입니다. 세션); ms.send (); System.out.println ( "send ...");}} 요약
현재, 내가 가진 많은 요구가 있습니다. 미래에 다른 일반적인 요구에 직면하고 시간이 있다면 더 추가하겠습니다.
위의 것은 Java에서 이메일을 보내는 일반적인 요구 사항에 대한 요약입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!