- 浏览: 114205 次
- 性别:
- 来自: 山东
文章分类
最新评论
-
ly5188:
大虾,例子少了些东西,
javax.mail.Messagin ...
支持邮件群发,多附件发送的javaMail代码 -
DepthJava:
请问楼主,你的就能全部解析?
目前还没找到完全解析的方法,很多 ...
javamail接收邮件的bean,可以正确的解析中文(转)(一)
这几天写的javamail项目中接收邮件和解析邮件的类,参考了很多代码,但是好像没有比较完整的对中文支持还有邮件解析的整合,所以自己写了一个。
Pop3Bean.java是主要的代码
FileProperties.java读取配置文件的类
MailConstants.java指向配置文件的接口,可以不用
Pop3BeanTest.java测试程序
ReadEml.java读取eml文件的bean
接收邮件类
//:Pop3Bean.java
/*
* Created on 2004-12-22
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.jteam.jmail.pop3bean;
import java.io.*;
import java.text.*;
import java.util.*;
import org.jteam.jmail.util.*;
import javax.mail.*;
import javax.mail.internet.*;
/**
* @author David
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Pop3Bean {
private int mailCounter; //邮件计数
private int mailIndex; //邮件编号,即邮件在messages数组中的位置
private int mailDownErrorCounter; //正在下载邮件时,出错的计数器
private boolean[] recordFailure; //记录下载出错的邮件的序号
private int totalRetryTimes; //总共重试次数
private int retryTimeCounter; //记下重试的次数
private boolean otherError; //若是在邮件正式下载之前出错,则置该值为true
private String extension; //文件扩展名
private Store store;
private Folder folder;
private Message[] messages;
private Message message;
private Part part;
private String emlName;
private String attachName;
private int allMessageCount;
private int messageCount;
private String dateformat; //默认的日前显示格式
private String propFile = MailConstants.PROPS_FILE_NAME;//用这个接口类的好处是更改配置文件路径的时候不需要更改每个类
private String protocol; //服务协议
private String mailHost; //服务器地址
private String userName; //用户名
private String password; //密码
private String saveAttachPath; //附件下载后的存放目录
private String saveEmlPath;//保存eml文件的路径
public Pop3Bean() throws IOException {
FileProperties fp = new FileProperties(propFile);
fp.load();
protocol = fp.getProperty(MailConstants.RECV_PROTO);
mailHost = fp.getProperty(MailConstants.RECV_HOST);
userName = fp.getProperty(MailConstants.RECV_USER);
password = fp.getProperty(MailConstants.RECV_PASS);
saveAttachPath = fp.getProperty(MailConstants.RECV_ATTACH);
saveEmlPath = fp.getProperty(MailConstants.RECV_ROOT);
dateformat = fp.getProperty("mail.receive.dtfmat");
extension = fp.getProperty("mail.receive.extension");
totalRetryTimes = Integer
.parseInt(fp.getProperty("mail.receive.retry"));
}
/**
* 设置邮件主机
*/
public void setMailHost(String mailHost) {
this.mailHost = mailHost;
}
/**
* 获取邮件主机
*/
public String getMailHost() {
return this.mailHost;
}
/**
* 设置邮件帐号
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* 获取邮件帐号
*/
public String getUserName() {
return this.userName;
}
/**
* 设置邮件密码
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 设置Store
*/
public void setStore(Store store) {
this.store = store;
}
/**
* 设置邮箱文件夹
*/
public void setFolder(Folder folder) {
this.folder = folder;
}
/**
* 设置messages数组
*/
public void setMessages(Message[] messages) {
this.messages = messages;
}
/**
* 设置message
*/
public void setMessage(Message message) {
this.message = message;
}
/**
* 获取message
*/
public Message getMessage() {
return this.message;
}
/**
* 获取folder中的message数量
*
* @throws MessagingException
*/
public int getAllMessageCount() throws MessagingException {
this.allMessageCount = folder.getMessageCount();
return allMessageCount;
}
/**
* 设置allMessageCount
*
* @throws MessagingException
*/
private void setAllMessageCount() throws MessagingException {
this.allMessageCount = this.folder.getMessageCount();
}
/**
* 获取messages中message的数量
*
* @return
*/
public int getMessageCount() {
this.messageCount = this.messages.length;
return messageCount;
}
/**
* 获得folder中新邮件的数量
*
* @return
* @throws MessagingException
*/
public int getNewMessageCount() throws MessagingException {
return this.folder.getNewMessageCount();
}
/**
* 获得folder中未读邮件的数量
*
* @return
* @throws MessagingException
*/
public int getUnreadMessageCount() throws MessagingException {
return this.folder.getUnreadMessageCount();
}
/**
* 获取Part
*/
public Part getPart() {
return (Part) message;
}
/**
* 设置Part
*/
public void setPart(Part part) {
this.part = part;
}
/**
* 设置附件存放路径
*/
public void setAttachPath(String attachPath) {
this.saveAttachPath = attachPath;
}
/**
* 获得附件存放路径
*/
public String getAttachPath() {
return saveAttachPath;
}
/**
* 设置eml存放路径
*/
public void setEmlPath(String emlPath) {
this.saveEmlPath = emlPath;
}
/**
* 获得eml存放路径
*/
public String getEmlPath() {
return saveEmlPath;
}
public void setEmlName(String emlName) {
this.emlName = emlName;
}
public String getEmlName() {
return emlName;
}
public void setAttachName(String attachName) {
this.attachName = attachName;
}
public String getAttachName() {
return attachName;
}
public void setExtension(String extension) {
this.extension = extension;
}
public String getExtension() {
return extension;
}
/**
* 设置日期显示格式
*/
public void setDateFormat(String format) throws Exception {
this.dateformat = format;
}
Pop3Bean.java是主要的代码
FileProperties.java读取配置文件的类
MailConstants.java指向配置文件的接口,可以不用
Pop3BeanTest.java测试程序
ReadEml.java读取eml文件的bean
接收邮件类
//:Pop3Bean.java
/*
* Created on 2004-12-22
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.jteam.jmail.pop3bean;
import java.io.*;
import java.text.*;
import java.util.*;
import org.jteam.jmail.util.*;
import javax.mail.*;
import javax.mail.internet.*;
/**
* @author David
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Pop3Bean {
private int mailCounter; //邮件计数
private int mailIndex; //邮件编号,即邮件在messages数组中的位置
private int mailDownErrorCounter; //正在下载邮件时,出错的计数器
private boolean[] recordFailure; //记录下载出错的邮件的序号
private int totalRetryTimes; //总共重试次数
private int retryTimeCounter; //记下重试的次数
private boolean otherError; //若是在邮件正式下载之前出错,则置该值为true
private String extension; //文件扩展名
private Store store;
private Folder folder;
private Message[] messages;
private Message message;
private Part part;
private String emlName;
private String attachName;
private int allMessageCount;
private int messageCount;
private String dateformat; //默认的日前显示格式
private String propFile = MailConstants.PROPS_FILE_NAME;//用这个接口类的好处是更改配置文件路径的时候不需要更改每个类
private String protocol; //服务协议
private String mailHost; //服务器地址
private String userName; //用户名
private String password; //密码
private String saveAttachPath; //附件下载后的存放目录
private String saveEmlPath;//保存eml文件的路径
public Pop3Bean() throws IOException {
FileProperties fp = new FileProperties(propFile);
fp.load();
protocol = fp.getProperty(MailConstants.RECV_PROTO);
mailHost = fp.getProperty(MailConstants.RECV_HOST);
userName = fp.getProperty(MailConstants.RECV_USER);
password = fp.getProperty(MailConstants.RECV_PASS);
saveAttachPath = fp.getProperty(MailConstants.RECV_ATTACH);
saveEmlPath = fp.getProperty(MailConstants.RECV_ROOT);
dateformat = fp.getProperty("mail.receive.dtfmat");
extension = fp.getProperty("mail.receive.extension");
totalRetryTimes = Integer
.parseInt(fp.getProperty("mail.receive.retry"));
}
/**
* 设置邮件主机
*/
public void setMailHost(String mailHost) {
this.mailHost = mailHost;
}
/**
* 获取邮件主机
*/
public String getMailHost() {
return this.mailHost;
}
/**
* 设置邮件帐号
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* 获取邮件帐号
*/
public String getUserName() {
return this.userName;
}
/**
* 设置邮件密码
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 设置Store
*/
public void setStore(Store store) {
this.store = store;
}
/**
* 设置邮箱文件夹
*/
public void setFolder(Folder folder) {
this.folder = folder;
}
/**
* 设置messages数组
*/
public void setMessages(Message[] messages) {
this.messages = messages;
}
/**
* 设置message
*/
public void setMessage(Message message) {
this.message = message;
}
/**
* 获取message
*/
public Message getMessage() {
return this.message;
}
/**
* 获取folder中的message数量
*
* @throws MessagingException
*/
public int getAllMessageCount() throws MessagingException {
this.allMessageCount = folder.getMessageCount();
return allMessageCount;
}
/**
* 设置allMessageCount
*
* @throws MessagingException
*/
private void setAllMessageCount() throws MessagingException {
this.allMessageCount = this.folder.getMessageCount();
}
/**
* 获取messages中message的数量
*
* @return
*/
public int getMessageCount() {
this.messageCount = this.messages.length;
return messageCount;
}
/**
* 获得folder中新邮件的数量
*
* @return
* @throws MessagingException
*/
public int getNewMessageCount() throws MessagingException {
return this.folder.getNewMessageCount();
}
/**
* 获得folder中未读邮件的数量
*
* @return
* @throws MessagingException
*/
public int getUnreadMessageCount() throws MessagingException {
return this.folder.getUnreadMessageCount();
}
/**
* 获取Part
*/
public Part getPart() {
return (Part) message;
}
/**
* 设置Part
*/
public void setPart(Part part) {
this.part = part;
}
/**
* 设置附件存放路径
*/
public void setAttachPath(String attachPath) {
this.saveAttachPath = attachPath;
}
/**
* 获得附件存放路径
*/
public String getAttachPath() {
return saveAttachPath;
}
/**
* 设置eml存放路径
*/
public void setEmlPath(String emlPath) {
this.saveEmlPath = emlPath;
}
/**
* 获得eml存放路径
*/
public String getEmlPath() {
return saveEmlPath;
}
public void setEmlName(String emlName) {
this.emlName = emlName;
}
public String getEmlName() {
return emlName;
}
public void setAttachName(String attachName) {
this.attachName = attachName;
}
public String getAttachName() {
return attachName;
}
public void setExtension(String extension) {
this.extension = extension;
}
public String getExtension() {
return extension;
}
/**
* 设置日期显示格式
*/
public void setDateFormat(String format) throws Exception {
this.dateformat = format;
}
发表评论
-
使用javamail的一些问题
2009-09-02 21:33 996今天用javamail做了一个发送邮件的功能.遇到了一系列的问 ... -
使用javamail api开发邮件服务系统时,常碰的中文乱码问题
2009-09-02 16:50 1732乱码是因为不同语系操作系统之间文字编码不通用造成的,可以用南极 ... -
javamail接收邮件的bean,可以正确的解析中文(转)(四)
2009-09-02 16:42 1390Pop3Bean.java是主要的代码 FileProper ... -
javamail接收邮件的bean,可以正确的解析中文(转)(三)
2009-09-02 16:35 1124//接上一文章 /** * 从folder中提取 ... -
javamail接收邮件的bean,可以正确的解析中文(转)(二)
2009-09-02 16:34 1118//接上一文章 /** * 获取日期显示格式 ... -
支持邮件群发,多附件发送的javaMail代码
2009-09-02 16:31 1857在网上找了半天才找到了一点比较满意的代码,但是不能直接拿来用, ... -
用JavaMail API编写可带附件的邮件发送程序
2009-09-02 16:30 1751用JavaMail API编写可带附 ... -
java电子邮件(四)JavaMail(JAVA邮件服务) API详解
2009-09-02 15:35 1450一、JavaMail API简介 JavaMa ... -
java电子邮件(三)
2009-09-02 15:33 1096最新的JavaMail 1.3.1增强了在国际化字符集的处理, ... -
java电子邮件(一)
2009-09-02 15:31 1415import java.io.UnsupportedEncod ... -
java电子邮件(二)使用JavaMail收发邮件,解决了中文附件名问题
2009-09-02 15:29 1799mail.jar : http://java.sun.co ...
相关推荐
JavaMail API是Java平台上的标准邮件服务接口,它提供了一系列类和接口,用于发送和接收电子邮件。在这个项目中,我们可能会使用`javax.mail`和`javax.mail.internet`这两个包中的类,如`Session`、`Message`、`...
JavaMail是Java编程环境中用于处理电子邮件的一套API,它提供了创建、发送和接收邮件的功能。在Java应用程序中,我们通常会用到两个关键的库文件:`activation.jar`和`mail.jar`。这两个JAR文件在Spring框架集成邮件...
综上所述,Java通过JavaMail API和Apache POI库可以实现电子邮件的发送、接收以及Excel文件的处理。在Spring框架中,这些功能可以更加方便地集成和管理,提高开发效率。通过编写相应的逻辑,你可以创建一个自动化...
`java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...
通过研究和理解这个Java邮件开发源代码,开发者不仅可以学习到如何使用JavaMail API发送和接收邮件,还能掌握SSM框架的实践应用,这对于进行企业级的课程设计或毕业设计项目非常有帮助。同时,这也是提升Java Web...
JavaMail 是一个用于发送和接收电子邮件的开源库,在Java编程中广泛使用。在这个场景中,我们看到一个简单的Java应用,它结合了JavaMail和CSV文件处理来实现批量发送电子邮件的功能。下面将详细解释相关的知识点: ...
Java邮件开发是Java编程中的一项重要技能,它允许开发者通过代码发送、接收和处理电子邮件。在Java中,我们主要依赖JavaMail API来实现这个功能。JavaMail API是一个开放源码的API,它提供了多种协议(如SMTP、POP3...
总的来说,这个"java发送邮件jar包"集合了Spring框架和JavaMail API,为开发者提供了一个便捷的途径来实现在Java应用程序中发送邮件的功能。通过适当的配置和编程,可以构建出高效且可靠的邮件发送系统。
实例48 使用JAVAMAIL接收邮件 实例49 获取URL文本 实例5 哈希表和枚举器 实例50 一个简单的WEB服务器 实例51 数据报通讯:聊天吧 实例52 使用ODBC连接数据库 实例53 加载JDBC驱动 实例54 使用语句预处理 实例55 可...
在电子邮件应用中,Servlet通常用于接收用户的登录信息、发送邮件等操作。Servlet生命周期包括加载、实例化、初始化、服务和销毁五个阶段,开发者可以在这些阶段中编写相应的处理逻辑。 **JavaBean** 是Java中可...
JavaMail 是一个 Java API,用于发送和接收电子邮件。它提供了一个统一的接口来访问不同的邮件服务器和协议。使用 JavaMail,可以在 Java 应用程序中实现电子邮件的发送和接收。 2. Antlr-2.7.6.jar:这是一个 ant ...
“邮件系统”可能涉及到SMTP协议,用于发送邮件,以及POP3/IMAP协议,用于接收邮件。开发者需要熟悉JavaMail API来实现这些功能,同时,还需要处理用户认证、邮件存储和检索等复杂问题。 “后台管理”部分通常包括...
4. **mail-1.4.jar**:这是一个JavaMail API的实现,用于处理SMTP、POP3、IMAP等邮件协议。它使得开发者能够在Java应用中发送和接收电子邮件。 5. **saaj-impl-1.3.jar**:SOAP with Attachments API for Java ...
JavaMail API为发送和接收电子邮件提供了一套完整的解决方案。在本系统中,JavaMail被用来实现自动化的邮件通知功能,比如当用户完成注册或修改个人信息时,系统可以通过JavaMail向用户发送确认邮件,增强了系统的...
8. **JavaMail API**:用于处理电子邮件的发送和接收,包括附件、HTML格式的邮件等功能。 9. **Java API for XML Processing (JAXP)** 和 **Java API for XML Binding (JAXB)**:这两个API分别用于XML的解析和Java...
7. **JavaMail API**:用于发送和接收电子邮件,常用于实现企业级的通知系统。 8. **Java API for XML Processing (JAXP)** 和 **Java API for XML Binding (JAXB)**:这两个API支持XML的解析和转换,以及XML与Java...
8. **JavaMail API**:JavaMail API提供了在Java应用程序中发送和接收电子邮件的能力。 9. **Java API for XML Processing (JAXP)**:JAXP允许Java程序处理XML数据,包括解析、转换和样式表处理。 10. **Java API ...
JavaMail是J2EE中用于发送和接收电子邮件的API。它支持多种邮件协议,包括SMTP、POP3和IMAP,使得J2EE应用程序可以轻松地集成电子邮件功能。 #### JAF:应用程序框架 Java应用程序框架(JAF)是J2EE中用于构建桌面...
8. **JavaMail API**:JavaMail API允许开发者在Java应用中发送和接收电子邮件。 9. **Java API for XML Processing (JAXP)**:JAXP用于处理XML文档,包括解析、验证和转换XML数据。 10. **Java API for XML Web ...
8. **JavaMail API**:用于发送和接收电子邮件,提供了与多种邮件服务器交互的接口。 9. **Java API for XML Processing (JAXP)**:处理XML文档的API,包括解析、转换和验证等功能。 10. **Java API for XML Web ...