이 기사의 예제는 참조를 위해 이메일 보내기 및 수신 기능의 특정 구현 코드를 공유합니다. 특정 내용은 다음과 같습니다
준비 작업, 환경 구성 :
1. 메일 서버를 로컬로 구축하십시오
Easymail Server, eyoumailserversetup.exe
2. 새 이메일 계정을 만듭니다
Zhang San은 Li Si에게 이메일을 보냈습니다.
Step 1:
새 도메인 이름 만들기 : 도구, 서버 설정, 단일 도메인 이름 상자에 itcast.com을 입력하십시오.
Step 2:
새 이메일 계정을 작성하십시오 : [email protected]
[email protected]
3. Foxmail을 설치하십시오
이메일 보내기 서버 (SMTP) : LocalHost 25를 구성하십시오
이메일 수신 서버 (POP3) : LocalHost 110
새 계정을 만들면 이메일을받을 수 있습니다!
알아채다
웹 프로젝트 인 경우 Javaee가 이메일 기능을 제공하기 때문에 문제가있을 수 있습니다!
우리는 우리 자신의 mail.jar 파일 함수를 사용해야합니다! Javaee에서 메일 패키지를 삭제해야합니다!
사용:
Javamail 개발의 경우 먼저 JAR 파일을 소개합니다.
activation.jar [JDK1.6 이상을 사용하는 경우이 JAR 파일을 사용할 수 없습니다]
mail.jar [이메일 보내기 핵심 패키지]
/** * 1. 일반 이메일 보내기 * @author jie.yuan * */public class app_sendmail {@test public void testsend ()가 예외 {// 0. 메일 매개 변수 속성 proper = new Properties (); prop.put ( "mail.transport.protocol", "smtp"); // 프로토콜 prop.put ( "mail.smtp.host", "localhost")을 지정합니다. // 호스트 stmp.qq.com prop.put ( "mail.smtp.port", 25); // port prop.put ( "mail.smtp.auth", "true"); // 사용자 비밀번호 인증 prop.put ( "mail.debug", "true"); // 디버그 모드 // 1. 전자 메일 세션 세션 세션을 만듭니다. 세션 = 세션 .getDefaultInstance (prop); // 2. 메일 바디 객체를 만듭니다 (전체 이메일 개체) mimemessage message = new Mimemessage (세션); // 3. 메일 바디 매개 변수를 설정합니다. //3.2 메일 보내기 시간 메시지 .SetSentDate (새 날짜 ()); //3.3 Sender Message.Setsender (New InternetAddress ( "[email protected]")); //3.4 수신자 메시지 .setRecipient (RecepientType.to, New InternetAddress ( "[email protected]")); //3.5 Content Message.settext ( "안녕하세요, 성공적으로 전송되었습니다! 텍스트 ...."); // 간단한 일반 텍스트 이메일 메시지 .SeveChanges (); // 이메일 저장 (선택 사항) // 4. 전송 트랜스 = session.getTransport ()를 보내십시오. trans.connect ( "Zhangsan", "888"); // 전자 메일 보내기 트랜스 .sendMessage (메시지, message.getallRecipients ()); trans.close (); }}사진과 함께
/** * 이미지 리소스가 포함 된 이메일 * @author jie.yuan * */public class app_2sendwithimg {// 초기화 매개 변수 개인 정적 속성 소품; // Sender Private 정적 InternetDress Sendman = null; 정적 {prop = new Properties (); prop.put ( "mail.transport.protocol", "smtp"); // 프로토콜 prop.put ( "mail.smtp.host", "localhost")을 지정합니다. // 호스트 stmp.qq.com prop.put ( "mail.smtp.port", 25); // port prop.put ( "mail.smtp.auth", "true"); // 사용자 비밀번호 인증 prop.put ( "mail.debug", "true"); // 디버그 모드 try {sendman = new InternetAddress ( "[email protected]"); } catch (wassedException e) {throw new runtimeexception (e); }} @test public void testend ()는 예외를 겪고 {// 1. 메일 세션 세션을 만듭니다. 세션 = session.getDefaultInstance (prop); // 2. 메일 개체 생성 mimemessage message = new Mimemessage (세션); // 3. 매개 변수 설정 : 제목, 발신자, 수신자, 시간 보내기, 내용 메시지 .SetSubject ( "사진이있는 메일"); Message.SetSender (Sendman); message.setRecipient (RecepitientType.to, New InternetAddress ( "[email protected]")); message.setsentDate (새 날짜 ()); / ************************ 이메일 내용 설정 : 다기능 사용자 이메일 (관련) ********************* // // 4.1 다기능 메일 블록 mimemultipart 관련 = 새로운 mimemultipart ( "관련"); // 4.2 오른쪽의 다기능 메일 블록 컨텐츠 = 텍스트를 구축합니다. MimeBodyPart Resource = New MimeBodyPart (); // 특정 콘텐츠 설정 : a. resource (그림) 문자열 filepath = app_2sendwithimg.class.getResource ( "8.jpg"). getPath (); DataSource DS = New FileDatasource (새 파일 (Filepath)); Datahandler handler = 새로운 Datahandler (DS); Resource.SetDataHandler (핸들러); Resource.setContentID ( "8.jpg"); // 리소스 이름을 설정하고 참조 외국 키를 참조하십시오. // 특정 내용을 설정하십시오. b. text content.setContent ( "<img src = 'cid : 8.jpg'/> ok!", "text/html; charset = utf-8"); 관련 .addbodyPart (컨텐츠); 관련 .addbodyPart (자원); /********* 4.3 내장형 복잡한 이메일을 이메일에 추가 *******/ message.setContent (관련); // 5. 전송 전송 트랜스 = 세션 .getTransport (); trans.connect ( "Zhangsan", "888"); trans.sendMessage (메시지, message.getallRecipients ()); trans.close (); }}그림 + 첨부 파일
/** * 3. 이미지 리소스 및 첨부 파일이 포함 된 이메일 * @author jie.yuan */public class app_3imgandatta {// 초기화 매개 변수 개인 정적 속성 소품; // Sender Private 정적 InternetDress Sendman = null; 정적 {prop = new Properties (); prop.put ( "mail.transport.protocol", "smtp"); // 프로토콜 prop.put ( "mail.smtp.host", "localhost")을 지정합니다. // 호스트 stmp.qq.com prop.put ( "mail.smtp.port", 25); // port prop.put ( "mail.smtp.auth", "true"); // 사용자 비밀번호 인증 prop.put ( "mail.debug", "true"); // 디버그 모드 try {sendman = new InternetAddress ( "[email protected]"); } catch (wassedException e) {throw new runtimeexception (e); }} @test public void testend ()는 예외를 겪고 {// 1. 메일 세션 세션을 만듭니다. 세션 = session.getDefaultInstance (prop); // 2. 메일 개체 생성 mimemessage message = new Mimemessage (세션); // 3. 매개 변수 설정 : 제목, 발신자, 수신자, 시간 보내기, 내용 메시지 .SetSubject ( "사진이있는 메일"); Message.SetSender (Sendman); message.setRecipient (RecepitientType.to, New InternetAddress ( "[email protected]")); message.setsentDate (새 날짜 ()); /** 첨부 파일을 사용한 메일 개발 (그림)* // 총 메일 블록 구성 MIMEMULTIPART MIXED = NEW MIMEMULTIPART ( "Mixed"); //-> 총 메일이 빠르고 메시지로 설정됩니다. // 왼쪽 : (텍스트 + 이미지 자원) MimeBodyPart 왼쪽 = new MimeBodyPart (); // 오른쪽 : 첨부 파트 MimeBodyPart 오른쪽 = New MimeBodyPart (); // Total Mail Block Mixed.addbodyPart (왼쪽)로 설정합니다. mixed.addbodyPart (오른쪽); / ******* 첨부 파일 **********/ String Att_path = this.getClass (). getResource ( "a.docx"). getPath (); DataSource Att_ds = New FileDatasource (새 파일 (attr_path)); Datahandler attr_handler = New Datahandler (Att_ds); right.setdatahandler (attr_handler); right.setfilename ( "a.docx"); / ************************ 이메일 내용 설정 : 다기능 사용자 이메일 (관련) ********************** // // 4.1 다기능 이메일 블록 mimemultipart 관련 = 새로운 mimemultipart ( "관련"); // ---> 왼쪽으로 설정하십시오 .SetContent (관련); // 4.2 오른쪽의 다기능 메일 블록 컨텐츠 = 텍스트를 구축합니다. MimeBodyPart Resource = New MimeBodyPart (); // 특정 콘텐츠 설정 : a. Resource (그림) 문자열 filepath = app_3imgandatta.class.getResource ( "8.jpg"). getPath (); DataSource DS = New FileDatasource (새 파일 (Filepath)); Datahandler handler = 새로운 Datahandler (DS); Resource.SetDataHandler (핸들러); Resource.setContentID ( "8.jpg"); // 리소스 이름을 설정하고 참조 외국 키를 참조하십시오. // 특정 내용을 설정하십시오. b. text content.setContent ( "<img src = 'cid : 8.jpg'/> ok!", "text/html; charset = utf-8"); 관련 .addbodyPart (컨텐츠); 관련 .addbodyPart (자원); // 5. SendTransport trans = session.getTransport (); trans.connect ( "Zhangsan", "888"); trans.sendMessage (메시지, message.getallRecipients ()); trans.close (); }}위의 내용은이 기사에 관한 모든 것입니다. 모든 사람들이 Java 프로그래밍을 배우는 것이 도움이되기를 바랍니다.