"또 나야. 그리고 또, 너에게 줄 약간의 서프라이즈가 있어."

"오늘은 Java를 사용하여 이메일을 보내는 방법을 알려드리겠습니다 . "

"좋은 소식부터 시작하겠습니다. Java에는 이메일 작업을 위한 기본 라이브러리가 있습니다. "

"나쁜 소식은 이 라이브러리가 Java SE 가 아닌 Java EE 의 일부라는 것입니다 ."

" Java EE 는 JavaSE 의 확장된 버전으로 , 더 멋진 애플리케이션에 필요한 클래스를 포함합니다. 예를 들어 이메일 작업을 위한 애플리케이션입니다."

"알았어, 그럼 어떻게 할 수 있니?"

"음, 이 라이브러리를 다운로드하기만 하면 됩니다."

"IntelliJ IDEA를 현명하게 사용하세요."

"클래스를 만들고 가져오기 섹션에 javax.mail.*javax.mail.internet.* 라이브러리를 추가합니다.

"그런 다음 Alt+Enter를 누르고 IDEA가 모든 작업을 수행하도록 합니다 .

"누락된 라이브러리를 다운로드하라는 제안은 다음과 같습니다."

이메일 보내기 - 1

"다운로드 창은 다음과 같습니다."

이메일 보내기 - 2

"또는 여기에서 다운로드할 수 있습니다. "

"다운로드했습니다. 다음은 무엇입니까?"

"라이브러리 섹션의 프로젝트 설정(모듈 설정 열기)으로 이동하고 다운로드한 아카이브에서 JAR 파일을 추가해야 합니다."

이메일 보내기 - 3

"완료."

"다음 줄이 더 이상 빨간색이 아닙니까?"

import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

"네."

"좋아, 그럼 계속하자."

"이메일을 보내는 데는 세 단계가 있습니다."

1) 이메일을 보내는 데 사용할 메일 서버와 연결을 설정합니다.

2) 이메일을 작성하고 필요한 경우 첨부 파일을 추가합니다.

3) 이메일을 보냅니다.

"처음부터 시작하자."

"Java로 이메일을 보내려면 먼저 메일 서버와 연결을 설정해야 합니다."

"이미 서버에 이메일 계정이 있는 것이 가장 좋습니다. 스팸을 염려하여 최신 메일 서버는 익명 사용자로부터 메시지를 보내길 원하지 않습니다. "

"javax.mail.Session.getDefaultInstance 메서드를 한 번 호출하여 서버에 연결할 수 있습니다."

메일 서버와의 연결 생성
Properties props = new Properties();

// Here we need to load data into the props object

Session session = Session.getDefaultInstance(props);

"하지만 이 메서드에 메일 서버 설정을 전달해야 합니다."

"예를 들어, Mail.properties 파일을 만들고 다음과 같이 원하는 설정으로 채울 수 있습니다."

메일.속성
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong

"가장 중요한 것은 프로토콜과 호스트를 지정하는 것이지만 메일 서버의 동작 방식에 따라 추가 설정이 필요할 수 있습니다."

"Java 코드에서 바로 Properties 개체에 이 데이터를 간단히 추가할 수 있습니다."

"예를 들어:"

메일 서버와의 연결 생성"
Properties props = new Properties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.host", “smtp.gmail.com”);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.sendpartial", "true");

Session session = Session.getDefaultInstance(props);

"좋습니다. 세션이 있습니다. 이제 이메일을 작성하겠습니다."

"언뜻 보기보다 하기 쉽습니다. 예를 들면 다음과 같습니다."

메일 메시지 만들기
// Create a message
MimeMessage message = new MimeMessage(session);

// Set the message subject
message.setSubject("Test email!");

// Add the message text
message.setText("Asta la vista, baby!");

// Specify the recipient
message.addRecipient(Message.RecipientType.TO, new InternetAddress("stalone@gmail.com"));

// Specify the delivery date
message.setSentDate(new Date());

"모든 이메일 주소를 수신자로 지정할 수 있습니까?"

"네. 게다가 발신인으로 이메일 주소를 지정할 수도 있습니다."

"좋다! 고려해볼게."

"이제 이 메시지만 보내면 됩니다."

"먼저 서버에 로그인한 다음 메시지를 보냅니다. 코드 두 줄이면 됩니다."

메세지를 보내다
// Username and password for a Gmail account
String userLogin = “arnold@gmail.com”;
String userPassword = “strong”;

// Sign in on the server:
Transport transport = session.getTransport();
transport.connect("smtp.gmail.com", 465, userLogin, userPassword);

// Send a message:
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));

"재미있다! 한번 해봐야겠다."

"첨부 파일이 있는 메시지를 보내는 방법이 궁금하다면 여기에서 해당 내용을 읽을 수 있습니다 ."

"메일 수신 방법도 알고 싶으시면 여기를 참조하십시오 ."

"거룩한 몰리. 얼마나 유용한 링크인가!"

"그래, 이제 나만의 이메일 클라이언트를 만들거야. 멋져!"

"고마워, 엘리!"