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

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

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

服務(wù)器之家 - 編程語言 - JAVA教程 - java發(fā)送郵件示例講解

java發(fā)送郵件示例講解

2020-04-10 15:23鄭宏鑫erke JAVA教程

這篇文章主要為大家詳細(xì)介紹了java發(fā)送郵件示例的全過程,溫習(xí)郵件協(xié)議,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例講解了java發(fā)郵件的詳細(xì)過程,供大家參考,具體內(nèi)容如下

1、郵件協(xié)議

發(fā)郵件的:SMTP (Simple Mail Transport  Protocal)

收郵件的協(xié)議:pop3 (Post Office Protocal 3)

IMAP 新協(xié)議 發(fā)郵件也可以收郵件。

(一步步的與服務(wù)器交互)

SMTP :

java發(fā)送郵件示例講解

2、收發(fā)郵件的過程:

一般情況下,smtp和pop3是兩個(gè)服務(wù)器(主機(jī))。

Smtp郵件的端口為25。

POP3 端口 為110。

發(fā)郵件示例

1)、安裝foxmail:

java發(fā)送郵件示例講解

2)、發(fā)郵件時(shí),要對(duì)用戶名和密碼進(jìn)行base64編碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//對(duì)用戶名和密碼進(jìn)行base64編碼
 
@Test
 
public void base64(){
String name = "wj_leaf12345";
String pwd = "1qaz2wsx";
BASE64Encoder en = new BASE64Encoder();
name = en.encode(name.getBytes());
pwd = en.encode(pwd.getBytes());
System.err.println(name);
System.err.println(pwd);
 
}

3)、通過java代碼發(fā)郵件

用java發(fā)郵件,必須要導(dǎo)入新的包

       mail.jar – 發(fā)郵件的核心包

       activation.jar – 對(duì)用戶和密碼加密.

       在mail.jar中有三個(gè)核心類:

       Javax.mail.Session – 是指與郵件服務(wù)器會(huì)話。整個(gè)項(xiàng)目中只要一個(gè)就可以了.

       Javax.mail.Message(接口) —準(zhǔn)備發(fā)送數(shù)據(jù)信息。

       MimeMessage - 可以設(shè)置類型的數(shù)據(jù)信息。

       Transport – 它擁有一個(gè)方法可以發(fā)送Message。

第一步:導(dǎo)入兩個(gè)jar包

第二步:發(fā)簡(jiǎn)單的郵件

?
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
public void sendMail() throws Exception{
 
 //第一步:聲明properties對(duì)象放信息
 Properties prop = new Properties();
 //設(shè)置連接哪一臺(tái)服務(wù)器
 prop.setProperty("mail.host","smtp.126.com");
 //設(shè)置是否驗(yàn)證
 prop.setProperty("mail.smtp.auth", "true");
 //第二步:聲明用戶名和密碼
 Authenticator auth = new Authenticator() {
  //此訪求返回用戶和密碼的對(duì)象
  public PasswordAuthentication getPasswordAuthentication() {
  PasswordAuthentication pa =
   new PasswordAuthentication("aaa", "sss");
  return pa;
 
  }
 
 };
 
 ////第二步:獲取Session對(duì)象
 Session session =
  Session.getDefaultInstance(prop,auth);
 //設(shè)置session的調(diào)試模式
 session.setDebug(true);
 //第三步:聲明信息
 MimeMessage mm1 =
  new MimeMessage(session);
 
 
 //第四步:設(shè)置發(fā)件人email
 Address from = new InternetAddress("[email protected]");
 mm1.setFrom(from);
 //第五步:設(shè)置收件人
 mm1.setRecipient(RecipientType.TO,new InternetAddress("[email protected]"));
 mm1.setRecipient(RecipientType.CC, new InternetAddress("[email protected]"));
 mm1.setRecipient(RecipientType.BCC, new InternetAddress("[email protected]"));
 //第六步:設(shè)置主題
 mm1.setSubject("這是用Java發(fā)的郵件3");
 mm1.setContent("你好,這是用java發(fā)的郵件,3333再試一下", "text/plain;charset=UTF-8");
 //第七步:
 Transport.send(mm1);
 
 }

