JavaMailSender error

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

java mail sender

๐Ÿ˜ขํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ฆฌ๋Š”๋ฐ ํ…Œ์ŠคํŠธ ๊ณผ์ •์—์„œ ๊ณ„์† NoSuchBeanDefinition error๊ฐ€ ๋ฐœ์ƒํ•ด ๋‹นํ™ฉํ•˜์˜€๋‹ค.

error์˜ ๋‚ด์šฉ์€ MailService๊ฐ์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์—๋Ÿฌ์˜€๋‹ค.

@Profile("dev")
@Service
@RequiredArgsConstructor
public class MailService {

    private final JavaMailSender mailSender;

    private String FROM_ADDRESS = "MY_ADDRESS";

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

        mailSender.send(message);
    }
}

๐Ÿ˜ฐ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ๋ณธ๋ฌธ์— ์žˆ์—ˆ๋Š”๋ฐ ํ…Œ์ŠคํŠธ ๊ณผ์ •์—์„œ MailService๋ฅผ ๊ณ„์† ์ฐพ์ง€ ๋ชปํ•ด Controller์—์„œ Autowired๊ฐ€ ๋˜์ง€ ์•Š์•„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ„์† ํ„ฐ์กŒ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. ๋‚ด๊ฐ€ ๋งŒ๋“  Mailservice๋ฅผ ์ง์ ‘ ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค.
ํ…Œ์ŠคํŠธ ํด๋”์— TestConfigํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค.

@Configuration
public class MailConfig {

    @Bean
    public MailService mailService() {
        return new MailService(javaMailService());
    }
    @Bean
    public JavaMailSender javaMailService() {
        JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();

        javaMailSender.setHost("smtp.naver.com");
        javaMailSender.setUsername("์ด๋ฉ”์ผ");
        javaMailSender.setPassword("๋น„๋ฐ€๋ฒˆํ˜ธ");

        javaMailSender.setPort(465);

        javaMailSender.setJavaMailProperties(properties());

        return javaMailSender;
    }

    private Properties properties() {
        Properties properties = new Properties();
        properties.setProperty("mail.transport.protocol", "smtp");
        properties.setProperty("mail.smtp.auth", "true");
        properties.setProperty("mail.smtp.starttls.enable", "true");
        properties.setProperty("mail.debug", "true");
        properties.setProperty("mail.smtp.ssl.trust","smtp.naver.com");
        properties.setProperty("mail.smtp.ssl.enable","true");
        return properties;
    }
}

๐Ÿซค์ฒซ ๋ฒˆ์งธ MailService๋Š” ๋‚ด๊ฐ€ ๋งŒ๋“  ์„œ๋น„์Šค๋กœ ์ง์ ‘ ๋“ฑ๋กํ•ด์ฃผ๊ณ  ํ•„์š”ํ•œ ์„ค์ •๋“ค์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. 2,3๋ฒˆ์งธ ๋นˆ์€ ํ•„์š”ํ•œ ์„ค์ •๋“ค์„ ์„ค์ •ํ•ด์ฃผ๋Š” ๊ณผ์ •์ด๋‹ค.

์•„๋ž˜ ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ๋ถ„์ด ์•„๋‹ˆ์—ˆ์œผ๋ฉด ๋ช‡ ์‹œ๊ฐ„์€ ํ—ค๋งธ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.๐Ÿ˜Š

์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ: TIL -leesomyoung

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

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

comment-user-thumbnail
2023๋…„ 4์›” 14์ผ

์•ˆ๋…•ํ•˜์„ธ์š”. ์ €๋„ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š”๋ฐ ํ˜น์‹œ ๊ด€๋ จ๋œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งํฌ๊ฐ€ ์žˆ์„๊นŒ์š”?
์•„๋‹ˆ๋ฉด ์Šคํ”„๋ง๋ถ€ํŠธ ๋ฒ„์ „๊ณผ ์˜์กด์„ฑ(build.gradle)์„ ์–ด๋–ค๊ฑธ ์ถ”๊ฐ€ํ•˜์…จ๋Š”์ง€ ์•Œ๊ณ ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