๐ซค๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถ๋ฅผ ํ๋์ค ๋ค๋ฅธ ์น ์ฌ์ดํธ์์์ ๊ฐ์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ฐพ๊ฑฐ๋ ํ์๊ฐ์ ์ ๊ฒฝ์ฐ ์ธ์ฆ ๋ฒํธ๋ฅผ ๋ณด๋ด๋๋ก ์ค์ ์ ํด๋ณด๊ณ ์ถ์ด์ ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ค 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๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.