• 大小: 6.31MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-25
  • 语言: 其他
  • 标签: JMail  操作详解  

资源简介

附带apache-james-2.3.2.zip和JMail示例代码很经典入门必备

资源截图

代码片段和文件信息

package test;

import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class ReceiveEmail {

//设置附件保存路径
private static String filePath = “E:\\MailTemp“;

/**
 * @param args
 */
public static void main(String[] args) {

// 设置收件服务器
String popServer = “localhost“;
// 定义消息文件夹对象
Folder folder = null;
// 定义消息存储器对象
Store store = null;

try {

// 创建属性对象
Properties props = new Properties();
// 创建邮件会话
Session mailSession = Session.getDefaultInstance(props);
// 获取邮件存储器对象
store = mailSession.getStore(“pop3“);
// 连接POP3收件服务器
store.connect(popServer “liguifang“ “111111“);
// 获取消息(邮件)文件夹
folder = store.getFolder(“INBOX“);
// 打开文件夹
folder.open(Folder.READ_ONLY);
// 获取该帐号的所有邮件
Message[] messages = folder.getMessages();
// 循环读取邮件
for (int i = 0; i < messages.length; i++) {

System.out.println(“===============================“);
// 显示邮件标题
System.out.println(“标题:“ + messages[i].getSubject());
// 显示发送时间
System.out.println(“发送时间:“
+ messages[i].getSentDate().toString());
// 显示发件人
System.out
.println(“发件人:“ + messages[i].getFrom()[0].toString());

// 判断邮件类型
if (messages[i].isMimeType(“text/*“)) {// 基本邮件
System.out.println(“内容:“ + messages[i].getContent());
} else {// 带附件的邮件
// 获取Multipart
Multipart multipart = (Multipart) messages[i].getContent();
// 循环提取子内容
for (int j = 0; j < multipart.getCount(); j++) {
// 获取子内容
BodyPart bp = multipart.getBodyPart(j);
// 判断子内容是否有附件
String disInfo = bp.getDisposition();
if (disInfo != null && disInfo.equals(bp.ATTACHMENT)) {// 有附件

// 保存附件
System.out.println(“内容:是附件“);
saveAttach(bp);

} else {// 没有附件
System.out.println(“内容:“ + bp.getContent());
}
}
}

}

} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭Folder、Store
closeReceiveEmail(folder store);
}

}

/**
 * 功能:保存附件
 * 
 * @param part
 * @throws Exception
 */
private static void saveAttach(BodyPart part) throws Exception {

String temp = part.getFileName();// 得到未经处理的附件名字
System.out.println(“附件文件名:“ + temp);
// String s = temp.substring(11 temp.indexOf(“?=“) - 1);//
// 去到header和footer

// 文件名一般都经过了base64编码下面是解码
String fileName = MimeUtility.decodeWord(temp);
System.out.println(“有附件:“ + fileName);

InputStream in = part.getInputStream();
FileOutputStream writer = new FileOutputStream(new File(filePath + “\\“
+ fileName));
byte[] content = new byte[255];
int read = 0;
while ((read = in.read(content)) != -1) {
writer.write(content);
}
writer.close();
in.close();
}

/**
 * 功能:关闭对文件夹和存储的连接
 * 
 * @param folder
 * @param store
 */
private static void closeReceiveEmail(Folder folder Store st

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3696  2009-12-12 10:26  JMail\59 JMail示例代码\59 JMail示例代码\ReceiveEmail.java

     文件       2461  2009-12-12 10:25  JMail\59 JMail示例代码\59 JMail示例代码\SendAttachmentEMail.java

     文件       1774  2009-12-12 09:41  JMail\59 JMail示例代码\59 JMail示例代码\SendMail.java

     文件    7694883  2009-11-16 02:16  JMail\apache-james-2.3.2.zip

    ..A..H.       162  2008-12-09 10:53  JMail\~$S 作业(JMail).doc

     目录          0  2010-01-25 14:12  JMail\59 JMail示例代码\59 JMail示例代码

     目录          0  2010-01-25 14:12  JMail\59 JMail示例代码

     目录          0  2010-01-31 17:23  JMail

----------- ---------  ---------- -----  ----

              7702976                    8


评论

共有 条评论