Spring Boot 실전 발송 메 일 예시 코드

3768 단어 springboot우편물
1.메 일 서비스 안내
메 일 서 비 스 는 인터넷 초기 에 이미 나 타 났 고 지금 은 사람들의 인터넷 생활 에서 없어 서 는 안 될 서비스 가 되 었 다.그럼 메 일 서 비 스 는 어떻게 일 합 니까?다음 과 같이 메 일 발송 과 수신 의 전형 적 인 과정 을 보 여 줍 니 다.
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
메 일 박스 를 보면 방금 보 낸 메 일 을 받 을 수 있 습 니 다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기