Spring 의 Maven 프로젝트 를 바탕 으로 메 일 발송 기능 을 실현 하 는 예시

문제 분석
지금 우 리 는 이러한 수요 가 있 습 니 다.바로 우리 시스템 에 문제 가 발생 하거나 bug 가 발생 했 을 때 시스템 이 메 일 을 통 해 로그 정 보 를 관계자 에 게 보 내 도록 하 는 것 입 니 다.그러면 우 리 는 시스템 이 메 일 을 보 내 는 기능 을 실현 해 야 합 니 다.
해결 절차
1.pom jar 패키지 가 져 오기

<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.1</version>
</dependency>
2.xml 설정
application-mail.xml 설정

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
  ">

<!--           -->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <!--      -->
  <property name="host" value="smtp.qq.com"/>

  <!--               -->
  <property name="username" value="[email protected]"/>
  <!--           -->
  <property name="password" value="xxxxxxx"/>
  <property name="defaultEncoding" value="UTF-8"/>
  <property name="javaMailProperties">
    <props>
      <!--             ,      -->
      <prop key="mail.smtp.auth">true</prop>
      <!-- SMTP    :     TLS     -->
      <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
  </property>
</bean>
</beans>
3.스프링 관리 에 맡 기기
사실은 메 일 을 보 낸 xml 프로필 을 spring 프로필 에 도입 하 는 것 입 니 다.

<!--        ,          plugs        .xml  -->
<import resource="classpath:plugins/*.xml"/>
여기 서 설명 이 필요 합 니 다.classpath 뒤 에는 이러한 기능 을 실현 하 는 전문 적 인 프로필 에 관 한 폴 더 가 있 습 니 다.그리고 폴 더 에 있 는 모든 xml 프로필 을 연결 합 니 다.물론 이렇게 쓸 수도 있 습 니 다.

<import resource="classpath:plugins/applicationContext-mail.xml"/>
이렇게 설정 하 는 것 도 전혀 문제 가 없습니다.개인 적 인 취향 을 보 세 요.다만 저 는 관련 프로필 을 같은 폴 더 에 넣 고 통일 적 으로 도입 하 는 것 을 좋아 합 니 다.
4.코드 구현
설명 이 필요 합 니 다.메 일 은 두 가지 로 나 뉘 는데 하 나 는 일반 메 일,즉 텍스트 정보 입 니 다.html 코드 나 첨부 파일 을 포함 하지 않 고 다른 하 나 는 html 코드 와 첨부 파일 을 포함 하 는 것 입 니 다.이 두 가지 방식 은 모두 메 일 을 보 내 는 유형 에 메 일 을 보 내 는 핵심 이미 지 를 도입 해 야 합 니 다.

@Autowired
private JavaMailSender javaMailSender;
4.1 보통 우편
주의해 야 할 것 은 여기 서 메 일 을 보 내 는 주 소 는 application-mail.xml 에 설 정 된 username 이 어야 합 니 다.

  //      
  SimpleMailMessage message = new SimpleMailMessage();

  //                
  message.setFrom("[email protected]");

  //    
  message.setSubject("     ");
  //      
  message.setText("   ,    ");

  //       --    
  message.setTo("[email protected]");

  //    
  javaMailSender.send(message);
4.1 복잡 한 우편물

 //         
  MimeMessage mimeMessage = javaMailSender.createMimeMessage();

  //            ,      ,        true    
  MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");

  //           ,   xml      
  messageHelper.setFrom("[email protected]");

  //      
  messageHelper.setSubject("      ,   ");

  //           
  messageHelper.setText("      ,    ");

  //       html  ,      html true
  messageHelper.setText("<h2>       html  ,    ?</h2>",true);

  //         ,     
  messageHelper.addAttachment("hah.png",new File("img/1.png"));

  //      
  messageHelper.addAttachment("mf  ",new File("s/login.jsp"));

  //               ,       
  messageHelper.setCc("[email protected]");
  //               ,       
  messageHelper.setTo("[email protected]");

  //    
  javaMailSender.send(mimeMessage);
5.메 일 박스 설정
지금 바로 보 낼 수 있다 고 생각 하지 마 세 요.1 마 오 를 더 써 야 합 니 다.이 돈 은 저 에 게 주 는 것 이 아니 라 메 일이 나 브 라 우 저 에 주 는 것 이 아니 라 운영 자 에 게 주 는 것 입 니 다.여 기 는 QQ 메 일 로 예 를 들 면:
첫 번 째 단 계 는 메 일 홈 페이지 왼쪽 상단 설정 을 클릭 합 니 다.

두 번 째 단 계 는 계 정 설정 을 선택 하 십시오.

세 번 째,아래로 넘 기 고 POP 3/IMAP/SMTP/Exchange/CardDAV/CalDAV 서비스 로 넘 기기

네 번 째 단 계 는 문자 보 내 드 리 겠 습 니 다.이 럴 때 바로 문 자 를 보 낼 수 있 습 니 다.여 기 는 돈 을 받 는 곳 입 니 다.보 세 요.제 가 받 는 게 아 닙 니 다.

마지막 으로 발송 에 성공 하면 인증 코드 를 받 습 니 다.기억 하고 응용 프로그램-mail.xml 에 있 는 password 표시 줄 에 입력 한 다음 에 테스트 방법 을 실행 하면 됩 니 다.
Spring 의 Maven 프로젝트 를 바탕 으로 메 일 발송 기능 을 실현 하 는 예 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Spring Maven 프로젝트 에 관 한 메 일 발송 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기