第三步:v發(fā)帶有超連接的郵件

?
1
2
3
4
5
6
mm1.setSubject("這是用Java發(fā)的郵件sfasdf3");
 
 mm1.setContent("你好,這是用java發(fā)的郵件,<a href='http://www.baidu.com'>百度</a>", "text/html;charset=UTF-8" );
 //第七步:
 
 Transport.send(mm1);

第四步:符件的郵件

?
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
public void sendFile() throws Exception{
 
 Properties p = new Properties();
 p.setProperty("mail.host","smtp.163.com");
 p.setProperty("mail.smtp.auth","true");
 Session s = Session.getDefaultInstance(p,new Authenticator() {
  @Override
  public PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication("ww", "123");
 
  }
 
 });
 
 s.setDebug(true);
 //聲明MimeMessage
 MimeMessage msg = new MimeMessage(s);
 msg.setFrom(new InternetAddress("[email protected]"));
 msg.setRecipient(RecipientType.TO, new InternetAddress("[email protected]"));
 msg.setSubject("圖片的");
 //第一步:聲明多處理的Part
 MimeMultipart mm = new MimeMultipart();
 //第二步:聲明
 MimeBodyPart body1 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds = new FileDataSource(new File("./img/a.jpg"));
 DataHandler dh = new DataHandler(ds);
 body1.setDataHandler(dh);
 //必須要設(shè)置名稱
 body1.setFileName(MimeUtility.encodeText("美女.jpg"));
 MimeBodyPart body2 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));
 DataHandler dh2 = new DataHandler(ds2);
 body2.setDataHandler(dh2);
 //必須要設(shè)置名稱
 body2.setFileName(MimeUtility.encodeText("美女2.jpg"));
 MimeBodyPart body3 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));
 DataHandler dh3 = new DataHandler(ds3);
 body3.setDataHandler(dh3);
 //必須要設(shè)置名稱
 body3.setFileName(MimeUtility.encodeText("世紀(jì)末.mp3"));
 //將body1添加到mm
 mm.addBodyPart(body1);
 mm.addBodyPart(body2);
 mm.addBodyPart(body3);
 msg.setContent(mm);
 //發(fā)送
 Transport.send(msg);
 
 }

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人国产香蕉久久精品 | 国产精品亚洲一区二区 | 美女一级ba大片免色 | 色吊丝每日永久访问网站 | 无人知晓小说姜璟免费阅读 | 色综合综合色 | 涩涩五月天 | 国产拍拍拍 | 小夫妻天天恶战 | 成人午夜爽爽爽免费视频 | 狠狠狠地啪香蕉 | 羞羞影院午夜男女爽爽影院网站 | 国色天香高清版 | 国产伦精品一区二区三区免费观看 | 国产成人福利免费观看 | 鸭子玩富婆流白浆视频 | 欧洲vodafonewifi日本 | 免费369看片入口 | 3d动漫美女物被遭强视频 | 成人性生交大片免费看软件 | 日韩欧美一卡二区 | 日b在线观看 | 湖南美女被黑人4p到惨叫 | 国产精品最新资源网 | 国内自拍2020 | 猫扑俩性| 为什么丈夫插我我却喜欢被打着插 | 视频精品一区二区三区 | 亚洲欧美日韩综合一区久久 | 亚洲天堂免费 | 插入影院 | 国产成人精品曰本亚洲78 | 婷婷久久热99在线精品 | 99rv精品视频在线播放 | 男人日女人的b | 久久国产精品高清一区二区三区 | 奇米网7777| 日韩一区二区三区在线 | 免费看a视频 | 日日综合| 国产午夜精品一区二区三区不卡 |