1.0 開發環境
- 開發工具 idea
- 額外jar包 mail.jar
jar包的maven位址
<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependency >
<groupId >com.sun.mail </groupId >
<artifactId >javax.mail </artifactId >
<version >1.5.4 </version >
</dependency >
代碼如下:
package com.ccut.base.util;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
* Created by admin on 2018/6/24.
*/
public class SendMail {
public SendMail(){
//做連結前的準備工作 也就是參數初始化
Properties properties = new Properties();
properties.setProperty("mail.smtp.host","smtp.qq.com");//發送郵箱伺服器
properties.setProperty("mail.smtp.port","465");//發送端口
properties.setProperty("mail.smtp.auth","true");//是否開啟權限控制
properties.setProperty("mail.debug","true");//true 列印資訊到控制台
properties.setProperty("mail.transport","smtp");//發送的協定是簡單的郵件傳輸協定
properties.setProperty("mail.smtp.ssl.enable","true");
//建立兩點之間的連結
System.out.println("執行了2");
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]","xxxxxdfda");
}
});
System.out.println("執行了3");
//建立郵件對象
Message message = new MimeMessage(session);
//設定發件人
try {
message.setFrom(new InternetAddress("[email protected]"));
//設定收件人
message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));//收件人
//設定主題
message.setSubject("驗證碼");
//設定郵件正文 第二個參數是郵件發送的類型
message.setContent("2569658","text/html;charset=UTF-8");
//發送一封郵件
Transport transport = session.getTransport();
transport.connect("[email protected]","xxxxxda");
Transport.send(message);
System.out.println("執行了");
} catch (MessagingException e) {
e.printStackTrace();
}finally {
}
}
public static void main(String[] args) {
System.out.println("執行了1");
SendMail SendMail = new SendMail();
}
}
大多數代碼看注釋就可以看懂了
但是要注意我們發送的賬戶要去郵箱開啟
POP3/SMTP服務
步驟我們以qq為例
看圖就行了
然後
開啟服務
發送短信
然後會給你一個授權碼 這就相當于你的登入密碼
也就是上述xxxxxdfda 地方換成響應的授權碼 這樣就可以不用擔心密碼洩露的問題了
關于即使填了授權碼也報535錯誤的原因可能是網絡問題,我遇見過,莫名其妙就好了。。。。。我也不知道為啥
上面的問題今天又遇見了,最終知道了原因 就是短時間内你發送了大量的郵件 導緻的 是以過5分鐘左右你在發送就好了 這個應該是qq郵箱的問題