虽然jakarta的commons email 简化了javamail的使用,但是遇到复杂一点的东东,我们还是需要重新拿起javamail来,也许我们可以做.
其实javamail也不是太复杂 o_o 下面是通过gmail发送邮件,因为gmail需要smtp验证,所有要额外的设定
mail.smtp.auth 值为 true
并且添加
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
我们来看一下刘冬的代码:
http://www.javayou.com/showlog<wbr>.jspe?log_id=498
1. 邮件收取
1
package lius.javamail.ssl;
2
3
import java.io.UnsupportedEncodingException;
4
import java.security.*;
5
import java.util.Properties;
6
import javax.mail.*;
7
import javax.mail.internet.InternetAddress;
8
import javax.mail.internet.MimeUtility;
9
10
/**
11
* 用于收取Gmail邮件
12
* @author Winter Lau
13
*/
14
public class GmailFetch {
15
16
public static void main(String argv[]) throws Exception {
17
18
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
19
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
20
21
// Get a Properties object
22
Properties props = System.getProperties();
23
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
24
props.setProperty("mail.pop3.socketFactory.fallback", "false");
25
props.setProperty("mail.pop3.port", "995");
26
props.setProperty("mail.pop3.socketFactory.port", "995");
27
28
//以下步骤跟一般的JavaMail操作相同
29
Session session = Session.getDefaultInstance(props,null);
30
31
//请将红色部分对应替换成你的邮箱帐号和密码
32
URLName urln = new URLName("pop3","pop.gmail.com",995,null,
33
"[邮箱帐号]", "[邮箱密码]");
34
Store store = session.getStore(urln);
35
Folder inbox = null;
36
try {
37
store.connect();
38
inbox = store.getFolder("INBOX");
39
inbox.open(Folder.READ_ONLY);
40
FetchProfile profile = new FetchProfile();
41
profile.add(FetchProfile.Item.ENVELOPE);
42
Message[] messages = inbox.getMessages();
43
inbox.fetch(messages, profile);
44
System.out.println("收件箱的邮件数:" + messages.length);
45
for (int i = 0; i < messages.length; i++) {
46
//邮件发送者
47
String from = decodeText(messages[i].getFrom()[0].toString());
48
InternetAddress ia = new InternetAddress(from);
49
System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')');
50
//邮件标题
51
System.out.println("TITLE:" + messages[i].getSubject());
52
//邮件大小
53
System.out.println("SIZE:" + messages[i].getSize());
54
//邮件发送时间
55
System.out.println("DATE:" + messages[i].getSentDate());
56
}
57
} finally {
58
try {
59
inbox.close(false);
60
} catch (Exception e) {}
61
try {
62
store.close();
63
} catch (Exception e) {}
64
}
65
}
66
67
protected static String decodeText(String text)
68
throws UnsupportedEncodingException {
69
if (text == null)
70
return null;
71
if (text.startsWith("=?GB") || text.startsWith("=?gb"))
72
text = MimeUtility.decodeText(text);
73
else
74
text = new String(text.getBytes("ISO8859_1"));
75
return text;
76
}
77
78
}
2. 发送邮件

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

2. 发送邮件
1
package lius.javamail.ssl;
2
3
import java.security.Security;
4
import java.util.Date;
5
import java.util.Properties;
6
7
import javax.mail.Authenticator;
8
import javax.mail.Message;
9
import javax.mail.MessagingException;
10
import javax.mail.PasswordAuthentication;
11
import javax.mail.Session;
12
import javax.mail.Transport;
13
import javax.mail.internet.AddressException;
14
import javax.mail.internet.InternetAddress;
15
import javax.mail.internet.MimeMessage;
16
17
/**
18
* 使用Gmail发送邮件
19
* @author Winter Lau
20
*/
21
public class GmailSender {
22
23
public static void main(String[] args) throws AddressException, MessagingException {
24
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
25
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
26
// Get a Properties object
27
Properties props = System.getProperties();
28
props.setProperty("mail.smtp.host", "smtp.gmail.com");
29
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
30
props.setProperty("mail.smtp.socketFactory.fallback", "false");
31
props.setProperty("mail.smtp.port", "465");
32
props.setProperty("mail.smtp.socketFactory.port", "465");
33
props.put("mail.smtp.auth", "true");
34
final String username = "[邮箱帐号]";
35
final String password = "[邮箱密码]";
36
Session session = Session.getDefaultInstance(props, new Authenticator(){
37
protected PasswordAuthentication getPasswordAuthentication() {
38
return new PasswordAuthentication(username, password);
39
}});
40
41
// -- Create a new message --
42
Message msg = new MimeMessage(session);
43
44
// -- Set the FROM and TO fields --
45
msg.setFrom(new InternetAddress(username + "@mo168.com"));
46
msg.setRecipients(Message.RecipientType.TO,
47
InternetAddress.parse("[收件人地址]",false));
48
msg.setSubject("Hello");
49
msg.setText("How are you");
50
msg.setSentDate(new Date());
51
Transport.send(msg);
52
53
System.out.println("Message sent.");
54
}
55
}

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

