"๋˜ ๋‚˜์•ผ. ๊ทธ๋ฆฌ๊ณ  ๋˜, ๋„ˆ์—๊ฒŒ ์ค„ ์•ฝ๊ฐ„์˜ ์„œํ”„๋ผ์ด์ฆˆ๊ฐ€ ์žˆ์–ด."

"์˜ค๋Š˜์€ 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));

"์žฌ๋ฏธ์žˆ๋‹ค! ํ•œ๋ฒˆ ํ•ด๋ด์•ผ๊ฒ ๋‹ค."

"์ฒจ๋ถ€ ํŒŒ์ผ์ด ์žˆ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ํ•ด๋‹น ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ."

"๋ฉ”์ผ ์ˆ˜์‹  ๋ฐฉ๋ฒ•๋„ ์•Œ๊ณ  ์‹ถ์œผ์‹œ๋ฉด ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค ."

"๊ฑฐ๋ฃฉํ•œ ๋ชฐ๋ฆฌ. ์–ผ๋งˆ๋‚˜ ์œ ์šฉํ•œ ๋งํฌ์ธ๊ฐ€!"

"๊ทธ๋ž˜, ์ด์ œ ๋‚˜๋งŒ์˜ ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งŒ๋“ค๊ฑฐ์•ผ. ๋ฉ‹์ ธ!"

"๊ณ ๋งˆ์›Œ, ์—˜๋ฆฌ!"