1. 程式人生 > 其它 >用Java傳送QQ郵件

用Java傳送QQ郵件

技術標籤:Java

1. 開啟QQ郵箱SMTP服務

在QQ郵箱的設定 -> 賬戶中開啟POP3/SMTP服務
QQ圖片20210105231328
開啟成功後記下生成的授權碼(可代替原始密碼)

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(); } } }

只需要自定義填寫前三個字串即可,分別為發件人郵箱地址、授權碼、收件人郵箱地址。