通過java程序給qq郵箱發送信息。
1、第一步:下載mail的jar包:javax.mail.jar
下載地址:https://javaee.github.io/javamail/#Latest_News
2、直接使用下面的代碼
public static void sendMessages() { try { //創建Properties 類用於記錄郵箱的一些屬性 final Properties props = new Properties(); //表示SMTP發送郵件,必須進行身份驗證 props.put("mail.smtp.auth", "true"); //此處填寫SMTP服務器 props.put("mail.smtp.host", "smtp.qq.com"); //端口號,QQ郵箱給出了兩個端口,這里給出587 props.put("mail.smtp.port", "587"); //此處填寫你的賬號 props.put("mail.user", "你的qq號@qq.com"); //此處的密碼就是前面說的16位STMP口令 //獲取口令 props.put("mail.password", "你的口令"); //構建授權信息,用於進行SMTP進行身份驗證 Authenticator authenticator = new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { // 用戶名、密碼 String userName = props.getProperty("mail.user"); String password = props.getProperty("mail.password"); return new PasswordAuthentication(userName, password); } }; //使用環境屬性和授權信息,創建郵件會話 Session mailSession = Session.getInstance(props, authenticator); //創建郵件消息 MimeMessage message = new MimeMessage(mailSession); //設置發件人 InternetAddress form = new InternetAddress(props.getProperty("mail.user")); message.setFrom(form); //設置收件人的郵箱 InternetAddress to = new InternetAddress("收件人郵箱@qq.com"); message.setRecipient(RecipientType.TO, to); //設置郵件主題 message.setSubject("測試郵件"); //設置消息日期 message.setSentDate(new Date()); //html文件 StringBuilder sb = new StringBuilder(); sb.append("<h1>文本內容</h1>"); //設置郵件的內容體 message.setContent(sb.toString(), "text/html;charset=UTF-8"); //最后當然就是發送郵件 Transport.send(message); System.out.println("發送成功!"); } catch (AddressException e) { System.out.println("發送失敗!"+e.getMessage()); e.printStackTrace(); } catch (MessagingException e) { System.out.println("發送失敗!"+e.getMessage()); e.printStackTrace(); } }
3、上面代碼中主要填寫三個地方
①:發送的郵箱號
②:發送的郵箱號的口令(在下面會介紹如何獲取)
③:接收人的郵箱號
4、這樣就可以發送郵箱給別人了。
代碼參考:https://blog.csdn.net/qq_41750725/article/details/83831589
5、如何獲取發送人的口令
①:登錄發送方的qq郵箱-》找到賬號
②:拉到下面,找到需要開啟的服務,然后把相應的服務開啟即可。
③:開啟之后,就會獲取到一個16位的口令了。
④:具體參考:https://jingyan.baidu.com/article/fedf0737af2b4035ac8977ea.html
上面的方法只是以qq郵箱為例子,其他的郵箱也是差不多同樣的操作。下面提供各個郵箱的郵件服務器和端口號
sina.com: POP3服務器地址:pop3.sina.com.cn(端口:110) SMTP服務器地址:smtp.sina.com.cn(端口:25) sinaVIP: POP3服務器:pop3.vip.sina.com (端口:110) SMTP服務器:smtp.vip.sina.com (端口:25) sohu.com: POP3服務器地址:pop3.sohu.com(端口:110) SMTP服務器地址:smtp.sohu.com(端口:25) 126郵箱: POP3服務器地址:pop.126.com(端口:110) SMTP服務器地址:smtp.126.com(端口:25) 139郵箱: POP3服務器地址:POP.139.com(端口:110) SMTP服務器地址:SMTP.139.com(端口:25) 163.com: POP3服務器地址:pop.163.com(端口:110) SMTP服務器地址:smtp.163.com(端口:25) QQ郵箱 POP3服務器地址:pop.qq.com(端口:110) SMTP服務器地址:smtp.qq.com (端口:25) QQ企業郵箱 POP3服務器地址:pop.exmail.qq.com (SSL啟用 端口:995) SMTP服務器地址:smtp.exmail.qq.com(SSL啟用 端口:587/465) yahoo.com: POP3服務器地址:pop.mail.yahoo.com SMTP服務器地址:smtp.mail.yahoo.com yahoo.com.cn: POP3服務器地址:pop.mail.yahoo.com.cn(端口:995) SMTP服務器地址:smtp.mail.yahoo.com.cn(端口:587 HotMail POP3服務器地址:pop3.live.com (端口:995) SMTP服務器地址:smtp.live.com (端口:587) gmail(google.com) POP3服務器地址:pop.gmail.com(SSL啟用 端口:995) SMTP服務器地址:smtp.gmail.com(SSL啟用 端口:587) 263.net: POP3服務器地址:pop3.263.net(端口:110) SMTP服務器地址:smtp.263.net(端口:25) 263.net.cn: POP3服務器地址:pop.263.net.cn(端口:110) SMTP服務器地址:smtp.263.net.cn(端口:25) x263.net: POP3服務器地址:pop.x263.net(端口:110) SMTP服務器地址:smtp.x263.net(端口:25) 21cn.com: POP3服務器地址:pop.21cn.com(端口:110) SMTP服務器地址:smtp.21cn.com(端口:25) Foxmail: POP3服務器地址:POP.foxmail.com(端口:110) SMTP服務器地址:SMTP.foxmail.com(端口:25) china.com: POP3服務器地址:pop.china.com(端口:110) SMTP服務器地址:smtp.china.com(端口:25) tom.com: POP3服務器地址:pop.tom.com(端口:110) SMTP服務器地址:smtp.tom.com(端口:25) etang.com: POP3服務器地址:pop.etang.com SMTP服務器地址:smtp.etang.com
具體參考:https://blog.csdn.net/smok56888/article/details/50070453#