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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JAVA教程 - Java發送郵件javax.mail的實現方法

Java發送郵件javax.mail的實現方法

2020-03-24 13:25lijiao JAVA教程

這篇文章主要為大家介紹了Java發送郵件javax.mail的實現方法,具有一定的參考價值,代碼都有詳細的注釋,感興趣的小伙伴們可以參考一下

直接上源碼:
1. 郵件的基本信息(方便就直接設置為靜態了)
下面最好是做為一個javabean

?
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
package com.lgf.Email;
 
import java.util.Date;
 
public class EmailMessage 
{
  /**
   * 郵件的信息,可以自己進行設置。
   * 為了方便直接全部設置為靜態
   */
   
// 收件人郵箱
  public static String TO = "[email protected]";  
// 發件人郵箱
  public static String FROM = "[email protected]"
  public static String FROM_NAME = "xxx"
//  抄送人  
  public static String CC="[email protected]";  
//  暗送人
  public static String BCC="[email protected]";    
// 郵件的類型
  public static String Email_Content = "text/plain";
// 郵件標題
  public static String Email_Subject = "Test Email With JavaMail";  
// 郵件頭
  public static String Email_Header = "This Is Email Header";  
// 內容
  public static String Email_Body = "<a href=\"http://www.baidu.com\">This Is Email Body</a>"
// 服務器 比如QQ的可以設置為smtp.qq.com
  public static String Email_Host = "smtp.xxx.com";     
// 發送時間
  public static Date sendDate = new Date(); 
// 是否需要驗證用戶名和密碼
  public static boolean validate = true;   
}
 

2. 服務器驗證(就是一般登入時候的用戶名和密碼)

?
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
package com.lgf.Email;
 
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
 
/**
 * 用戶名和密碼的驗證
 * @author lgf
 *
 */
public class MailAuthenticator extends Authenticator{
  private String username="xxxxx";  
  private String password="xxxxx";  
   
  public MailAuthenticator() {
    super();
  }
   
  /**
   * 設置驗證的用戶名和密碼
   */
  public MailAuthenticator(String userName , String password) {
    super();
    this.username = userName;
    this.password = password;
  }
  protected PasswordAuthentication getPasswordAuthentication()
  {  
    return new PasswordAuthentication(this.username,this.password);  
  }  
}

 3. 發送郵件前設置信息和步驟

?
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
package com.lgf.Email;
 
import java.util.Properties;
 
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
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.lgf.SendEmail.MailAuthenticator;
 
public class SendEmail 
{
   
  /** 
  * 發送普通郵件 
  * @throws Exception 
  */  
  public void doSendNormalMail() 
  {  
//    獲取系統環境 
    Properties prop = new Properties(); 
    Authenticator auth = null;
//   判斷發送郵件是否需要驗證
    if (EmailMessage.validate) 
    {
//      郵件服務器認證  用戶名和密碼
      auth = new MailAuthenticator(); 
    }
//   添加必要的信息
    prop.put("mail.smtp.host", EmailMessage.Email_Host);  
    prop.put("mail.smtp.auth", "true");  
     
//    設置對話和郵件服務器進行通訊
    Session session = Session.getDefaultInstance(prop, auth);  
//   在控制臺顯示Debug信息
    session.setDebug(true);
//   設置郵件對象
    Message message = new MimeMessage(session);  
    try
    {  
//      設置郵件主題 
      message.setSubject(EmailMessage.Email_Subject);  
//      設置郵件標題  
      message.setHeader("Header", EmailMessage.Email_Header); 
//      設置發送時間  
      message.setSentDate(EmailMessage.sendDate);
       
//      設置發信人地址 和 名字
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);  
//     把發件人信息添加到信息中
      message.setFrom(address);  
       
//     設置發件人地址
      Address toAddress = new InternetAddress(EmailMessage.TO); 
//      設置接收人地址
      message.setRecipient(Message.RecipientType.TO, toAddress);  
      
//     設置多個收件人地址  
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));  
 
//      設置郵件格式
      message.setContent("Content", EmailMessage.Email_Content); 
//      設置郵件內容  必須在設置文件格式后面
      message.setText(EmailMessage.Email_Body); 
       
//     保存上面添加的信息
      message.saveChanges();  
//      發送郵件 
      System.out.println("sendNormalEmail() 開始發送郵件……");  
      Transport.send(message);  
      System.out.println("發送成功!");  
    } catch (Exception e)
    {  
        System.out.println("出錯");  
        e.printStackTrace();  
    }  
  }  
   
  /**
   * 發送HTML格式的郵件
   */
  public void doSendHtmlMail() 
  {  
//    獲取系統環境 
    Properties prop = new Properties(); 
 
    Authenticator auth = null;
    if (EmailMessage.validate)
    {
//      郵件服務器認證  用戶名和密碼
      auth = new MailAuthenticator();
    }
//   添加必要的信息
    prop.put("mail.smtp.host", EmailMessage.Email_Host);  
    prop.put("mail.smtp.auth", "true");  
     
//    設置對話和郵件服務器進行通訊
    Session session = Session.getDefaultInstance(prop, auth);  
     
//   設置郵件對象
    Message message = new MimeMessage(session);  
    try
    {  
//      設置郵件主題 
      message.setSubject(EmailMessage.Email_Subject);  
//      設置郵件標題  
      message.setHeader("Header", EmailMessage.Email_Header); 
//      設置發送時間  
      message.setSentDate(EmailMessage.sendDate);
       
//      設置發信人地址 和 名字
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);  
//     把發件人信息添加到信息中
      message.setFrom(address);  
       
//     設置發件人地址
      Address toAddress = new InternetAddress(EmailMessage.TO); 
//      設置接收人地址
      message.setRecipient(Message.RecipientType.TO, toAddress);  
      
//     設置多個收件人地址  
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));  
 
