๋ชฉ์ฐจ
์ด๋ค ์ํฉ์์ ์ฐ์ผ๊น?
์ผ์์ํ์์ ์ ๋ฑ์ ํฌ๋, ์ฐ๋ฆฌ๋ ์ค์์น ํ๋๋ง ๋๋ฅด๋ฉด ๋๋ค
์ค์์น๋ฅผ ๋๋ ์ ๋ ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ์ ์ ๋ฑ์ด ์ผ์ง๋์ง ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ์ ํ์๊ฐ ์์๊น? ์ ํ์๋ค
ํผ์ฌ๋ ํจํด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค!
ํผ์ฌ๋ ํจํด์ด๋?
ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉํด์ผํ๋ ๋ณต์กํ ์๋ธ ์์คํ ์์กด์ฑ์ ๊ฐ๋จํ ์ธํฐํ์ด์ค๋ก ์ถ์ํ ํ๋ ํจํด์ด๋ค
ํผ์ฌ๋ ํจํด์ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํผ ์ญํ ์ผ ๋ฟ์ด์ง,
์๋ธ์์คํ ์ธํฐํ์ด์ค๋ฅผ ์จ๊ธฐ๋ ๊ฒ์ ์๋๋ค!
๋ํ ํผ์ฌ๋ํจํด์ ์๋ธ์์คํ ์ ์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฉํ ๋ ์ ์ฉํ๋ฉด ์ด์ ์ด ์๋ ํจํด์ด๋ค!
์ฅ์
- ์๋ธ ์์คํ ์ ๋ํ ์์กด์ฑ์ ํ๊ณณ์ผ๋ก ๋ชจ์ ์ ์๋ค
- ์๋ธ ์์คํ ์ ๊ฐ ์ญํ ์ ๋ง๊ฒ ๋ถ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉํ ์ ์๋ค
๋จ์
- ํด๋ผ์ด์ธํธ์๊ฒ ์๋ ์์กด์ฑ์ด ๊ทธ๋๋ก ํผ์ฌ๋ ํด๋์ค๋ก ์ฎ๊ฒจ์ค๊ฒ๋๋ค.
๊ตฌํ์ฝ๋
๊ธฐ์กด์ฝ๋
public class Client {
public static void main(String[] args) {
String to = "keesun@whiteship.me";
String from = "whiteship@whiteship.me";
String host = "127.0.0.1";
//๋ฉ์ผ ์
ํ
์ค์
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
//๋ฉ์ผ ๋ด์ฉ ์ค์
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Test Mail from Java Program");
message.setText("message");
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
ํด๋ผ์ด์ธํธ๋ ๋ฉ์ผ์ ๋ณด๋ด๊ธฐ๋ง ํ๋ฉด๋๋ค!
์ค์ ์ ๋ํ ๋ถ๋ถ์ ๊ตณ์ด ํด๋ผ์ด์ธํธ ๋จ์ ๋ ธ์ถ์ํค์ง ์์๋ ๋๋ค.
๋ณ๊ฒฝ์ฝ๋
@Getter @Setter
public class ๐EmailSettings {
private String host;
}
-------------------------------------------------
@Getter @Setter
public class ๐EmailMessage {
private String from;
private String to;
private String cc;
private String bcc;
private String subject;
private String text;
}
public class EmailSender {
private EmailSettings emailSettings;
public EmailSender(๐EmailSettings emailSettings) {
this.emailSettings = emailSettings;
}
/**
* ์ด๋ฉ์ผ ๋ณด๋ด๋ ๋ฉ์๋
* @param emailMessage
*/
public void sendEmail(๐EmailMessage emailMessage) {
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", emailSettings.getHost());
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(emailMessage.getFrom()));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailMessage.getTo()));
message.addRecipient(Message.RecipientType.CC, new InternetAddress(emailMessage.getCc()));
message.setSubject(emailMessage.getSubject());
message.setText(emailMessage.getText());
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
public class Client {
public static void main(String[] args) {
๐EmailSettings emailSettings = new EmailSettings();
emailSettings.setHost("127.0.0.1");
๐EmailMessage emailMessage = new EmailMessage();
emailMessage.setFrom("keesun");
emailMessage.setTo("whiteship");
emailMessage.setCc("์ผ๋จ");
emailMessage.setSubject("์ค์ง์ด๊ฒ์");
emailMessage.setText("๋ฐ์ ๋ ์ง์ฅ์ด๋๋ผ๊ณ ..");
EmailSender emailSender = new EmailSender(๐emailSettings);
emailSender.sendEmail(๐emailMessage);
}
}
'๐ฐ Design Pattern' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Proxy Pattern | ํ๋ก์ ํจํด (0) | 2022.08.16 |
---|---|
Flyweight Pattern | ํ๋ผ์ด์จ์ดํธ ํจํด (0) | 2022.08.16 |
Decorator Pattern | ๋ฐ์ฝ๋ ์ดํฐ ํจํด (0) | 2022.08.16 |
Composite Pattern | ์ปดํฌ์ง ํจํด (0) | 2022.08.15 |
Bridge Pattern | ๋ธ๋ฆฟ์ง ํจํด (0) | 2022.08.15 |