public class CreateFolder {
public static void main(String[] args) {
CreateFolder createFolder = new CreateFolder();
try {
createFolder.createFolder("bbb");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public boolean createFolder(String folderName) throws MessagingException
{
String host = "imap.gmail.com";
int port = 993;
String user = "xxxxxx@gmail.com";
String password = "xxxxx";
// String target_folder = "INBOX/create";
String target_folder = "INBOX";
Properties props = System.getProperties();
// System.getProperties().put("proxySet","true");
// System.getProperties().put("proxyHost","10.99.20.36");
// System.getProperties().put("proxyPort","8080");
System.out.println(props.toString());
Session sess = Session.getInstance(props, null);
// sess.setDebug(true);
Store store = sess.getStore("imaps");
System.out.println("connecting store..");
store.connect(host, 993, user, password);
System.out.println("connected !");
Folder f[]= store.getPersonalNamespaces();
//using store.getDefaultFolder(); shows error : "folder cannot contain messages"
Folder defaultFolder = store.getFolder(target_folder);
Folder folder = store.getDefaultFolder();
// return createFolder(defaultFolder, folderName);
return createFolder(folder, folderName);
}
private boolean createFolder(Folder parent, String folderName)
{
boolean isCreated = true;
try
{
// parent.open(Folder.READ_WRITE); //根目录的时候不需要open,不是根目录,就要open
System.out.println("adding listeners...");
parent.addFolderListener(new FolderListener() {
@Override
public void folderRenamed(FolderEvent arg0) {
System.out.println("parent is renamed");
}
@Override
public void folderDeleted(FolderEvent arg0) {
System.out.println("parent is deleted");
}
@Override
public void folderCreated(FolderEvent arg0) {
System.out.println("parent is created");
}
});
System.out.println("creating a folder ....");
Folder testFolder = parent.getFolder(folderName);
isCreated = testFolder.create(Folder.HOLDS_MESSAGES);
System.out.println("created: " + isCreated);
parent.close(true);
} catch (Exception e)
{
System.out.println("Error creating folder: " + e.getMessage());
isCreated = false;
}
return isCreated;
}
}
分享到:
相关推荐
JavaMail API 提供了 javax.mail 包,其中包含了许多类和接口,如 Session、Store、Folder、Message 和 Transport 等,它们分别代表邮件会话、邮件存储、邮件文件夹、邮件信息和邮件传输。通过这些类,开发者可以...
5. 如果需要接收邮件,可以创建`Store`对象,连接邮件服务器,打开`Folder`,然后从中读取`Message`。 `javamail1_4_4`版本可能包含以下关键组件: - **activation.jar**: 除了JavaMail API外,还需要JavaBeans ...
使用`javamail-1.6`时,开发者需要将其添加到项目依赖中,然后通过创建邮件会话,构建邮件消息对象,设置发件人、收件人、主题和正文,最后通过Transport类发送邮件。对于接收邮件,可以通过Folder和Message对象进行...
9. **Folder的遍历和搜索**:JavaMail提供了遍历和搜索邮件的功能,可以通过`Folder.search(SearchTerm term)`方法根据特定条件查找邮件。 10. **POP3和IMAP支持**:JavaMail API不仅支持SMTP(发送邮件),还支持...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个完整JAR包包含了所有必要的组件,使得开发者能够方便地实现发送、接收、读取以及管理电子邮件。以下是JavaMail的一些关键知识点: 1. **...
7. **Folder 和 Store**:对于邮件的接收,JavaMail 使用 `Store` 类连接到邮件服务器,并通过 `Folder` 类来管理收件箱、草稿箱等邮件文件夹。开发者可以使用 `Folder.open()` 方法打开文件夹,然后读取、删除或...
JavaMail 使用 `javax.mail.Store` 和 `javax.mail.Folder` 接口来实现 POP3 功能。 4. **IMAP 协议**:Internet 邮件访问协议 (IMAP) 允许用户在邮件服务器上管理邮件,而无需下载所有邮件。JavaMail 通过 `javax....
使用JavaMail时,通常的步骤是:首先配置`Properties`,创建`Session`;接着创建`MimeMessage`,填充邮件信息,如`InternetAddress`对象;然后通过`Transport`发送邮件。如果需要接收邮件,将使用`Store`和`Folder`...
创建 `Store` 对象后,通过 `getStore("imap")` 连接到邮件服务器,然后打开指定的邮箱 folder,例如 `inbox = store.getFolder("INBOX")`。接着,调用 `folder.open(Folder.READ_ONLY)` 打开邮箱,然后可以获取邮件...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了与 SMTP、POP3 和 IMAP 协议交互的接口,是开发基于 Java 的电子邮件应用的基础。回执邮件是邮件服务中的一项功能,它允许发件人在发送邮件...
2. **创建和管理邮件**:开发者可以通过JavaMail创建复杂的邮件结构,包括多部分消息(如包含文本、HTML、附件等)和MIME类型的数据。 3. **身份验证和安全**:JavaMail支持SSL和TLS加密,确保在不安全的网络上安全...
通过实现 `MessageCountListener` 接口,开发者可以创建监听器以响应邮箱中的邮件数量变化。 在实际应用中,开发者通常会结合 JavaMail API 与 JavaEE 中的 JavaMail Session 组件,或者 Spring Framework 中的 ...
8. **Folder 类**:用于访问邮件存储,可以读取、创建、删除邮件夹。 9. **Store 类**:连接到邮件服务器并提供访问邮件存储的接口。 10. **POP3 和 IMAP 协议**:JavaMail 支持这两种常见的邮件协议,用于下载和...
JavaMail是一种在Java环境下处理电子邮件的强大工具,它提供了丰富的API,允许开发者发送、接收和管理邮件。这个压缩包文件中的"16_sendmail"可能包含了用于演示如何使用JavaMail发送邮件的源代码。 JavaMail的核心...
在处理邮件时,`POP3Folder` 类会创建 Message 对象来表示每封邮件。内存溢出可能出现在以下场景: - `open()` 方法:打开 Folder 时,可能会一次性加载所有邮件,如果没有限制,会导致内存压力增大。 - `...
使用 JavaMail API 的时候,开发人员需要正确配置 `Properties` 对象,指定邮件服务器的相关参数,然后创建并初始化 `Session`。通过这些步骤,就可以利用 JavaMail 实现强大的邮件功能,无论是发送简单的文本邮件,...
JavaMail 是一个开源的 Java 库,用于处理电子邮件通信。标题提到的是 JavaMail 1.5.2 版本的 JAR 包及其源码,这使得开发者能够深入理解库的工作原理并进行自定义开发。在Java应用程序中,JavaMail API 提供了处理...
JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个库提供了丰富的 API,使得开发者可以方便地处理 SMTP、POP3 和 IMAP 协议,从而实现电子邮件的全面功能。在项目中集成 ...
3. **SMTP 发送邮件**:讲解如何使用 `javax.mail.internet.MimeMessage` 创建邮件,以及 `Transport.send()` 方法发送邮件。 4. **POP3/IMAP 接收邮件**:介绍如何通过 `Store.connect()` 获取邮件服务器的连接,...