JavaMail API 기반 메일 수신 방법

이 예제에서는 JavaMail API 기반 메일 수신 방법을 설명합니다.여러분에게 참고할 수 있도록 나누어 드리겠습니다.구체적으로 다음과 같습니다.
1. JavaMail API는 그 기능에 따라 일반적으로 다음과 같은 세 가지 유형으로 나눌 수 있다
(1) 메일 내용을 만들고 해석하는 API: Message 클래스는 메일을 만들고 해석하는 핵심 API로 그 실례 대상은 이메일을 대표한다.
(2) 메일을 보내는 API:Transport 클래스는 메일을 보내는 핵심 API 클래스로 그 실례 대상은 어떤 메일 발송 프로토콜을 실현하는 메일 발송 대상, 예를 들어 SMTP 프로토콜을 대표한다.
(3) 메일을 수신하는 API:Store 클래스는 메일을 수신하는 핵심 API 클래스로 그 실례 대상은 특정한 메일 수신 프로토콜을 실현하는 메일 수신 대상, 예를 들어 POP3 프로토콜을 대표한다.
2. 세션 클래스
Session 클래스는 전체 응용 프로그램에 필요한 환경 정보를 정의하고 클라이언트와 메일 서버가 네트워크를 구축하는 세션 정보를 수집합니다. 예를 들어 메일 서버의 호스트 이름, 포트 번호, 사용하는 메일 발송과 수신 프로토콜 등입니다.Session 대상은 이러한 정보에 따라 메일 수신에 사용되는 Transport와 Store 대상을 구축하고 클라이언트에게 메시지 대상을 만들 때 정보 지원을 제공합니다.
3. JavaMail을 사용하여 간단한 메시지 보내기
메일 서버의 네트워크 연결 정보를 포함하는 Session 객체를 만듭니다.
메시지 내용을 나타내는 메시지 대상을 만듭니다.
Transport 객체 만들기, 서버 연결, 메시지 보내기, 연결 닫기.
4. 실례
(1) JavaMail 메일은 컨텐츠만 전송

public class SendMail {
public static void main(String[] args) throws Exception {
// 
Properties props=new Properties();
// 、 
props.setProperty("mail.host","smtp.sohu.com" );
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
// 
Session session=Session.getInstance(props);
Message message=createMessage(session);
// 
Transport tsp=session.getTransport();
tsp.connect("jb51", "jb51");
tsp.sendMessage(message, message.getAllRecipients());
tsp.close();
}
public static Message createMessage(Session session) throws Exception{
// 
MimeMessage message=new MimeMessage(session);
// 
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));
message.setSubject("hello");
// 
MimeBodyPart text=new MimeBodyPart();
text.setContent(" ?","text/html;charset=utf-8");
// 
MimeMultipart mm=new MimeMultipart();
mm.addBodyPart(text);
message.setContent(mm);
message.saveChanges();
return message;
}
}

(2) JavaMail 메일 발송 내용 및 이미지

public class SendImageMail {
public static void main(String[] args) throws Exception {
// 
Properties props=new Properties();
// 、 
props.setProperty("mail.host","smtp.sohu.com" );
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
// 
Session session=Session.getInstance(props);
Message message=createMessage(session);
// 
Transport tsp=session.getTransport();
tsp.connect("jb51", "jb51");
tsp.sendMessage(message, message.getAllRecipients());
tsp.close();
}
public static Message createMessage(Session session) throws Exception{
MimeMessage message=new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));
message.setSubject(" ");
MimeBodyPart text=new MimeBodyPart();
text.setContent(" ?<br/><img src='cid:xx.jpg'>","text/html;charset=utf-8");
MimeBodyPart image=new MimeBodyPart();
image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg")));
image.setContentID("xx.jpg");
MimeMultipart mm=new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(image);
mm.setSubType("related");
message.setContent(mm);
message.saveChanges();
return message;
}
}

(3) JavaMail 메일 전송 내용, 이미지 및 첨부 파일

public class SendAttchImageMail {
public static void main(String[] args) throws Exception {
// 
Properties props=new Properties();
// 、 
props.setProperty("mail.host","smtp.sohu.com" );
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
// 
Session session=Session.getInstance(props);
Message message=createMessage(session);
// 
Transport tsp=session.getTransport();
tsp.connect("jb51", "jb51");
tsp.sendMessage(message, message.getAllRecipients());
tsp.close();
}
public static Message createMessage(Session session) throws Exception{
MimeMessage message=new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));
message.setSubject(" ");
MimeBodyPart text=new MimeBodyPart();
text.setContent(" ?<br/><img src='cid:xx.jpg'>","text/html;charset=utf-8");
MimeBodyPart image=new MimeBodyPart();
image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg")));
image.setContentID("xx.jpg");
MimeBodyPart attch=new MimeBodyPart();
DataHandler dh=new DataHandler(new FileDataSource("src//   .mp3"));
attch.setDataHandler(dh);
String name=dh.getName();
attch.setFileName(MimeUtility.encodeText(name));
MimeMultipart mm=new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(image);
mm.setSubType("related");
MimeBodyPart part=new MimeBodyPart();
part.setContent(mm);
MimeMultipart m=new MimeMultipart();
m.addBodyPart(part);
m.addBodyPart(attch);
m.setSubType("mixed");
message.setContent(m);
message.saveChanges();
return message;
}
}

주: 메일박스 주소는 진실해야 합니다
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기