//     設置發送信息的內容  下面為發送hmml
//     設置郵件格式
      EmailMessage.Email_Content = "text/html; charset=utf-8";
      message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content); 
 
//     保存上面添加的信息
      message.saveChanges();  
//      發送郵件 
      System.out.println("doSendHtmlMail() 開始發送郵件……");  
      Transport.send(message);  
      System.out.println("發送成功!");  
    } catch (Exception e)
    {  
        System.out.println("出錯");  
        e.printStackTrace();  
    }  
  }  
  /**
   * 發送帶有附件格式的郵件
   */
  public void doSendAttachmentMail() 
  {  
//    獲取系統環境 
    Properties prop = new Properties(); 
 
    Authenticator auth = null;
    if (EmailMessage.validate)
    {
//      郵件服務器認證  用戶名和密碼
      auth = new MailAuthenticator();
    }
//   添加必要的信息
    prop.put("mail.smtp.host", EmailMessage.Email_Host);  
    prop.put("mail.smtp.auth", "true");  
     
//    設置對話和郵件服務器進行通訊
    Session session = Session.getDefaultInstance(prop, auth);  
     
//   設置郵件對象
    Message message = new MimeMessage(session);  
    try
    {  
//      設置郵件主題 
      message.setSubject(EmailMessage.Email_Subject);  
//      設置郵件標題  
      message.setHeader("Header", EmailMessage.Email_Header); 
//      設置發送時間  
      message.setSentDate(EmailMessage.sendDate);
       
//      設置發信人地址 和 名字
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);  
//     把發件人信息添加到信息中
      message.setFrom(address);  
       
//     設置發件人地址
      Address toAddress = new InternetAddress(EmailMessage.TO); 
//      設置接收人地址
      message.setRecipient(Message.RecipientType.TO, toAddress);  
      
//     設置多個收件人地址  
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]"));  
      
       
//     設置發送信息的內容  下面為發送附件
      message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content); 
       
      BodyPart messageBodyPart = new MimeBodyPart();  
      messageBodyPart.setText("bodypart");  
       
      Multipart multipart = new MimeMultipart();  
      multipart.addBodyPart(messageBodyPart);  
       
      messageBodyPart = new MimeBodyPart();  
       
//     設置上傳的資源
      DataSource source = new FileDataSource("E:\\3.doc"); 
//     添加到
      messageBodyPart.setDataHandler(new DataHandler(source));  
//     設置文件名稱,記得后綴名
      messageBodyPart.setFileName("test.doc");  
      multipart.addBodyPart(messageBodyPart); 
       
      message.setContent(multipart);  
       
//     保存上面添加的信息
      message.saveChanges();  
//      發送郵件 
      System.out.println("doSendAttachmentMail() 開始發送郵件……");  
      Transport.send(message);  
      System.out.println("發送成功!");  
    } catch (Exception e)
    {  
        System.out.println("出錯");  
        e.printStackTrace();  
    }  
  }  
  /**
   * @param args
   */
  public static void main(String[] args)
  {
//   new SendEmail().doSendNormalMail();
//   new SendEmail().doSendHtmlMail();
    new SendEmail().doSendAttachmentMail();
  }
 
}

以上就是Java發送郵件javax.mail的詳細代碼,希望對大家實現java郵件發送有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美视频精品一区二区三区 | 欧美穿高跟鞋做爰 | 黑人异族日本人hd | 精品久久久久久午夜 | ffee性xxⅹ另类老妇hd | 牛人国产偷窥女洗浴在线观看 | 我把校花黑色蕾丝胸罩脱了 | 国产精品久久久久久久福利院 | 狠狠色综合久久婷婷色天使 | 天美传媒果冻传媒星空传媒 | 九九热这里只有精品视频免费 | 波多野结衣中文丝袜字幕 | 久久精品成人免费网站 | 午夜福利电影网站鲁片大全 | 99热免费在线 | 日本视频免费在线播放 | 日本视频中文字幕 | 亚洲AV午夜福利精品香蕉麻豆 | 亚洲国产精品高清在线 | 欧美艳星kagneyiynn | 亚州vs欧州vs日 | 久久99热狠狠色一区二区 | 97精品国产自在现线免费观看 | 精品国产精品国产偷麻豆 | 69av美女| 日韩在线成人 | 国产精品视频久 | 欧美激情 亚洲 | 精品国产免费 | 亚洲国内精品 | 把老师操了 | 国产欧美一区二区成人影院 | 玩高中女同桌肉色短丝袜脚文 | 乳环贵妇堕落开发调教番号 | 免费大片a一级一级 | 久久伊人中文字幕有码 | 日韩欧美亚洲国产高清在线 | 草大逼 | 日本乱人伦中文在线播放 | 91国内精品久久久久影院优播 | 3d动漫美女被吸乳羞羞视频 |