[Spring] - SimpleMailMessage μ—λŸ¬

πŸ’¬ 상황 μ„€λͺ…

νšŒμ›κ°€μž… μ‹œ 이메일 λ°œμ†‘μ„ κ΅¬ν˜„ν•˜λ˜ 쀑 λ°œμ†‘ κ³Όμ •μ—μ„œ μ•„λž˜μ™€ 같은 μ—λŸ¬ ꡬ문 확인

534-5.7.9 application-specific password required.
learn more at 534 5.7.9 https://support.google.com/mail/?p=invalidsecondfactor h5-20020a63c005000000b004639c772878sm6868282pgg.48 - gsmtp

πŸ›  κ΅¬ν˜„ μ½”λ“œ

public class MemberService {
    @Value("${spring.mail.username}")
    private String FROM;

    public Member join(SignUpDto signUpDto) {
        ...
        MailDto mailDto = MailDto.builder()
                .title("제λͺ©")
                .message("λ‚΄μš©")
                .email(signUpDto.getEmail())
                .build();
        sendMail(mailDto);
    }

    public void sendMail(MailDto mailDto) {
        SimpleMailMessage sm = new SimpleMailMessage();
        try {
            sm.setTo(mailDto.getEmail());
            sm.setFrom(FROM);
            sm.setSubject(mailDto.getTitle());
            sm.setText(mailDto.getMessage());
            javaMailSender.send(sm);
        } catch (MailException e) {
            e.printStackTrace();
        }
    }
}
# application.yml
spring:
  mail:
    host: smtp.gmail.com
    port: 587
    username: ${email}
    password: ${password}
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true

πŸ”Ž 원인 뢄석

μœ„μ™€ 같은 ν˜•νƒœλ‘œ μΆ”κ°€ν•΄λ†“μ•˜κ³ , μ½”λ“œμ μœΌλ‘œ λ¬Έμ œλ˜λŠ” 뢀뢄은 μ—†μ–΄λ³΄μ˜€λ‹€.
${password} 뢀뢄은 μ‹€μ œ λΉ„λ°€λ²ˆν˜Έλ‘œ μž…λ ₯ν•˜μ˜€κ³ , application.yml νŒŒμΌμ—μ„œ username도 μ œλŒ€λ‘œ λΆˆλŸ¬μ™€μ§€λŠ”μ§€ 확인도 ν–ˆλ‹€.
μ—λŸ¬ μ½”λ“œμ— λ‚˜μ™€μžˆλŠ” μ£Όμ†Œμ— λ“€μ–΄κ°€λ³΄λ‹ˆ 힌트λ₯Ό μ–»μ–΄ ν•΄κ²°ν•  수 μžˆμ—ˆλ‹€.
https://support.google.com/mail/?p=invalidsecondfactor

βœ… ν•΄κ²° κ³Όμ •

μ—λŸ¬μ½”λ“œμ—μ„œ λ³΄μ΄λŠ” 링크λ₯Ό λ“€μ–΄κ°€ ν™•μΈν•΄λ³΄λ‹ˆ Gmail 고객센터에 연결이 λ˜μ—ˆκ³ , μ—λŸ¬ μ½”λ“œμΈ 534-5.7.9λ₯Ό κ²€μƒ‰ν•΄λ³΄λ‹ˆ λ‹€μ–‘ν•œ ν¬λŸΌμ„ 확인할 수 μžˆμ—ˆλ‹€.
λŒ€λΆ€λΆ„μ˜ 닡변은 2μ°¨ 인증 λΉ„λ°€λ²ˆν˜Έλ₯Ό μ„€μ •ν•˜λ©΄ λœλ‹€ν•΄μ„œ 링크λ₯Ό 톡해 ν•΄κ²°ν–ˆλ‹€.
μ°Έκ³  λΈ”λ‘œκ·Έ

λŒ“κΈ€λ‚¨κΈ°κΈ°