자바 메 일 입문 튜 토리 얼 수신 메 일(4)

지난 자바 메 일 입문 3 편 메 일 에서 우 리 는 자바 메 일 API 가 제공 하 는 Transport 류 로 메 일 을 보 내 는 방법 을 배 웠 습 니 다.마찬가지 로 자바 메 일 API 에서 도 메 일의 수신 에 관 한 전문 적 인 종 류 를 제공 합 니 다.이런 종 류 를 소개 하기 전에 우 리 는 먼저 메 일 수신 API 의 체계 구 조 를 알 아 보 겠 습 니 다.자바 메 일 API 에서 자바.mail.store 류 를 정 의 했 습 니 다.이것 은 메 일의 수신 작업 을 수행 하 는 데 사 용 됩 니 다.우 리 는 프로그램 에서 이 종류의 방법 을 호출 하면 메 일의 각 메 일 폴 더 의 정 보 를 얻 을 수 있 습 니 다.자바 메 일 은 폴 더 대상 을 사용 하여 메 일 폴 더 를 표시 합 니 다.폴 더 대상 의 방법 을 통 해 메 일 폴 더 에 있 는 모든 메 일 정 보 를 얻 을 수 있 습 니 다.우 리 는 메 일의 정 보 는 Message 대상 을 사용 하여 메 일 을 조작 하 는 여러 가지 방법 이 포함 되 어 있다 는 것 을 알 고 있 습 니 다.예 를 들 어 메 일 을 받 은 발송 자,주제,본문 내용,발송 시간 등 업무 관 계 는 다음 과 같 습 니 다.

1.Session 대상 에서 특정한 메 일 발송 협 의 를 실현 한 Store 대상 을 획득 합 니 다.
2.메 일 에 로그 인하 여 POP 3 또는 IMAP 4 서버 에 연결 합 니 다.
3.Store 의 getFolder 방법 을 호출 하여 메 일 에 있 는 폴 더 대상 을 가 져 옵 니 다.
4.Folder 대상 의 getMessage 또는 getMessages 방법 을 호출 하여 메 일 폴 더 의 특정한 메 일이 나 모든 메 일 을 가 져 오고 모든 메 일 을 하나의 Message 대상 으로 되 돌려 줍 니 다.
이어서 우 리 는 상기 유형 으로 메 일 을 받는다.

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;

class MailReceives {
 public static void main(String[] args) throws Exception {
  //     POP3        
  String pop3Server = "pop.qq.com";
  String protocol = "pop3";
  String username = "[email protected]";
  String password = "****************"; // QQ   SMTP    ,      ,       ?

  Properties props = new Properties();
  props.setProperty("mail.transport.protocol", protocol); //      (JavaMail    )
  props.setProperty("mail.smtp.host", pop3Server); //         SMTP     

  //     
  Session session = Session.getDefaultInstance(props);
  session.setDebug(false);

  //   Store  
  Store store = session.getStore(protocol);
  store.connect(pop3Server, username, password); // POP3        

  //   POP3    Store         ,          "INBOX"
  Folder folder = store.getFolder("INBOX");//          
  folder.open(Folder.READ_WRITE); //             

  Message[] messages = folder.getMessages();//             

  for (Message message : messages) {
   String subject = message.getSubject();//       
   Address from = (Address) message.getFrom()[0];//        
   System.out.println("      : " + subject + "\t      : " + from);
   System.out.println("      :");
   message.writeTo(System.out);//           
  }

  folder.close(false);//        
  store.close(); //       
 }
}

콘 솔 출력 결과:

콘 솔 에서 출력 한 메 일의 원본 내용 을 볼 수 있 습 니 다.아직 해석 되 지 않 았 기 때문에 해석 을 거 쳐 야 읽 을 수 있 습 니 다.다음 자바 메 일 입문 5 편 메 일 은 메 일 을 어떻게 해석 하 는 지 설명 할 것 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기