用Java傳送QQ郵件
阿新 • • 發佈:2021-01-06
技術標籤:Java
1. 開啟QQ郵箱SMTP服務
在QQ郵箱的設定 -> 賬戶中開啟POP3/SMTP服務
開啟成功後記下生成的授權碼(可代替原始密碼)
2. 簡單例項
建立一個Maven專案,在pom.xml中加入:
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</ version>
</dependency>
</dependencies>
package com.example;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class EmailSender {
public static void main(String[] args) {
final String srcEmail = "xxxxx";
final String authCode = "xxxxx";
String targetEmail = "xxxxx";
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.auth", "true" );
Session session = Session.getDefaultInstance(props, new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(srcEmail,authCode);
}
});
try {
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress(srcEmail));
mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(targetEmail));
mimeMessage.setSubject("JavaEmail");
mimeMessage.setText("Hello World!");
Transport.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
}
}
只需要自定義填寫前三個字串即可,分別為發件人郵箱地址、授權碼、收件人郵箱地址。