자바 메 일 발송 기능 인 스 턴 스 구현(아 리 클 라 우 드 메 일 푸 시)

머리말
아 리 클 라 우 드 도 메 인 이름 을 연결 하고 도 메 인 이름 계 정 을 만 들 고 도 메 인 이름 계 정 을 분석 하 는 권한 을 설정 하여 메 일 을 보 낼 수 있 는 권한 을 얻 습 니 다.상한 선 200 통,원 하 는 것 을 초과 합 니 다.
아 리 운 메 일 푸 시 콘 솔
https://www.aliyun.com/product/directmail
메 일 을 신청 하고 도 메 인 이름 을 분석 합 니 다.
https://yq.aliyun.com/articles/707997
1.메 일 정보 실체 클래스

package cn.bitqian.mail.test;

/**
 *        
 * @author echo lovely
 * @date 2020/9/18 15:47
 */
public class MailInfo {

  //      
  private String sendEmailAccount;

  //      
  private String sendEmailPassword;

  //      
  private String receiveMailAccount;

  //      
  private String sendPersonName;

  //      
  private String receivePersonName;

  //     
  private String mailTitle;

  //     
  private String mailContent;

  public MailInfo(String sendEmailAccount, String sendEmailPassword, String receiveMailAccount,
          String sendPersonName, String receivePersonName,
          String mailTitle, String mailContent) {
    this.sendEmailAccount = sendEmailAccount;
    this.sendEmailPassword = sendEmailPassword;
    this.receiveMailAccount = receiveMailAccount;
    this.sendPersonName = sendPersonName;
    this.receivePersonName = receivePersonName;
    this.mailTitle = mailTitle;
    this.mailContent = mailContent;
  }

  public String getSendEmailAccount() {
    return sendEmailAccount;
  }

  public void setSendEmailAccount(String sendEmailAccount) {
    this.sendEmailAccount = sendEmailAccount;
  }

  public String getSendEmailPassword() {
    return sendEmailPassword;
  }

  public void setSendEmailPassword(String sendEmailPassword) {
    this.sendEmailPassword = sendEmailPassword;
  }

  public String getReceiveMailAccount() {
    return receiveMailAccount;
  }

  public void setReceiveMailAccount(String receiveMailAccount) {
    this.receiveMailAccount = receiveMailAccount;
  }

  public String getMailTitle() {
    return mailTitle;
  }

  public void setMailTitle(String mailTitle) {
    this.mailTitle = mailTitle;
  }

  public String getMailContent() {
    return mailContent;
  }

  public void setMailContent(String mailContent) {
    this.mailContent = mailContent;
  }

  public String getSendPersonName() {
    return sendPersonName;
  }

  public void setSendPersonName(String sendPersonName) {
    this.sendPersonName = sendPersonName;
  }

  public String getReceivePersonName() {
    return receivePersonName;
  }

  public void setReceivePersonName(String receivePersonName) {
    this.receivePersonName = receivePersonName;
  }
}

2.jar 가방 의존

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
 </dependency>

 <!-- mail dependency -->
 <dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>javax.mail</artifactId>
  <version>1.6.2</version>
 </dependency>
3.이메일 발송 실현
주의:
 1.다음 속성 을 변경 하여 실체 클래스 와 대응

코드 구현

package cn.bitqian.mail.test;

import org.junit.Test;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;


/**
 *        
 * @author echo lovely
 * @date 2020/9/18 15:54
 */
public class MailSendUtils {

  //   smtp            
  public static final String myEmailSMTPHost = "smtpdm.aliyun.com";

  @Test
  public void test() {
    MailInfo mailInfo = new MailInfo("            ",
        "        ",
        "      ", "     ",
        "     ", "    ", "    ");
    try {
      sendEmail(mailInfo);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  public void sendEmail(MailInfo mailInfo) throws Exception {

    // 1.       ,               
    Properties props = new Properties();          //     
    props.setProperty("mail.transport.protocol", "smtp");  //      (JavaMail    )
    props.setProperty("mail.smtp.host", myEmailSMTPHost);  //         SMTP      
    props.setProperty("mail.smtp.auth", "true");      //       

    // 2.           ,           
    Session session = Session.getInstance(props);
    session.setDebug(true);                 //    debug  ,           log

    // 3.       
    MimeMessage message = new MailSendUtils().createMimeMessage(session, mailInfo);

    // 4.    Session         
    Transport transport = session.getTransport();

    // 5.                     ,            message          ,     
    transport.connect(mailInfo.getSendEmailAccount(), mailInfo.getSendEmailPassword());

    // 6.     ,          , message.getAllRecipients()                      ,    ,    
    transport.sendMessage(message, message.getAllRecipients());

    // 7.     
    transport.close();
  }

	
  public MimeMessage createMimeMessage(Session session, MailInfo mailInfo) throws Exception {
    // 1.       
    MimeMessage message = new MimeMessage(session);

    // 2. From:    (       ,                      ,     )
    message.setFrom(new InternetAddress(mailInfo.getSendEmailAccount(), mailInfo.getSendPersonName(), "UTF-8"));

    // 3. To:    (         、  、  )
    message.setRecipient(MimeMessage.RecipientType.TO,
        new InternetAddress(mailInfo.getReceiveMailAccount(), mailInfo.getReceivePersonName(), "UTF-8"));

    // 4. Subject:     (       ,                      ,     )
    message.setSubject(mailInfo.getMailTitle(), "UTF-8");

    // 5. Content:     (    html  )(       ,                      ,       )
    message.setContent(mailInfo.getMailContent(), "text/html;charset=UTF-8");

    // 6.       
    message.setSentDate(new Date());

    // 7.     
    message.saveChanges();

    return message;
  }

}


총결산
자바 의 메 일 발송 기능(아 리 클 라 우 드 메 일 푸 시)실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 메 일 발송(아 리 클 라 우 드 메 일 푸 시)내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기