>  기사  >  Java  >  Java로 이메일 수신

Java로 이메일 수신

WBOY
WBOY원래의
2024-08-30 15:56:47878검색

Java에서 이메일 수신은 MimeMessage, Session 및 Transport 클래스와 함께 사용되는 Store 및 Folder 클래스입니다. 이메일을 수신하고 JavaMail API의 이메일 전송 단계를 학습하는 데 사용됩니다. emailreceive 테스트 클래스는 근처의 이메일 서버 및 계정의 메일과 연결하고 이를 표시하여 선호하는 메일 저장소 프로토콜 유형인 호스트 이름 및 pop3에 대한 호스트 구성 파일의 IP 주소를 지적합니다.

Java로 이메일 수신

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

주요 시사점

  • JavaMail API를 사용하는 경우 Store 및 Folder 클래스를 사용하여 이메일을 수신합니다.
  • Java API를 사용하여 이메일을 보내고 받을 수 있습니다. 기본 프로토콜은 이 레이어와 전혀 관련이 없습니다.
  • Session 클래스의 getDefaultInstance() 또는 getInstance() 메서드를 사용하여 세션 인스턴스를 얻습니다. POP3샵오브젝트를 제작하고 팝스토어에 연결해줍니다.
  • store 객체에 getFolder() 메소드를 실행한 후 폴더 객체를 생성하고 메일함에서 엽니다.
  • 폴더 개체에서 메시지를 가져옵니다.
  • 폴더를 잠그고 항목을 치워두세요.

Java에서 이메일 수신이란 무엇인가요?

JavaMail API의 이메일 전송 단계에 대해 알아보기 위해 emailreceive 테스트 클래스는 근처 이메일 서버와 연결하고 계정의 이메일에 연결한 다음 이를 표시하여 호스트 이름에 대한 호스트 구성 파일의 IP 주소를 강조 표시합니다. pop3은 선호되는 메일 저장소 프로토콜 유형입니다.

이메일 수신은 MimeMessage, Session 및 Transport 클래스와 함께 Store 및 Folder 클래스를 사용하여 수행됩니다. 프로그램은 이메일 메시지를 HTTP 요청으로 수신합니다. 수신 이메일 메시지를 처리하려면 애플리케이션 설정에서 이메일 주소를 서블릿과 연결해야 하며 그런 다음 웹 앱에 서블릿 코드를 포함해야 합니다. 적절한 서블릿은 수신 이메일로부터 HTTP 요청을 수신하여 요청을 처리하고 응답을 보냅니다.

Java 클래스에서 이메일 수신 생성

Java Mail API를 사용하여 이메일을 보내는 방법을 살펴보았습니다. 단 하나의 프로토콜(SMTP)만 배우면 이메일을 보내는 것이 매우 간단해졌습니다. 그럼에도 불구하고 POP3와 IMAP은 수신에 사용되는 두 가지 프로토콜입니다. 보다 전통적인 POP3 프로토콜은 단일 메일 메시지 대기열이 포함된 단일 받은 편지함을 제공합니다. 최신 표준인 IMAP은 메일을 폴더 계층 구조의 항목으로 표시하며 그 중 하나는 받은 편지함입니다.

메일 수신 절차

  • 속성 클래스를 사용하여 프로토콜과 메일 서버를 정의하는 메일 속성을 정의합니다.
  • 편지를 읽기 위해 이미 정의한 속성으로 세션을 생성합니다.
  • 연결을 설정하고 메시지를 읽을 수 있는 스토어를 생성하세요.
  • 읽어야 할 폴더를 정의하고 엽니다. 읽기 전용 폴더를 열어야 합니다.
  • 선택한 폴더에서 읽지 않은 내용을 살펴보고 결과를 메시지 배열로 저장하세요.
  • 그런 다음 메시지를 표시합니다.

JavaMail의 두 Jar 파일

POP3 및 IMAP 공급자 구현과 보안 구현인 POP3S 및 IMAPS가 Java Mail에 포함되어 있습니다.

JavaMail API를 사용하여 이메일을 보내려면 다음 두 jar 파일을 로드해야 합니다.

Java로 이메일 수신

  • mail.jar
  • activation.jar

