자바 메 일 발송 기능 인 스 턴 스 구현(아 리 클 라 우 드 메 일 푸 시)
아 리 클 라 우 드 도 메 인 이름 을 연결 하고 도 메 인 이름 계 정 을 만 들 고 도 메 인 이름 계 정 을 분석 하 는 권한 을 설정 하여 메 일 을 보 낼 수 있 는 권한 을 얻 습 니 다.상한 선 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;
}
}
총결산자바 의 메 일 발송 기능(아 리 클 라 우 드 메 일 푸 시)실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 메 일 발송(아 리 클 라 우 드 메 일 푸 시)내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.