Spring Boot 실전 발송 메 일 예시 코드
메 일 서 비 스 는 인터넷 초기 에 이미 나 타 났 고 지금 은 사람들의 인터넷 생활 에서 없어 서 는 안 될 서비스 가 되 었 다.그럼 메 일 서 비 스 는 어떻게 일 합 니까?다음 과 같이 메 일 발송 과 수신 의 전형 적 인 과정 을 보 여 줍 니 다.
1.발송 자 는 SMTP 프로 토 콜 을 사용 하여 메 일 서버 A 로 메 일 을 전송 합 니 다.
2.메 일 서버 A 는 메 일 에서 지정 한 수신 자 에 따라 해당 하 는 메 일 서버 B 에 게 메 일 을 보 냅 니 다.
3.수신 자 는 POP 3 프로 토 콜 을 사용 하여 메 일 서버 B 에서 메 일 을 받 습 니 다.
SMTP(Simple Mail Transfer Protocol)는 전자 우편(email)이 전송 하 는 인터넷 표준 으로 RFC 5321 에 정의 되 며 기본 포트 25 를 사용 합 니 다.
POP 3(Post Office Protocol-Version 3)는 주로 클 라 이언 트 가 서버 에 있 는 이메일 을 원 격 으로 관리 하 는 것 을 지원 합 니 다.RFC 1939 에서 POP 프로 토 콜 로 정 의 된 3 판(최신 판).
이 두 프로 토 콜 은 모두 TCP/IP 프로 토 콜 족의 응용 층 프로 토 콜 로 TCP 층 위 에서 실 행 됩 니 다.
우리 가 일상적으로 메 일 을 보 내 는 데 사용 하 는 클 라 이언 트,웹 메 일의 배후 에서 이 두 프로 토 콜 을 실행 하고 메 일 을 보 내 는 과정 을 완성 합 니 다.이 제 는 사용자 에 게 보 낸 메 일 을 메 일 서버 로 전송 하기 위해 SMTP 프로 토 콜 을 사용 해 야 합 니 다.
클 라 이언 트 에서 메 일 을 서버 로 전송 하려 면 쌍방의 협조 가 필요 하고 규칙 은 SMTP 프로 토 콜 에 정의 된다.우리 가 지금 해 야 할 일 은 SMTP 서버 를 찾 아서 SMTP 클 라 이언 트 를 실현 한 다음 에 클 라 이언 트 가 서버 에 메 일 을 보 내 도록 하 는 것 이다.
메 일 서버 설정
본 고 는 126 메 일 테스트 를 사용 하여 아래 인터페이스 에서 smtp 서버 를 열 고 권한 수여 코드 를 설정 하여 뒤의 코드 에서 사용 할 것 입 니 다.
3.메 일 클 라 이언 트 실현
1)pom.xml 을 수정 하고 의존 라 이브 러 리 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2)application.properties 를 수정 하고 메 일 설정 을 추가 합 니 다.
spring.mail.host=smtp.126.com
spring.mail.username=****@126.com
spring.mail.password=password #
spring.mail.default-encoding=UTF-8
3)MailController 추가
package com.xiaofangtech.sunt.controller;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xiaofangtech.sunt.utils.ResultMsg;
import com.xiaofangtech.sunt.utils.ResultStatusCode;
@RestController
@RequestMapping("mail")
public class MailController {
@Autowired
JavaMailSender mailSender;
@RequestMapping("sendemail")
public Object sendEmail()
{
try
{
final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
message.setFrom("****@126.com");
message.setTo("****@example.com");
message.setSubject(" ");
message.setText(" ");
this.mailSender.send(mimeMessage);
ResultMsg resultMsg = new ResultMsg(ResultStatusCode.OK.getErrcode(),
ResultStatusCode.OK.getErrmsg(), null);
return resultMsg;
}
catch(Exception ex)
{
ResultMsg resultMsg = new ResultMsg(ResultStatusCode.SYSTEM_ERR.getErrcode(),
ResultStatusCode.SYSTEM_ERR.getErrmsg(), null);
return resultMsg;
}
}
}
4)테스트 실행브 라 우 저 에 입력
http://localhost:8080/mail/sendemail
메 일 박스 를 보면 방금 보 낸 메 일 을 받 을 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.