- 浏览: 7331216 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
public class DMail {
/**
* 发送简单的email,不能添加附件
*/
public static final int SIMPLEEMAIL = 1;
/**
* 文本邮件,可以添加多个附件
*/
public static final int MULTIPARTEMAIL = 2;
/**
* HTML格式邮件,同时具有MultiPartEmail类所有“功能”
*/
public static final int HTMLEMAIL = 3;
/**
* 发件人的地址
*/
private String from_address = "";
/**
* 邮件标题
*/
private String title = "";
/**
* 邮件内容
*/
private String text = "";
/**
* 发送邮件服务器的信息
*/
private String mail_smtp_host = "";
/**
* 发件人用户名
*/
private String username = "";
/**
* 发件人密码
*/
private String passwod = "";
/**
* mail发送方式
*/
private int mail_type = 1;
/**
* 邮件附件列表
*/
private ArrayList accessoriesList = new ArrayList();
/**
* 发送地址列表
*/
private ArrayList to_addressList = new ArrayList();
/**
* 抄送地址列表
*/
private ArrayList cc_to_addressList = new ArrayList();
/**
* 密送地址列表
*/
private ArrayList bcc_to_addressList = new ArrayList();
/**
* 获取发件人的地址
* @return
*/
private String getFrom_address() {
return from_address;
}
/**
* 设置发件人的地址
* @param from_address
*/
public void setFrom_address(String from_address) {
this.from_address = from_address;
}
/**
* 获取smtp host主机地址
* @return
*/
private String getMail_smtp_host() {
return mail_smtp_host;
}
/**
* 设置smtp host主机地址
* @param mail_smtp_host
*/
public void setMail_smtp_host(String mail_smtp_host) {
this.mail_smtp_host = mail_smtp_host;
}
/**
* 获取发件人密码
* @return
*/
private String getPasswod() {
return passwod;
}
/**
* 设置发件人密码
* @param passwod
*/
public void setPasswod(String passwod) {
this.passwod = passwod;
}
/**
* 获取邮件内容
* @return
*/
private String getText() {
return text;
}
/**
* 设置邮件内容(支持HTML)
* @param text
*/
public void setText(String text) {
this.text = text;
}
/**
* 获取邮件标题
* @return
*/
private String getTitle() {
return title;
}
/**
* 设置邮件标题(主题)
* @param title
*/
public void setTitle(String title) {
this.title = title;
}
/**
* 获取发件人用户名
* @return
*/
private String getUsername() {
return username;
}
/**
* 设置发件人用户名
* @param username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 添加附件
* @param path
*/
public void AddAccessories(String path){
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(path);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
//文件描述
attachment.setDescription("venustech");
try {
attachment.setName(MimeUtility.encodeText(path.substring(path.lastIndexOf("/")+1)));//解决中文字符问题
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
this.accessoriesList.add(attachment);
}
/**
* 添加发送地址
* @param path
*/
public void Add_To_addressList(String path){
String[] p = path.split(";");
for(int i = 0 ; i < p.length;i++){
if(p[i].equals("")){
continue;
}
to_addressList.add(p[i]);
}
}
/**
* 添加抄送地址
* @param path
*/
public void Add_Cc_To_addressList(String path){
String[] p = path.split(";");
for(int i = 0 ; i < p.length;i++){
if(p[i].equals("")){
continue;
}
cc_to_addressList.add(p[i]);
}
}
/**
* 添加密送地址
* @param path
*/
public void Add_Bcc_To_addressList(String path){
String[] p = path.split(";");
for(int i = 0 ; i < p.length;i++){
if(p[i].equals("")){
continue;
}
bcc_to_addressList.add(p[i]);
}
}
/**
* 发送HTML格式邮件,可以添加多个附件
* @return
*/
private boolean sendHtmlEMail(){
try {
HtmlEmail email = new HtmlEmail();
//smtp host
email.setHostName(getMail_smtp_host());
email.setCharset("UTF-8");
//登陆邮件服务器的用户名和密码
email.setAuthentication(getUsername(),getPasswod());
//接收人
//email.addTo(getTo_address(),getFrom_nickname());
for(int i = 0 ; i < to_addressList.size();i++){
email.addTo(((String)to_addressList.get(i)),((String)to_addressList.get(i)));
}
//抄送
for(int i = 0 ; i < cc_to_addressList.size();i++){
email.addCc(((String)cc_to_addressList.get(i)),((String)cc_to_addressList.get(i)));
}
//密送
for(int i = 0 ; i < bcc_to_addressList.size();i++){
email.addBcc(((String)bcc_to_addressList.get(i)),((String)bcc_to_addressList.get(i)));
}
//发送人
email.setFrom(getFrom_address(),getFrom_address());
//标题
email.setSubject(getTitle());
//邮件内容
email.setHtmlMsg(getText());
//添加附件(附件,可以定义多个附件对象)
for(int i = 0; i < this.accessoriesList.size();i++){
EmailAttachment attachment = (EmailAttachment)this.accessoriesList.get(i);
email.attach(attachment);
}
//发送
email.send();
} catch (EmailException e) {
return false;
}
return true;
}
/**
* 发送文本邮件,可以添加多个附件
* @return
*/
private boolean sendMultipartEMail(){
try {
MultiPartEmail email = new MultiPartEmail();
//smtp host
email.setHostName(getMail_smtp_host());
email.setCharset("UTF-8");
//登陆邮件服务器的用户名和密码
email.setAuthentication(getUsername(),getPasswod());
//接收人
//email.addTo(getTo_address(),getFrom_nickname());
for(int i = 0 ; i < to_addressList.size();i++){
email.addTo(((String)to_addressList.get(i)),((String)to_addressList.get(i)));
}
//抄送
for(int i = 0 ; i < cc_to_addressList.size();i++){
email.addCc(((String)cc_to_addressList.get(i)),((String)cc_to_addressList.get(i)));
}
//密送
for(int i = 0 ; i < bcc_to_addressList.size();i++){
email.addBcc(((String)bcc_to_addressList.get(i)),((String)bcc_to_addressList.get(i)));
}
//发送人
email.setFrom(getFrom_address(),getFrom_address());
//标题
email.setSubject(getTitle());
//邮件内容
email.setMsg(getText());
//添加附件(附件,可以定义多个附件对象)
for(int i = 0; i < this.accessoriesList.size();i++){
EmailAttachment attachment = (EmailAttachment)this.accessoriesList.get(i);
email.attach(attachment);
}
//发送
email.send();
} catch (EmailException e) {
return false;
}
return true;
}
/**
* 发送简单邮件
* @return
*/
private boolean sendSimpleEMail(){
SimpleEmail email = new SimpleEmail();
//smtp host
email.setHostName(getMail_smtp_host());
email.setCharset("UTF-8");
//登陆邮件服务器的用户名和密码
try {
email.setAuthentication(getUsername(),getPasswod());
//接收人
//email.addTo(getTo_address(),getFrom_nickname());
for(int i = 0 ; i < to_addressList.size();i++){
email.addTo(((String)to_addressList.get(i)),((String)to_addressList.get(i)));
}
//抄送
for(int i = 0 ; i < cc_to_addressList.size();i++){
email.addCc(((String)cc_to_addressList.get(i)),((String)cc_to_addressList.get(i)));
}
//密送
for(int i = 0 ; i < bcc_to_addressList.size();i++){
email.addBcc(((String)bcc_to_addressList.get(i)),((String)bcc_to_addressList.get(i)));
}
//发送人
email.setFrom(getFrom_address(),getFrom_address());
//标题
email.setSubject(getTitle());
//邮件内容
email.setMsg(getText());
//发送
email.send();
} catch (EmailException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 发送邮件
* @return
*/
public boolean sendEMail(){
boolean result = false;
if(this.getMail_type() == this.SIMPLEEMAIL){
result = sendSimpleEMail();
}else if(this.getMail_type() == this.MULTIPARTEMAIL){
result = sendMultipartEMail();
}else{
result = sendHtmlEMail();
}
return result;
}
/**
* 获取邮件发送类型
* @return
*/
public int getMail_type() {
return mail_type;
}
/**
* 设置邮件发送类型
* @param mail_type
*/
public void setMail_type(int mail_type) {
this.mail_type = mail_type;
}
/**
* 发送邮件的例子
* @param args
*/
public static void main(String [] args){
// DMail dmail = new DMail();
// /**/
// dmail.setFrom_address("发件人地址");//完整邮箱
// dmail.Add_To_addressList("收件人地址(列表)");//收件人邮箱地址(多个地址以;分割)
// dmail.Add_Cc_To_addressList("抄送地址(列表)");
// dmail.Add_Bcc_To_addressList("密送地址(列表)");
// dmail.setTitle("邮件的标题信息");
// dmail.setText("邮件内容");
// dmail.setMail_smtp_host("smtp服务器地址");
// dmail.setUsername("用户名");
// dmail.setPasswod("密码");
// /**/
//
// //简单邮件发送方式
// dmail.setMail_type(DMail.SIMPLEEMAIL);
// if(dmail.sendEMail()){
// System.out.println("邮件发送成功");
// }else{
// System.out.println("邮件发送失败");
// }
/**发送带附件的邮件**
dmail.setMail_type(DMail.MULTIPARTEMAIL);
dmail.AddAccessories("c://response.txt");
dmail.AddAccessories("c://12.txt");
if(dmail.sendEMail()){
System.out.println("邮件发送成功");
}else{
System.out.println("邮件发送失败");
}/**/
}
}
发表评论
-
[转]Jython初探
2014-01-07 11:19 2406转载自: ... -
ireport导出各种格式(pdf,excel,word,html,print)
2013-05-02 16:59 10045import java.io.IOException; ... -
【转】使用Atomikos Transactions Essentials实现多数据源JTA分布式事务
2013-04-03 12:11 6792Atomikos数据源配置方法有三种 Atomikos数 ... -
【转】Apache Thrift入门1-架构&介绍
2013-04-02 13:26 2032Thrift 是什么? Thrift ... -
【转】Thrift入门及Java实例演示
2013-04-02 12:47 2576目录: 概述 下载配置 基本概念 数据类型 ... -
【转】Thrift入门试用
2013-04-02 12:39 2175在新的项目中公司在平台内部系统间使用Thrift通讯,都没 ... -
【转】thrift的安装
2013-04-02 12:38 2089一、ubuntu下thrift的安装 1.下载源代码 ... -
GIS的学习(二十五)geoserver wms中的各种操作API详细讲解和使用
2012-09-10 17:42 9698官方geoserver中WMS服务中几种操作的API的详细说明 ... -
POI3.8组件研究(九)----让POI架起Java与Office之间的桥梁
2012-06-17 14:37 4317本文将阐述如何用POI来读取/写入完整的Excel文 ... -
POI3.8组件研究(八)--基于SXSSF (Streaming Usermodel API)的写文件
2012-06-17 14:17 14430在POI3.8中SXSSF仅仅支持excel2 ... -
POI3.8组件研究(七)--基于XSSF and SAX (Event API)事件的解析
2012-06-17 14:00 5360针对Event API事件解析仅仅支持excel97~ ... -
POI3.8组件研究(六)---struts2.0 视图层文件页面点击导出
2012-06-17 13:23 2414在struts2.0中点击导出按钮将信息导出为exce ... -
POI3.8组件研究(五)---excel文件内容抽取为文本
2012-06-15 09:15 4362在一个搜索引擎的使用中需要将各种文件转化为文本 ... -
POI3.8组件研究(四)--Event API (HSSF Only)事件的解析
2012-06-14 17:37 9057通过eventusermodel读取文件 ... -
POI3.8组件研究(二)---基于User API (HSSF and XSSF)解析Excel2003和2007文件
2012-06-14 09:46 3213在解析生成excel2003和 ... -
POI3.8组件研究(一)---基于User API (HSSF and XSSF)解析Excel2003和2007文件
2012-06-14 09:29 5349在以前的Excel解析时候,我们通常需要编写Ex ... -
EasyPOI的使用
2012-02-12 17:06 5305EasyPOI 的目的是封装了poi的写excel的API。 ... -
Commons-net FTPClient上传下载的封装
2011-08-25 08:30 11508在项目中使用到FTP功能,于是采用类似Spri ... -
Java将第三方jar文件打包到一个jar中的插件(fatjar)
2011-08-19 22:17 4332<!-- google_ad_section_star ... -
Apache的Commons-configuration自动加载特性
2011-07-24 19:04 4071在一些项目可能配置文件经常变化,配置文件的类型可能 ...
相关推荐
为了使用"AT_Commom-master",开发者首先需要了解目标模块的AT指令集,然后根据项目需求配置库中的参数,如串口波特率、校验位等。接着,通过库提供的API接口发送AT指令,处理返回的数据。在实际应用中,可能还需要...
与hadoop有关的io文件在hadoop-commom-x.x.x.jar中如:org.apache.hadoop.io.LongWritable, org.apache.hadoop.io.IntWritable org.apache.hadoop.io.Text等,相关的conf配置文件也在该jar文件中
commons-vfs2-2.2.1.6.jar
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。...通过使用hadoop-eclipse-plugin-2.2.0这样的开发工具,开发者可以更高效地利用Hadoop平台,实现大数据的高效处理和分析。
jar包,亲测可用
在上述问题"java apache common-io上传大文件报错"中,开发者可能遇到了在使用Apache Commons IO进行大文件上传时遇到的一些挑战。这篇博客文章(虽然链接不可用)很可能讨论了这些问题及其解决方案。 Apache ...
这款2D游戏是使用C#在Unity上开发的。 您可以访问以下在线播放: : 游戏分为两个级别,您需要在其中收集右上角显示的所有菱形。 收集所有内容时,将在地图末尾打开一个门户,该门户将提供对下一个级别的访问权限...
3. **SQL 语言**:MySQL 数据库操作主要使用 SQL 语言,包括 DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语言)和 DQL(数据查询语言)。 4. **索引**:MySQL 支持多种类型的索引,如 B-Tree、Hash、...
分布式ID组件1 分布式ID组件是指在分布式系统中生成唯一标识符的组件,用于标识不同的数据记录、业务流程等。...使用Leaf分布式ID组件需要引入相应的jar包和配置文件,并在代码中使用注解的方式来使用Leaf。
重复性Java东西的有用库
Apache Commons Lang是Java开发者们广泛使用的开源库之一,其中的2.6版本以其强大的功能和稳定性,在Web开发领域备受推崇。这个工具包提供了大量实用的类和方法,极大地扩展了Java语言的功能,使得开发者能够更加...
### 使用VB控件Common Dialog详解 #### 一、Common Dialog 控件概述 在Visual Basic (VB) 开发环境中,Common Dialog 控件是一个非常实用且功能强大的控件,它提供了多种预定义对话框(如打开文件对话框、保存文件...
"commom_ipc_interface.rar"这个压缩包提供了对Linux下常见IPC机制的C++封装,实现了统一的接口,使得开发者可以更加方便地进行进程间的通信。 1. **信号量(Semaphore)**: - `sem_shm.cpp`涉及到信号量和共享...
commom.c
下载hadoop2.6.0的源码辛苦编译成的,网上没找到编译好现成的,费了几个小时用maven编译好的带源码的jar包,中间还得安装编译protoc,可以直接供eclipse使用。
使用jsoup技术连接网站地址,通过改变参数获取网站div模块下的所有信息。通过hibernate技术保存到mysql数据库。项目中包括dbutil链接数据库的工具类,执行sql的helper工具类,获取网站div图片保存到本地的工具类信息...
Java是一种广泛使用的高级编程语言,以其“一次编写,到处运行”的跨平台特性而著名。它由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布,设计初衷是为了解决C++在分布式环境中的复杂性和平台...
最新小红书x-s参数x-t参数、爬虫、python、小红书、反爬虫
#前端构建工具说明# ##主要使用工具## : 一个前端模块化开发工具。同时提供配套构建插件 : 前端任务运行器.提供各类插件用于前端开发,例如JSLint代码检验,优化,concat合并文件插件,uglify压缩...commom-debug.js comm
在使用`Commons-FileUpload`之前,你需要在项目中引入对应的依赖。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>commons-fileupload <artifactId>commons-fileupload <version>1.4 ``...