JSP

#10.1 JavaMail API (SimpleSMTP, POP 프로젝트) 메세지 전송

코딩클로스 2020. 5. 27. 22:52

메일 송신 예제 아래 설정과 같이 메일을 전송하는 프로그램을 작성해보겠습니다.

 

송신자 : mailtester@localhost

수신자 : tester1@localhost, test2@localhost

메일 제목: "메일 송신 프로그램 예제"

본문 내용:"This is a test mail!"

 

실습에 앞서 먼저 아파치제임스서버에 계정을 만들어야 합니다.

add user ID PW 형식으로 계정을 생성합니다. 

 

mail.jar가 필요하기 때문에 직접 다운받아서 lib폴더에 넣어주거나 pom.xml 파일에 의존성을 추가해줍니다.

SimpleSMTP 클래스를 작성합니다.

SimplePOP3 클래스를 작성합니다.

package Mail;

import com.sun.mail.pop3.POP3Folder;

import java.io.PrintStream;

 

import javax.mail.*;

import javax.mail.internet.MimeMessage;

import java.nio.charset.StandardCharsets;

import java.util.Properties;

 

/**

* @author Java

*/

public class SimplePOP3 {

public void run() {

StringBuilder out = new StringBuilder();

String host = "localhost";

String user = "tester1";

String password = "1234";

Properties properties = System.getProperties();

properties.setProperty("mail.pop3.host", host);

properties.setProperty("mail.pop3.user", user);

properties.setProperty("mail.pop3.apop.enable", "false");

properties.setProperty("mail.debug", "true");

 

Session session = Session.getInstance(properties);

try (Store store = session.getStore("pop3")) {

System.setOut(new PrintStream(System.out, true, StandardCharsets.UTF_8));

store.connect(host, user, password);

if (!store.isConnected()) {

System.err.println("POP3 connection failed!");

return;

}

POP3Folder pop3Folder = (POP3Folder) store.getFolder("INBOX");

pop3Folder.open(Folder.READ_ONLY);

Message[] messages = pop3Folder.getMessages();

int nth = 1;

for(Message message : messages){

MimeMessage mimeMessage = (MimeMessage) message;

out.append("<").append(nth++).append("번째 메일 : UID = ").append(pop3Folder.getUID(mimeMessage))

.append(">\n");

out.append("From : ").append(mimeMessage.getFrom()[0].toString()).append("\n");

out.append("Date : ").append(mimeMessage.getSentDate()).append("\n");

out.append("Subject : ").append(mimeMessage.getSubject()).append("\n\n");

}

pop3Folder.close(true);

} catch (Exception e) {

System.err.println(e.getMessage());

}

System.out.println(out.toString());

}

 

public static void main(String[] args) {

new SimplePOP3().run();

}

}

 

실행결과

 

 

'JSP' 카테고리의 다른 글

#8.3 필터링 (대문자를 소문자로 변경)  (0) 2020.05.14
#9.1 JSP 로깅  (0) 2020.05.10
#8.2 필터링  (0) 2020.05.09
#8.1 JSP 웹 초기화  (0) 2020.05.08
#7.2 JSP Download 프로젝트  (0) 2020.05.07