스프링 메일보내기

Jiwon Park·2023년 3월 23일
0

1.pom.xml 의존성 추가

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>javax.mail-api</artifactId>
			<version>1.6.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
		<dependency>
			<groupId>com.sun.mail</groupId>
			<artifactId>javax.mail</artifactId>
			<version>1.6.2</version>
		</dependency>
		

2.root-context.xml

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name ="host" value="smtp.gmail.com"></property>
		<property name="port" value="587"></property>
		<property name="username" value="이메일"></property>
		<property name="password" value="앱키패스워드"></property>
		<property name="javaMailProperties">
			<props>
				<prop key = "mail.smtp.auth">true</prop>
				<prop key = "mail.smtp.starttls.enable">true</prop>
				<prop key = "mail.transport.protocol">smtp</prop>
				<prop key = "mail.debug">true</prop>
				<prop key = "mail.smtp.ssl.trust">smtp.gmail.com</prop>
				<prop key = "mail.smtp.ssl.protocols">TLSv1.2</prop>
			</props>
		</property>
	</bean>	
		
  1. serviceImpl
@Service
public class GoogleMailServiceImpl implements MailService {

	@Autowired
	private JavaMailSender mailSender;
	
	@Async
	public void sendMail(String to, String subject, String body) {
		MimeMessage message = mailSender.createMimeMessage();
		
		try {
			MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
			messageHelper.setFrom("이메일","보내는이이름");
			messageHelper.setSubject(subject); //제목
			messageHelper.setTo(to); // 받는이
			messageHelper.setText(body); //내용
			mailSender.send(message);
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
profile
안녕하세요

0개의 댓글