激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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郵件發送有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区在线观看国产 | 少妇色诱麻豆色哟哟 | 精品在线一区二区三区 | 国产免费久久久久 | 91免费影视| 午夜丰满少妇高清毛片1000部 | 中文字幕视频在线播放 | 久久精品国产精品亚洲 | 一区二区三区视频在线观看 | 操操操操网 | 欧美一区在线观看视频 | 日韩视频一区二区三区在线观看 | 亚洲第一页综合 | 999av视频| 激情大乳女做爰办公室韩国 | 色婷婷一区二区三区 | 国产一区二区影视 | 99久久精品日本一区二区免费 | 国产做爰全免费的视频黑人 | 国产亚洲精品久久午夜玫瑰园 | 中文字幕网在线 | 欧美大逼网 | 日韩黄色免费观看 | 蜜桃视频观看麻豆 | 91久久久久久久久久久久久 | 亚洲天堂ww | 91看片淫黄大片欧美看国产片 | 中文字幕h | 特级毛片全部免费播放器 | ,欧美特黄特色三级视频在线观看 | 在线 日本 制服 中文 欧美 | 成人在线观看免费 | 成人福利在线视频 | 国产精品免费一区二区三区在线观看 | 91网视频| 国内精品免费一区二区2001 | 黄色大片免费网站 | 欧美日韩成人一区二区 | 成年毛片 | 午夜天堂在线视频 | 加勒比综合 |