java mail sender

greenTeaยท2023๋…„ 4์›” 7์ผ
0

๐Ÿซค๊ฐœ์ธ์ ์œผ๋กœ ๊ณต๋ถ€๋ฅผ ํ•˜๋˜์ค‘ ๋‹ค๋ฅธ ์›น ์‚ฌ์ดํŠธ์—์„œ์™€ ๊ฐ™์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ๊ฑฐ๋‚˜ ํšŒ์›๊ฐ€์ž…์˜ ๊ฒฝ์šฐ ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด๋„๋ก ์„ค์ •์„ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๋ฐฉ๋ฒ•์„ ์ฐพ๋˜ ์ค‘ java mail sender๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

spring:
  mail:
    host: smtp.gmail.com
    port: 587
    username: {์ž์‹ ์˜ email ์ฃผ์†Œ}
    password: {์ž์‹ ์˜ email ๋น„๋ฐ€๋ฒˆํ˜ธ}

    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true

์œ„์˜ ๊ฒฝ์šฐ ๋„ค์ด๋ฒ„์™€ ๊ตฌ๊ธ€์˜ ๋“ฑ๋ก ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์ฐธ๊ณ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์œ„์˜ ๊ฒฝ์šฐ๋Š” ๊ตฌ๊ธ€๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

์ดํ›„ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

@Service
@PropertySource(value = "classpath:formsg.properties")
@RequiredArgsConstructor
public class MailService {

    private final JavaMailSender mailSender;

    @Value("${FROM_ADDRESS}")
    private String ME;

    public void sendMail(String email, String uuid) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(email);
        message.setFrom(ME);
        message.setSubject("localhost:8080 email ํ™•์ธ");
        message.setText(uuid);

        mailSender.send(message);
    }
}

์œ„์˜ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜์ž๋ฉด

  • JavaMailSender mailSender : JavaMailSender๋ฅผ ์ž๋™ ์ฃผ์ž…๋ฐ›๊ณ  ์žˆ๋‹ค.
  • setTo : ๋ˆ„๊ตฌ์—๊ฒŒ ๋ณด๋‚ผ ๊ฒƒ์ธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.
  • setFrom : ๋‚ด๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.
  • setSubject : ์ œ๋ชฉ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • setText : ๋‚ด์šฉ์„ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • send : ์‹ค์ œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜์ด๋‹ค.
  • FROM_ADDRESS๋Š” ๋‚˜์˜ ๋‚˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ธ€์ž์ด๋‹ค.

๐Ÿซก์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•˜๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ image๋‚˜ ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์„ ๊ฐ™์ด ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด MimeMultipart๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

profile
greenTea์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€