一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例

java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例

2020-05-01 13:34Past_Future JAVA教程

這篇文章主要為大家分享了java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

下載和上傳附件、發(fā)送短信和發(fā)送郵件,都算是程序中很常用的功能,之前記錄了文件的上傳和下載還有發(fā)送短信,由于最近比較忙,郵件發(fā)送的功能就沒(méi)有時(shí)間去弄,現(xiàn)在終于成功以163郵箱發(fā)送郵件到qq郵箱,以下是相關(guān)代碼,具體解釋可以參考代碼中注釋: 

java" id="highlighter_649067">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package test;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import com.sun.mail.util.MailSSLSocketFactory;
 
///**
// *
// * @author tuzongxun123
// * @Description 郵件發(fā)送測(cè)試類
// */
public class sendMailTest {
 public static void main(String[] args) throws Exception {
 // 配置信息
 Properties pro = new Properties();
 pro.put("mail.smtp.host", "smtp.163.com");
 pro.put("mail.smtp.auth", "true");
 // SSL加密
 MailSSLSocketFactory sf = null;
 sf = new MailSSLSocketFactory();
 // 設(shè)置信任所有的主機(jī)
 sf.setTrustAllHosts(true);
 pro.put("mail.smtp.ssl.enable", "true");
 pro.put("mail.smtp.ssl.socketFactory", sf);
 // 根據(jù)郵件的會(huì)話屬性構(gòu)造一個(gè)發(fā)送郵件的Session,這里需要注意的是用戶名那里不能加后綴,否則便不是用戶名了
 //還需要注意的是,這里的密碼不是正常使用郵箱的登陸密碼,而是客戶端生成的另一個(gè)專門的授權(quán)碼
 MailAuthenticator authenticator = new MailAuthenticator("tuzongxun123",
  "客戶端授權(quán)碼");
 Session session = Session.getInstance(pro, authenticator);
 // 根據(jù)Session 構(gòu)建郵件信息
 Message message = new MimeMessage(session);
 // 創(chuàng)建郵件發(fā)送者地址
 Address from = new InternetAddress("[email protected]");
 // 設(shè)置郵件消息的發(fā)送者
 message.setFrom(from);
 // 驗(yàn)證收件人郵箱地址
 List<String> toAddressList = new ArrayList<>();
 toAddressList.add("[email protected]");
 StringBuffer buffer = new StringBuffer();
 if (!toAddressList.isEmpty()) {
  String regEx = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
  Pattern p = Pattern.compile(regEx);
  for (int i = 0; i < toAddressList.size(); i++) {
  Matcher match = p.matcher(toAddressList.get(i));
  if (match.matches()) {
   buffer.append(toAddressList.get(i));
   if (i < toAddressList.size() - 1) {
   buffer.append(",");
   }
  }
  }
 }
 String toAddress = buffer.toString();
 if (!toAddress.isEmpty()) {
  // 創(chuàng)建郵件的接收者地址
  Address[] to = InternetAddress.parse(toAddress);
  // 設(shè)置郵件接收人地址
  message.setRecipients(Message.RecipientType.TO, to);
  // 郵件主題
  // message.setSubject("java郵件測(cè)試");
  message.setSubject("為什么錯(cuò)了");
  // 郵件容器
  MimeMultipart mimeMultiPart = new MimeMultipart();
  // 設(shè)置HTML
  BodyPart bodyPart = new MimeBodyPart();
  // 郵件內(nèi)容
  // String htmlText = "java郵件測(cè)試111";
  String htmlText = "為什么錯(cuò)了";
  bodyPart.setContent(htmlText, "text/html;charset=utf-8");
  mimeMultiPart.addBodyPart(bodyPart);
  // 添加附件
  List<String> fileAddressList = new ArrayList<String>();
  fileAddressList
   .add("C:\\Users\\tuzongxun123\\Desktop\\新建 Microsoft Office Word 文檔.docx");
  if (fileAddressList != null) {
  BodyPart attchPart = null;
  for (int i = 0; i < fileAddressList.size(); i++) {
   if (!fileAddressList.get(i).isEmpty()) {
   attchPart = new MimeBodyPart();
   // 附件數(shù)據(jù)源
   DataSource source = new FileDataSource(
    fileAddressList.get(i));
   // 將附件數(shù)據(jù)源添加到郵件體
   attchPart.setDataHandler(new DataHandler(source));
   // 設(shè)置附件名稱為原文件名
   attchPart.setFileName(MimeUtility.encodeText(source
    .getName()));
   mimeMultiPart.addBodyPart(attchPart);
   }
  }
  }
  message.setContent(mimeMultiPart);
  message.setSentDate(new Date());
  // 保存郵件
  message.saveChanges();
  // 發(fā)送郵件
  Transport.send(message);
 }
 }
}
 
class MailAuthenticator extends Authenticator {
 
 /**
 * 用戶名
 */
 private String username;
 /**
 * 密碼
 */
 private String password;
 
 /**
 * 創(chuàng)建一個(gè)新的實(shí)例 MailAuthenticator.
 *
 * @param username
 * @param password
 */
 public MailAuthenticator(String username, String password) {
 this.username = username;
 this.password = password;
 }
 
 public String getPassword() {
 return password;
 }
 
 @Override
 protected PasswordAuthentication getPasswordAuthentication() {
 return new PasswordAuthentication(username, password);
 }
 
 public String getUsername() {
 return username;
 }
 
 public void setPassword(String password) {
 this.password = password;
 }
 
 public void setUsername(String username) {
 this.username = username;
 }
 
}

注:我有個(gè)同事使用我這個(gè)代碼更換為他的賬號(hào)和客戶端授權(quán)碼后,一運(yùn)行就報(bào)錯(cuò),然后重置了一下郵箱的客戶端授權(quán)碼后,錯(cuò)誤便消失了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 韩国悲惨事件30无删减在线 | 探花国产| 欧美一级片在线视频 | 狠狠色综合久久久久尤物 | 亚洲欧美日韩特级毛片 | 日本高清在线看免费观看 | 久久亚洲精品AV成人无 | 99视频在线观看视频一区 | 娇妻被老外疯狂调教 | 情人梁家辉在线 | 女人张开腿让男人做爽爽 | www.国产一区二区三区 | 青柠影视在线播放观看高清 | 无码爽死成人777在线观看网站 | 欧美一区二区三区免费高 | 国产欧美精品一区二区三区四区 | 欧美黑人ⅹxxx片 | 美女天天色 | 亚洲人成高清毛片 | 边吃奶边扎下面 | 视频在线观看一区二区 | 日韩在线一区二区三区 | 国产成人综合亚洲一区 | 精品国产一区二区三区久久影院 | 无码区国产区在线播放 | 国产精品久久久久久久午夜片 | 114毛片免费观看网站 | 国产成人一区二区三区小说 | 激情五月姐姐 | 草溜短视频 | 日本成年片高清在线观看 | 国产日韩欧美综合在线 | 欧美x×x| 午夜在线a亚洲v天堂网2019 | 青草视频在线观看免费资源 | 无人区在线观看免费完整版免费 | 亚洲六月丁香六月婷婷蜜芽 | 色姑娘色综合 | 欧美一级视频免费观看 | a级免费观看 | 国产一区二区精品久久91 |