一、 发邮件
1) 获取Session
i) 实行一个Authentication类的子类,实行里面的public PasswordAuthentication getPasswordAuthentication()方法
ii) New一个上面类的实例,设置用户名和密码
iii) New一个Properties对象,设置mail.smtp.host and mail.smtp.auth属性
iv) 同过Session的静态方法,获取一个Session实例
2) 生成Message
i) 没有附件的邮件
第一步:new一个MimeMessage实例(根据Session)
第二步:给Message实例设置subject、text属性
ii) 有附件的邮件
第一步:根据Session new一个MimeMessage实例(Message)
第二步:设置Message subject属性
第三步:new一个MimeBodyPart实例 和 Mulipart(MimeMulipart)实例
第四步:给MimeBodyPart实例设置邮件文本内容
第五步:将MimeBodyPart实例,添加到Mulipart实例
第六步:根据附件数循环:
New MimeBodyPart实例
获取FileDatasource
将FileDatasource设置到MimeBodyPart
设置MimeBodyPart的文件名
将MimeBodyPart添加到 Mulipart
第七步:将Mulipart设置成MimeMessage的内容
3) 发送邮件
i) 设置Message的fromAddress,toAddress,ccAddress,bccAddress
ii) Transport发送邮件
二、 收邮件
1)new Properties实例,设置mail.pop3.host 的值
2)获取Session实例
3)根据Session,获取Store实例
4)连接store
5)获取Index文件夹
6)打开文件夹
7)获取文件夹里面所有Message
8)用FetchProfile优化Message的查找
FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
profile.add(FetchProfile.Item.FLAGS);
profile.add("X-Mailer");
inbox.fetch(msg, profile);
9)判断Message的MimeType类型如果是text/*类型,直接可以从Message从获取邮件from 地址、标题和内容,否则执行下面的步骤
10)从Message中获取Multipart
11)遍历Multipart中的BodyPart
12)判断bodyPart的Disposition是否是Part.ATTACHMENT
13)如果不是,直接获取bodyPart里面的content
14)否则获取bodyPart的文件名和文件流(inputstream),将流写入本地文件,实现附件的下载
分享到:
相关推荐
本篇文章将详细解析使用 JavaMail 收发邮件的基本步骤。 **1. 发送邮件** 发送邮件的关键在于配置 `Session` 和创建 `Message`。以下是详细步骤: ### 1.1 构造 Session - **初始化 Authentication**: 创建一个...
它支持多种协议,包括POP3、IMAP和SMTP,这些协议分别用于接收、检索和发送邮件。在使用JavaMail时,了解如何进行加密和非加密通信对于确保数据安全至关重要。 1. **POP3(Post Office Protocol version 3)**: -...
下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...
使用JavaMail发送邮件的一般步骤如下: 1. 创建`Session`实例,设置邮件服务器的相关属性,例如SMTP服务器地址、端口号、认证信息等。 2. 使用`Session`创建`MimeMessage`实例。 3. 设置`MimeMessage`的发送者、接收...
在设置好 MailInfo 对象后,我们可以使用 JavaMail 库来发送邮件。我们可以使用 Transport 对象来发送邮件, Transport 对象是 JavaMail 库中的一个核心对象,用于发送和接收电子邮件。我们可以使用 Transport 对象...
- JavaMail API提供了一系列接口和类,允许开发者通过SMTP(Simple Mail Transfer Protocol)协议发送邮件。 - 主要涉及的接口和类包括:`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(传输服务)...
三、JavaMail发送邮件步骤 1. **配置Session**:设置邮件服务器的相关信息,如SMTP服务器地址、端口号、用户名和密码。 2. **创建Message对象**:设置邮件头信息,包括From(发件人)、To(收件人)、Subject(主题...
在提供的压缩包文件“james+javaMail收发邮件”中,可能包含了示例代码和配置文件,供开发者参考和学习如何在实际项目中实现邮件收发功能,特别是处理中文内容和附件。通过理解和实践这些示例,开发者可以更好地掌握...
在实际开发中,使用 JavaMail 进行邮件收发的步骤大致如下: 1. 创建 Session 对象,配置邮件服务器的相关信息。 2. 使用 Session 创建 Store 对象,连接到邮件服务器。 3. 打开 Folder,读取或管理邮件。 4. 如果...
发送邮件的过程通常包括以下步骤: 1. 设置SMTP主机名,这可以通过`setSmtpHost`方法完成,该方法将SMTP主机名添加到系统属性中。 2. 创建`Session`对象,这是通过`Session.getDefaultInstance(props, null)`完成的...
`Transport.send(Message)` 方法是实际发送邮件的关键调用。 5. **Address**:`Address` 类族包括 `InternetAddress`,用于表示电子邮件地址。`InternetAddress` 支持解析和格式化电子邮件地址,并可以作为 `...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
6. **发送邮件**:使用`Transport`类的`send()`方法发送邮件。 ```java Transport.send(message); ``` 7. **添加附件**:如果需要发送附件,可以使用`Multipart`和`BodyPart`类。创建一个`MimeMultipart`对象,...
以上就是使用JavaMail API发送邮件的基本步骤。需要注意的是,实际应用中可能需要处理各种异常,如网络问题、认证失败等。此外,对于SSL/TLS安全连接,还需要设置相应的属性,如`mail.smtp.starttls.enable`。 ...
在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS(Transport Layer Security)协议来确保通信安全,开发者可能会遇到一些挑战。本文将深入探讨如何解决这一问题,主要基于...
在使用 JavaMail 发送邮件时,通常需要以下步骤: 1. **配置 Session**: 创建一个 `Properties` 对象,并设置邮件服务器的相关属性,如 SMTP 主机名、端口号、用户名和密码。然后通过 `Session.getInstance()` 创建...
### JavaMail收发Gmail邮件知识点详解 #### 一、JavaMail简介 JavaMail API是Java平台中的一个标准扩展库,用于发送、接收以及管理电子邮件。它提供了丰富的接口来实现邮件的各种操作,如构建复杂的MIME消息、处理...
SMTP协议定义了邮件的发送流程,包括连接服务器、身份验证、发送邮件内容和断开连接等步骤。IMAP和POP3则允许用户下载邮件,IMAP提供在线查看和管理邮件的功能,而POP3则通常将邮件下载到本地后删除服务器上的副本。...
(2) 使用SMTP邮件服务器发送邮件; (3) 邮件附件的发送与接受; (4) 删除邮件; 具体操作步骤如下: 1、打开javamailsystem文件夹,找到javamail.jar可执行文件,双击该执行文件,即可打开Javamail邮件收发系统...
发送邮件的基本步骤包括创建`Session`,构建`MimeMessage`,设置发件人、收件人等信息,然后使用`Transport.send()`方法发送。接收邮件则涉及到连接邮件服务器,打开邮箱存储,检索`Folder`,最后读取`Message`对象...