关于邮件的解析请看 http://www.javayou.com/showlog.jspe?log_id=372
更多关于javamail的文章 http://www.javayou.com/main.jspe?query=javamail
相关推荐
- **provider**: 提供了特定邮件服务提供商的配置信息,如Gmail、Yahoo等。 - **docs**: API文档,帮助开发者了解如何使用JavaMail API。 在实际开发中,我们可以通过Maven或Gradle等构建工具来引入JavaMail依赖,...
3. **Provider** 概念:JavaMail 使用提供者机制,允许开发者选择不同的邮件服务提供商(如Gmail、Yahoo、Outlook等)。每个提供商都有自己的实现,可以与特定的邮件服务器通信。 发送邮件的基本步骤: 1. **配置...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个压缩包"javamail.rar"包含的资源很可能是实现发送邮件功能所需的类、配置文件和其他相关组件。JavaMail API 提供了丰富的功能,包括创建、...
### JavaMail收发Gmail邮件知识点详解 #### 一、JavaMail简介 JavaMail API是Java平台中的一个标准扩展库,用于发送、接收以及管理电子邮件。它提供了丰富的接口来实现邮件的各种操作,如构建复杂的MIME消息、处理...
本教程将详细讲解如何使用JavaMail API在Gmail上发送邮件,包括不带附件和带有一个附件的情况。 首先,JavaMail是一个开源的Java库,它提供了用于处理邮件的标准API。在使用JavaMail发送邮件前,你需要在项目中引入...
同时,由于许多现代设备上的 GMail 应用不支持 SMTP,你可能需要使用其他第三方服务来实现邮件发送。 以上就是关于 "javamail 开发邮箱使用的 jar 包" 的详细说明,包括了核心库 mail.jar、JAF 库 activation.jar ...
在学习 JavaMail 时,通常会结合实际的 SMTP 服务器进行实践,例如 Gmail、Yahoo 或者自建的邮件服务器。通过编写示例代码,理解如何创建 Session、构建 MimeMessage、设置收件人和发件人、添加附件以及发送邮件等...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个"javamail-1.4.1.rar"压缩包包含的是JavaMail 1.4.1版本的源码、API文档及相关资源,是开发人员在进行邮件操作时不可或缺的工具。JavaMail...
其中,Spring的JavaMail支持使得开发者能够轻松地实现邮件发送功能。在本篇文章中,我们将深入探讨如何利用Spring来实现JavaMail邮件发送,以及在实际应用中需要注意的关键点。 首先,我们需要理解JavaMail API的...
JavaMail 是一个开源的 Java API,它允许程序员通过标准的 SMTP、POP3 和 IMAP 协议发送、接收和管理电子邮件。在JavaMail 1.4.7 版本中,这个库提供了全面的电子邮件处理功能,包括附件、HTML 内容、MIME 编码以及...
JavaMail是Java编程语言中用于处理电子邮件的API,它提供了丰富的功能,允许开发人员发送、接收和管理电子邮件。本篇文章将深入探讨JavaMail的核心概念、关键组件以及如何使用这两个特定的jar包——`jaf-1_1_1.zip`...
不过,需要注意的是,使用JavaMail发送邮件时,必须确保你的SMTP服务器允许第三方应用程序进行授权,并且可能需要开启“不够安全的应用”的权限(对于Gmail而言)。 在提供的压缩包文件`Mail`中,可能包含了一些...
JavaMail 是一个强大的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。这个库主要依赖于`javax.mail`和`javax.mail.internet`这两个包,而`mail.jar`是包含这些包的JAR文件,它是JavaMail的核心组件。...
本文将详细阐述如何在SSM框架下集成JavaMail,实现邮件发送功能。 首先,我们需要理解JavaMail的基本概念。JavaMail是一个开源的Java库,用于处理电子邮件。它提供了与SMTP(简单邮件传输协议)服务器交互的API,...
以下是一个简单的JavaMail使用示例,使用Gmail发送邮件: ```java import javax.mail.*; import javax.mail.internet.*; public class SendEmail { public static void main(String[] args) { String to = ...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件的发送和接收。它提供了对标准SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)的支持,使得开发者能够方便地构建邮件...
JavaMail是Java编程语言中用于处理电子邮件的API,它允许开发者通过编程方式发送、接收和管理邮件。在JavaMail中,我们主要会用到 javax.mail 和 javax.mail.internet 这两个包,它们提供了发送邮件所需的各种类和...
JavaMail 是一个开源的Java库,它为Java开发者提供了一套强大的API,用于发送和接收电子邮件。这个实例包含了JavaMail的使用以及相关的支持包,确保了你可以直接在项目中运行和测试邮件功能。将JAR包放入WEB-INF的...
JavaMail是一种在Java应用程序中发送和接收电子邮件的标准API,它为开发者提供了强大的功能,使得处理邮件变得更加简单。在用户注册和重置密码等场景中,邮箱验证是一个关键步骤,可以确保用户提供的邮箱地址有效,...
某些邮件服务商如Gmail、Yahoo、Outlook等可能需要开启"不安全的应用程序访问"权限。 总的来说,JavaMail是一个强大的工具,使Java开发者能够轻松地集成邮件功能到他们的应用程序中。尽管设置过程可能涉及一些细节...