日常工作中,常常要将在公司做的东西拷回家,或者要从家里拷东西到公司,但是如果用U盘拷又太麻烦,上web发邮件又有点烦,所以就做了下面的小程序,发送前切版里的内容到指定邮箱来传递文件.
相关技术点:
1.JMail邮件发送
2.剪切板提取
具体代码实现如下:
<!---->/*
* Created on 2008-3-5
*/
package org.dueam.ft;
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
import sun.misc.BASE64Encoder;
/**
* 剪切板内容发生
* @author <a href="mailto:windonly@gmail.com">Anemone</a>
* hz,zj,china(2008-3-5)
*/
public class ClipboardFileTransmission {
/**
* @param args
* @throws EmailException
* @throws IOException
* @throws UnsupportedFlavorException
* @throws HeadlessException
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) throws EmailException, HeadlessException, UnsupportedFlavorException,
IOException {
String context = null;
List<File> fileList = null;
/**
* 处理前切版
*/
for (DataFlavor df : Toolkit.getDefaultToolkit().getSystemClipboard().getAvailableDataFlavors()) {
//如果拷贝的是文本内容
if (df.equals(DataFlavor.stringFlavor)) {
context = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
}
else if (df.equals(DataFlavor.javaFileListFlavor)) {
//如果拷贝的是文件则当附件发送
fileList = (List<File>) Toolkit.getDefaultToolkit().getSystemClipboard().getData(
DataFlavor.javaFileListFlavor);
}
}
if ((null == context || "".equals(context)) && (fileList == null || fileList.isEmpty())) {
return;
}
if (null == context || "".equals(context)) {
context = "具体资料请看附件";
}
MultiPartEmail email = new MultiPartEmail();
// 发送服务器
email.setHostName("smtp.163.com");
//服务器用户和密码(如果你自己搞了台不用验证的邮件服务器就不用了)
email.setAuthentication("XXX", "XXX");
//接收的邮箱
email.addTo("XXX@gmail.com", "我的资料库");
//发送服务器的邮件地址,现在很多邮件提供商都有验证这个同用户名是否对应,还是老老实实填真实的吧
email.setFrom("XXX@163.com", "Anemone");
email.setSubject("[日常资料传递]-" + getTime());
//文本编码
email.setCharset("utf-8");
email.setMsg(context);
if (null != fileList)
for (File f : fileList) {
if (f.exists() && f.isFile()) {
//处理附件
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(f.getPath());
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription(getTime() + "By Anemone");
BASE64Encoder enc = new BASE64Encoder();
//附件中文名问题
attachment.setName("=?GBK?B?" + enc.encode(f.getName().getBytes()) + "?=");
email.attach(attachment);
}
}
email.send();
}
public static String getTime() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
return df.format(new Date());
}
}
以上代码在163和gmail之间测试通过过,建议用exe4j打成EXE文件,然后扔到system32目录下面,这样只要想发送资料的时候,只要复制下资料,再执行下这个命令就一切都OK了.
相关类包:
下载
分享到:
相关推荐
1. **引入组件**:首先在项目中引入JMail45的库文件,通常是通过添加引用或者导入jar包来完成。 2. **实例化JMail对象**:创建JMail类的实例,设置SMTP服务器信息,包括服务器地址、端口号、用户名和密码。 3. **...
标题中的"jmail commons-email-1.1.rar"是一个压缩包文件,包含了两个重要的Java库:jmail和commons-email的1.1版本。这个压缩包对于处理Java消息服务(Java Message Service, JMS)的开发者来说是至关重要的,因为...
JMail组件是ASP环境下用于发送电子邮件的工具,它在Web应用程序中扮演着重要的角色,使得开发者无需深入了解SMTP(简单邮件传输协议)等底层技术就能轻松实现邮件发送功能。JMail 4.5版本是一个更新的版本,旨在提高...
《深入理解jmail.dll文件及其在IT应用中的重要性》 jmail.dll文件是Windows操作系统中一个重要的动态链接库(Dynamic Link Library),它主要用于支持与电子邮件相关的功能,尤其是与JMail软件的集成。JMail是一款...
JMail 4.5 组件是一款用于在应用程序中实现电子邮件功能的组件,主要通过引用其核心组件jmail.dll 4.5.0.0来实现。这个组件为开发者提供了便捷的方式来发送邮件,包括HTML格式的邮件,附件,甚至进行SMTP验证和SSL...
它提供了一种简单、高效的方式来集成电子邮件功能到Web应用程序中。JMail Pro 4.4 版本是其专业版,相较于免费版,它提供了更完整、更稳定的服务,特别是对于接收邮件的支持,这是免费版可能无法实现的。 1. **电子...
**Jmail.dll 文件详解** **一、Jmail.dll 概述** Jmail.dll 是一个重要的动态链接库(Dynamic Link Library)文件,它属于 ...在实际应用中,应结合 "jmail.txt" 文件提供的详细资料,以充分利用 Jmail 的各项功能。
Jmail.dll 文件通常与ASP(Active Server Pages)脚本一起使用,为基于Web的应用程序提供邮件发送能力。 **邮件发送功能** Jmail 是一个强大的邮件组件,它提供了丰富的API接口,允许开发者在ASP页面上轻松实现...
通过导入JMail库,开发者能够轻松地在自己的应用程序中集成邮件发送功能,无需深入了解SMTP(Simple Mail Transfer Protocol)等底层邮件传输协议的细节。 JMail库提供了丰富的API接口,支持创建、编辑和发送邮件,...
它可以直接通过SMTP(简单邮件传输协议)发送邮件,无需通过像Foxmail这样的客户端程序。这意味着,无论用户是否安装了Foxmail或其他客户端,只要网络连接可用,VBA脚本都能通过Jmail发送邮件。 提供的文件“Jmail...
4. **ikernel.ex_**:这是一个部分文件,可能是因为文件传输不完整或者是被截断的ikernel.exe,它是InstallShield安装引擎的一部分,用于执行安装过程。 5. **Setup.exe**:这是主安装程序执行文件,负责启动和引导...
DLL文件是Windows操作系统中用于封装一组相关功能的共享库,开发者可以在自己的应用程序中调用这些功能,而无需重新编写代码。 1. **jmail.dll**:这是一个专门用于ASP.NET应用中的邮件发送组件,提供了方便的接口...
Jmail 4.3作为一款邮件服务器组件,它的主要功能可能包括SMTP(简单邮件传输协议)和POP3(邮局协议)的支持,允许用户通过Web界面发送和接收邮件。此外,它可能还提供了API接口,以便开发者能够轻松地将其集成到...
1. **SMTP 邮件发送**:Jmail 支持使用简单邮件传输协议 (SMTP) 直接发送邮件,允许开发者构建能够发送邮件的应用程序,无需用户通过Web界面操作。 2. **多协议支持**:除了SMTP,Jmail可能还支持其他邮件传输协议...
JMail是一款在VB环境中广泛使用的邮件发送组件,它允许开发者通过编程的方式发送电子邮件,包括SMTP(简单邮件传输协议)和POP3(邮局协议)等服务。 【描述】"jmail发信VB很实用的源码,精心挑选的精品源码"暗示了...
这允许它直接与邮件服务器交互,执行SMTP(简单邮件传输协议)通信,从而确保邮件的正确发送。 在提供的压缩包子文件名称列表中,我们看到有两个文件: 1. "jmailnet_free.msi":这是一个Microsoft Installer(MSI...
**JMail** 是一款专为Java开发者设计的邮件发送组件,它提供了丰富的API接口,使得在Java应用程序中发送电子邮件变得简单而高效。JMail支持SMTP、POP3和IMAP等多种邮件协议,允许开发者构建功能强大的邮件系统,如...
1. **邮件发送功能**:JMAIL支持通过SMTP(简单邮件传输协议)发送邮件,可以设置发件人、收件人、抄送人、密送人等参数,还可以添加附件、设置邮件主题和正文内容。 2. **多语言支持**:JMAIL通常能处理多种字符集...
通常,通过运行这个MSI文件,用户可以安装必要的组件和设置,使得开发环境或应用程序能够识别并使用JMail。 3. **说明.txt**:这个文本文件很可能是JMail的使用指南或快速入门文档,里面可能包含了如何配置和使用...