[Spring Framework]Spring Framework에서 메일을 보내는 방법(Gmail)
환경(로컬)
Windows 10
java 13.0.2
tomcat8.5
환경(서버)
Linode cloud에서 Centos7 서비스
java 15.0.1
tomcat9.0.39
상황
Spring Framework에서 Gmail 메일서버를 통해 메일 발송하기
기본적으로 필요한것
Google ID(gmail사용)
Gmail의 보안이 낮은 수준 앱을 사용할 수 있도록 허용
https://www.google.com/settings/security/lesssecureapps
Google 계정에 대한 액세스 허용
(에러는 나지 않는데 발송이 되지 않는 경우 접속해서 계속 버튼을 누르고 허용)
accounts.google.com/DisplayUnlockCaptcha
진행
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
프로젝트 pom.xml에 mail.jar를 추가
Maven Dependencies에서 하단에 mail-1.4.7.jar를 확인
root-context.xml 에 gmail설정을 추가
<!-- gmail설정 -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="자신의 이메일 아이디"/> <!-- 자신의 이메일 아이디 -->
<property name="password" value="자신의 비밀번"/> <!-- 자신의 비밀번호 -->
<!-- 보안연결 TLS과 관련된 설정 -->
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
이제 jsp에서 요청하고
Controller에서 처리하자
@Autowired
private JavaMailSender mailSender;
//mailSend 코드
@RequestMapping(value = "/mail/mailSend", method = RequestMethod.POST)
public String mailSend(HttpServletRequest request,String name,String last_name,String email,String phone,String message) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
messageHelper.setFrom("fuzo070130@gmail.com"); // 보내는사람 이메일 여기선 google 메일서버 사용하는 아이디를 작성하면됨
messageHelper.setTo("nect2r@kakao.com"); // 받는사람 이메일
messageHelper.setSubject("[포트폴리오] 안녕하세요 저는" + name + last_name + "입니다."); // 메일제목
messageHelper.setText(message + " 연락처는 " + phone + "입니다. Email은 " + email + "입니다."); // 메일 내용
mailSender.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/";
}
작동을 확인해보자
안에 내용을 채우고 SEND를 누르면
정상적으로 받아진다.
이제 나는 war를 Linode에 배포하고 확인해보면 될 거 같다.
'Backend > Spring Framework' 카테고리의 다른 글
[Spring Framework] 전자정부 프레임워크 POST 발송시 한글깨짐 해결 (0) | 2021.02.24 |
---|---|
[Spring Framework]Spring Framework에서 ehcache를 사용해보자! (0) | 2021.02.08 |
[Spring Framework]전자정부프레임워크 공통컴포넌트 DML입력시 대체 변수 해결하기 (0) | 2020.12.30 |
[Spring Framework]전자정부프레임워크(3.9.0) 설치 방법 (0) | 2020.12.26 |
[Spring Framework]스프링 컨트롤러에서 외부로 URL 리다이렉트 (0) | 2020.12.01 |
댓글
이 글 공유하기
다른 글
-
[Spring Framework]Spring Framework에서 ehcache를 사용해보자!
[Spring Framework]Spring Framework에서 ehcache를 사용해보자!
2021.02.08 -
[Spring Framework]전자정부프레임워크 공통컴포넌트 DML입력시 대체 변수 해결하기
[Spring Framework]전자정부프레임워크 공통컴포넌트 DML입력시 대체 변수 해결하기
2020.12.30 -
[Spring Framework]전자정부프레임워크(3.9.0) 설치 방법
[Spring Framework]전자정부프레임워크(3.9.0) 설치 방법
2020.12.26 -
[Spring Framework]스프링 컨트롤러에서 외부로 URL 리다이렉트
[Spring Framework]스프링 컨트롤러에서 외부로 URL 리다이렉트
2020.12.01