완전 무료이며 오픈 소스인 JavaMail API 구현을 제품에 통합할 수 있습니다. 이 버전은 또한 SMTP, POP3 및 IMAP 공급자와 함께 제공됩니다. 주로 SMTP, POP3 및 IMAP 프로토콜을 통해 이메일을 보내고 받는 데 사용되는 Jakarta Mail이라는 Jakarta EE API입니다. Java EE 플랫폼에는 Jakarta Mail의 내장 버전이 포함되어 있지만 Java SE 사용자는 추가 패키지를 사용할 수도 있습니다. 지난 몇 달간 출시된 최신 버전과 GNU JavaMail인 또 다른 오픈 소스 Java Mail 구현에서는 JavaMail 사양 버전 1.3만 지원하지만 무료 NNTP 백엔드만 제공하므로 읽기 및 보내기에 이 기술을 사용할 수 있습니다. 뉴스그룹 기사.

  • Mail.jar: 완전히 무료이며 오픈 소스인 JavaMail API 구현을 제품에 통합할 수 있습니다. 또한 이 jar 버전에는 IMAP, POP3 및 SMTP 공급자가 포함되어 있습니다.
  • Activation.jar: JavaBeans 활성화 프레임워크 클래스는 이 JAR(Java Archive) 파일에 포함되어 있습니다. 데모: 이 디렉토리에서 찾을 수 있는 여러 JAF 기능을 활용한 지원되지 않는 간단한 데모 모음입니다. JAF의 공개 클래스에 대한 Javadoc API 설명이 포함된 디렉토리는 문서 역할을 합니다.

Java로 이메일 수신 예시

다음은 언급된 예입니다.

코드:

package TestNG;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
import com.sun.mail.pop3.POP3Store;
public class NewTest{
public static void receiveEmail(String hst, String stype,
String user, String password) {
try {
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", hst);
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
Session sess = Session.getDefaultInstance(props);
Store st = sess.getStore("pop3s");
st.connect(hst, user, password);
Folder emailFolder = st.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
Message[] messages = emailFolder.getMessages();
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("Welcome To Email");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
emailFolder.close(false);
st.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
public static void main(String[] args) {
String host = "pop.gmail.com";
String stypes = "pop3";
String username= "[email protected]";
String password= "xodbizaoiqijifre";
receiveEmail(host, stypes, username, password);
}
}

출력:

Java로 이메일 수신

설명:

  • 위의 예에서는 Java 메일 서비스로부터 이메일을 수신했습니다.
  • 여기에서는 스토어, pop3 및 기타 smtp 서비스를 사용하여 특정 메일 사용자를 연결합니다.
  • 폴더와 메시지[] 배열을 사용하는 것은 인스턴스를 생성하고 특정 시간에 데이터를 저장하는 것입니다.
  • 루프가 데이터를 반복하고 필요한 조건을 검증하기 위해 마지막으로 모든 데이터를 인쇄합니다.
  • 메인 메소드는 메소드를 호출하고 다시 한 번 이 작업을 수행하기 위한 연결 인스턴스를 생성합니다.

FAQ

아래에 언급된 FAQ가 나와 있습니다.

Q1. Java 수신 이메일을 정의합니다.

정답:

JavaMail API를 사용하여 기본 프로토콜이 포함된 기본 이메일을 검색하거나 받는 것은 이 계층과 전혀 관련이 없습니다.

Q2. Java에서 이메일을 수신하는 데 사용되는 프로토콜은 무엇입니까?

정답:

  • IMAP
  • POP3

그 중 IMAP은 메시지 수신을 위한 고급 프로토콜입니다.

Q3. Java 이메일을 어떻게 받을 수 있나요?

정답:

  • 세션 개체를 획득합니다.
  • 팝 서버에 접속하여 POP3나 스토어 객체를 구성합니다.
  • 폴더 개체를 생성한 후 엽니다.
  • 폴더에서 검색한 메시지의 배열을 인쇄합니다.
  • 폴더를 종료하고 개체를 보관하세요.

결론

프로그램은 이메일 메시지를 HTTP 요청으로 수신합니다. 수신 이메일 메시지를 처리하려면 애플리케이션 설정에서 이메일 주소를 서블릿과 연결해야 하며 앱에 서블릿 코드를 포함해야 합니다. 그런 다음 적절한 서블릿이 수신 이메일로부터 HTTP 요청을 수신하고 이를 처리합니다.

위 내용은 Java로 이메일 수신의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.