URLScan V3.1,使用URLScan隐藏IIS服务器Server头信息
使用URLScan隐藏IIS服务器Server头信息
1、URLScan V3.1安装
2、使用记事本工具打开UrlScan.ini文件,找到RemoveServerHeader=0配置节然后修改为RemoveServerHeader=1
Kingsoft.Office.Interop.rar
(4个子文件)
Kingsoft.Office.Interop.Ksoapi.dll
449KB
Kingsoft.Office.Interop.Etapi.dll
1.56MB
Kingsoft.Office.Interop.Wpsapi.dll
933KB
Kingsoft.Office.Interop.Wppapi.dll
457KB
C#利用zxing.dll生成二维码和条形码,这是个dll文件
利用zxing.dll生成和解码二维码。zxing.dll的简单应用,大家可以用反编译工具查看源码,非常方便就只有一个dll文件直接引用就可以使用!
winform c# 触摸屏事件
winform实现窗体界面 来回滚动
通过鼠标点击事件控制panel的自动滚动条移动,实现在触摸屏上的手指拖动效果
winform 实现屏幕(字幕)上下自动滚动
winform 实现屏幕(字幕)上下滚动(来回滚动)
winform实现窗体界面 字幕上下来回滚动。可随意控制显示内容的大小,可随意控制窗体界面大小。代码简单易懂。这里是用的.NET 4.0版本,如果你只安装别这个更低的版本,只需要把代码用记事本打开,copy代码,就行了
同时需要更改invoke为beginInvoke就ok了。
vb写的usb扫码枪,读取数据并记录
vb写的usb扫码枪读取数据并记录器,能够记录扫码枪模拟键盘的输入,不需要获得焦点的输入框
jQuery 验证码
里边代有实例index.html,jQuery 验证码 jquery.idcode.js,
C# WINFORM应用程序未处理异常的统一处理技巧
描述详见http://blog.csdn.net/smallwhiteyt/archive/2010/08/06/5793555.aspx
异常处理是每个应用程序都会用到的,纵然在程序编写期间我们都会最大限度的考虑可能发生的异常并进行相应的处理,但是往往并不能完全考虑周全,百密一疏,出现未处理异常而导致程序出错,数据丢失,如用户输入错误数据,网络断开,数据库连接失败等等。这时系统会弹出错误窗口,
无论对于自身的代码安全还是良好的用户体验出发,这种现象都是不好的,一个健壮,成熟的应用程序应该有良好的容错能力,并且在出错后自动做出相应BUG的处理,记录,本文和大家探讨这种情况的一般处理方法,老鸟请直接飘过,都是些基础。
mysql.data.dll 几乎所有版本
收集了mysql几乎所有版本的mysql.data.dll,该文件是.net访问mysql数据库必须的文件,版本如下:
5.1.5.0,6.4.3.0,6.4.3.0,6.4.3.0,5.1.5.0,5.1.5.0,5.1.5.0,
6.4.3.0,6.4.3.0,6.3.7.0,6.5.4.0,6.5.4.0,5.1.5.0,6.4.4.0,
6.3.7.0,6.4.3.0,6.4.3.0,6.
QRCode二维码生成组件(珍藏版)
现在网上很多应用都是用二维码来分享网址或者其它的信息。尤其在移动领域,二维码更是有很大的应用场景。因为项目的需要,需要在网站中增加一个生成二维码分析网址的功能,在谷歌大幅度抽筋的情况下无奈使用百度。百度N多,找到一些项目,但是可用性不强。终于在codeplex上找到一个“神器”,这个“神器”可以很方便的生成二维码,速度那是相当的快。
功能强大,生成速度比一般的要快很多。
这是本人实用实例讲解:
C#窗体 汉手写板 操作
使用时,请先安装好esp的安装驱动,.net2.0打开源码运行即可。
ThoughtWorks.QRCode.dll 二维码生成组件,支持中文
亲测可用的二维码生成组件,支持中文
如果想显示中文而不乱码的话,转换成Encoding.UTF8格式
IrisSkin4 VS2010新皮肤使用实例(73例,含完整皮肤演示)
IrisSkin4 VS2010新皮肤使用实例(73例,含完整皮肤演示)
ASP.NET 论坛 (源代码)
本论坛最大特色就是简洁实用。经过我多年在ASP.NET方面的知识积累,自行开发了一个简单、实用、高效的基于ASP.NET 2.0的类库。而本论坛就是基于该类库而开发的一个Demo.
论坛在线演示地址:http://www.silks.cc
如何运行网站见readme.txt
数据库最好采用SQL2005
网站功能概述:
用户注册、登陆、注销;
用户、角色、权限管理;
版块组、版块、版主管理;
帖子管理;
发帖、回帖、修改帖子状态、结贴等功能;
论坛特色:
干净整洁、代码风格一致、高性能、基于一个稳定实用的内核(System.Web.Core)
Asp.net学生信息管理系统源码
Asp.net学生信息管理系统源码(绝对开源!包含完整的CS文件和数据库文件) 该系统是一个集成多功能的信息管理系统,有教师资料管理、学生管理、班级管理、专业管理、课程管理、成绩管理和院系管理功能模块。 充分利用了Asp.net2.0中的GridView、Datalist、SiteMap等新控件,数据库采用Sql2000,利用了存储过程 用户实现了超级管理员和普通用户的分级管理 默认管理员账号:lolo,密码beijing 该系统为lolo的毕业设计作品,欢迎大家多提宝贵意见losuelo@163.com! App_Data下是数据库文件,附加即可,数据库配置文件在web.config中设置
摄像头 截图 录制 压缩视频 图片生成视频 _1.1
包括的功能有: 1、列举系统中所有的摄像头。 2、对打开的摄像头截图。 3、对打开的摄像头录制视频并压缩。 4、将某一目录下的图片生成一段视频。 所有的函数都在 VedioCapture.dll 中,使用delphi编写。 视频压缩使用FXMPEG4,这是微软的一个免费的mp4视频压缩编码器。录制视频前必须安装这个插件。mpeg4fix.inf上点击右键,选择安装。 视频的输出格式是avi,压缩算法是mp4格式。 图片生成视频只支持jpg或bmp格式的图片。 CSharpTest 是C#调用示例。 Delphitest 是Delphi调用示例。
更新内容:
1.加入了内存bmp生成方式,而不是生成文件。
2.修改多摄像头列表时摄像头名称相同的bug。
C# 中控 开发包 指纹
C# 中控 开发包 指纹
中控二次开发C#指纹接口
中控二次开发C#指纹接口
简易实用的JavaMail邮箱程序
package com.hx.mail;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.PasswordAuthentication;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* MailServices 邮件接收发送接口实现类
*
* @author 380595305@qq.com
* Date 2010-05-11
* @version 1.0
*/
public class KumMailServicesImpl implements KumMailServices {
/** MailboxType 邮箱类型 */
private static Map<String,String> MailboxTypes = null;
/** host 邮箱服务器类型 */
private String host = null;
/** sender 邮件发送者 */
private String sender = null;
/** addressee 邮件接收者 */
private String addressee = null;
/** subject 邮件主题 */
private String subject = null;
/** text 邮件消息 */
private String text = null;
public static void init(){
MailboxTypes = new HashMap<String,String>();
MailboxTypes.put("163","smtp.163.com");
MailboxTypes.put("139","smtp.139.com");
MailboxTypes.put("126","smtp.126.com");
MailboxTypes.put("qq", "smtp.qq.com");
MailboxTypes.put("live","smtp.live.cn");
MailboxTypes.put("msn","smtp.msn.com");
MailboxTypes.put("kum", "mail.kum.net.cn");
MailboxTypes.put("hotmail","smtp.hotmail.cn");
}
/**
* initialization 实例化类成员变量
*/
private void initialization(String sender,String addressee,String subject,String text){
this.sender = sender;
this.addressee = addressee;
this.subject = subject;
this.text = text;
this.host = getHost(sender);
//System.out.println("sender->"+this.sender+" | addressee->"+this.addressee+" | subject->"+this.subject+" | text->"+this.text+" | host->"+this.host);
}
/**
* getHost 获取目标邮箱服务器类型
*
* @param sender 是String类型,传入邮件发送者邮箱地址信息
* @return String 返回目标邮箱服务器类型
*/
private String getHost(String sender){
String _host,_host_ = null;
_host = sender.substring(sender.indexOf("@")+1,sender.indexOf("."));
if(MailboxTypes==null){
init();
}
_host_ = MailboxTypes.get(_host);
// System.out.println(_host+" <--> "+_host_);
if(_host_==null){
//MailboxTypes.put(_host,"smtp."+_host+".com");
MailboxTypes.put(_host,"smtp."+sender.substring(sender.indexOf("@")+1,sender.length()));
}
return MailboxTypes.get(_host);
}
public void sendMail(String sender, String password, String addressee,
String subject, String text) throws Exception {
initialization(sender,addressee,subject,text);
Properties props = System.getProperties();
{
props.put("mail.smtp.host",this.host);
props.put("mail.smtp.auth","true");
}
ValidateAuther auther = new ValidateAuther(this.sender,password);
Session session = Session.getDefaultInstance(props,auther);
MimeMessage msg = new MimeMessage(session);
InternetAddress fromAddr = new InternetAddress(this.sender); // 发送者邮箱地址
InternetAddress toAddr = new InternetAddress(this.addressee); // 接收者邮箱地址
msg.setFrom(fromAddr);
msg.addRecipient(Message.RecipientType.TO, toAddr);
/**
* Message.RecipientType.TO -- 接收者
* Message.RecipientType.CC -- 抄送
* Message.RecipientType.BCC --秘密抄送者
*/
msg.setSubject(this.subject); // 邮件主题
msg.setText(this.text); // 邮件信息
Transport.send(msg); // 发送邮件
}
}
/**
* ValidateAuther 邮件验证类,验证邮件发送者信息
*/
class ValidateAuther extends Authenticator {
/** 邮件发送者 */
private String sender;
/** 邮件接受者 */
private String password;
/**
* ValidateAuther 验证邮件发送者信息
*
* @param userName 是String类型,传入邮件发送者账户
* @param password 是String类型,传入邮件发送者账户密码
*/
public ValidateAuther(String sender, String password) {
this.sender = sender;
this.password = password;
}
/**
* getPasswordAuthentication 验证邮件发送者账户信息的函数
*
* @param userName 邮件发送者账户信息
* @param password 邮件发送者账户密码
* @return PasswordAuthentication 返回邮件发送者账户验证信息
*/
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(sender, password);
}
}
复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用
资源简介/*
复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用*/
package com.hx.mail;
import java.io.File;
import java.util.Map;
import javax.mail.Message.RecipientType;
/**
* MailServices 邮件接收发送接口定义类
*
* @author 380595305@qq.com
* Date 2010-05-11
* @version 1.0
*/
public interface HexiangMailService {
/**
* sendMail 发送邮件函数
*
* @param sender 是String类型,邮件发送者信息
* @param password 是String类型,邮件发送者密码
* @param addressee 是String类型,邮件接收者信息
* @param subject 是String类型,传入邮件主题
* @param text 是String类型,传入邮件消息
*/
void sendMail(String sender,String password,String addressee,String subject,String text) throws Exception;
/**
* sendMail 发送邮件函数
*
* @param sender 是String类型,邮件发送者信息
* @param password 是String类型,邮件发送者密码
* @param addressee 是String类型,邮件接收者信息
* @param subject 是String类型,传入邮件主题
* @param text 是String类型,传入邮件消息
* @param enclosures Map<String,File> 邮件附件
* @param copyToSends Map<String,RecipientType> 邮件抄送信息
*/
void sendMail(String sender,String password,String addressee,String subject,String text,Map<String,File> enclosures,Map<String,RecipientType> copyToSends) throws Exception;
/**
* sendMail 发送邮件函数
*
* @param sender 是String类型,邮件发送者信息
* @param password 是String类型,邮件发送者密码
* @param subject 是String类型,传入邮件主题
* @param imgs 是File[]类型,邮件正文中附件的图片信息
* @param htmlContent 是String类型,传入邮件消息正文
* @param enclosures Map<String,File> 邮件附件
* @param copyToSends Map<String,RecipientType> 邮件抄送信息
*/
void sendMail(String sender,String password,String subject,File[] imgs,String htmlContent,Map<String,File> enclosures,Map<String,RecipientType> copyToSends) throws Exception;
}
package com.hx.mail;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import org.codehaus.xfire.attachments.ByteDataSource;
/**
* HexiangMailServiceImpl 邮件接收发送接口实现类
*
* @author 380595305@qq.com
* Date 2010-05-11
* @version 1.0
*/
public class HexiangMailServiceImpl implements HexiangMailService {
/** MailboxType 邮箱类型 */
private static Map<String, String> MailboxTypes = null;
/** host 邮箱服务器类型 */
private String host = null;
/** sender 邮件发送者 */
private String sender = null;
/** addressee 邮件接收者 */
private String addressee = null;
/** subject 邮件主题 */
private String subject = null;
/** text 邮件消息 */
private String text = null;
public static void init() {
MailboxTypes = new HashMap<String, String>();
MailboxTypes.put("163", "smtp.163.com");
MailboxTypes.put("139", "smtp.139.com");
MailboxTypes.put("126", "smtp.126.com");
MailboxTypes.put("qq", "smtp.qq.com");
MailboxTypes.put("live", "smtp.live.cn");
MailboxTypes.put("msn", "smtp.msn.com");
MailboxTypes.put("kum", "mail.kum.net.cn");
MailboxTypes.put("hotmail", "smtp.hotmail.cn");
}
/**
* initialization 实例化类成员变量
*/
private void initialization(String sender, String addressee,
String subject, String text) {
this.sender = sender;
this.addressee = addressee;
this.subject = subject;
this.text = text;
this.host = getHost(sender);
// System.out.println("sender->"+this.sender+" |
// addressee->"+this.addressee+" | subject->"+this.subject+" |
// text->"+this.text+" | host->"+this.host);
}
/**
* getHost 获取目标邮箱服务器类型
*
* @param sender
* 是String类型,传入邮件发送者邮箱地址信息
* @return String 返回目标邮箱服务器类型
*/
private String getHost(String sender) {
String _host, _host_ = null;
_host = sender.substring(sender.indexOf("@") + 1, sender.indexOf("."));
if (MailboxTypes == null) {
init();
}
_host_ = MailboxTypes.get(_host);
// System.out.println(_host+" <--> "+_host_);
if (_host_ == null) {
// MailboxTypes.put(_host,"smtp."+_host+".com");
MailboxTypes.put(_host,
"smtp."
+ sender.substring(sender.indexOf("@") + 1, sender
.length()));
}
return MailboxTypes.get(_host);
}
public void sendMail(String sender, String password, String addressee,
String subject, String text) throws Exception {
initialization(sender, addressee, subject, text);
Properties props = System.getProperties();
{
props.put("mail.smtp.host", this.host);
props.put("mail.smtp.auth", "true");
}
ValidateAuther auther = new ValidateAuther(this.sender, password);
Session session = Session.getDefaultInstance(props, auther);
MimeMessage msg = new MimeMessage(session);
InternetAddress fromAddr = new InternetAddress(this.sender); // 发送者邮箱地址
InternetAddress toAddr = new InternetAddress(this.addressee); // 接收者邮箱地址
msg.setFrom(fromAddr);
msg.addRecipient(Message.RecipientType.TO, toAddr);
/**
* Message.RecipientType.TO -- 接收者 Message.RecipientType.CC -- 抄送
* Message.RecipientType.BCC --秘密抄送者
*/
msg.setSubject(this.subject); // 邮件主题
msg.setText(this.text); // 邮件信息
Transport.send(msg); // 发送邮件
}
public void sendMail(String sender, String password, String addressee,
String subject, String text, Map<String, File> enclosures,
Map<String, RecipientType> copyToSends) throws Exception {
initialization(sender, addressee, subject, text);
Properties props = System.getProperties();
{
props.put("mail.smtp.host", this.host);
props.put("mail.smtp.auth", "true");
}
ValidateAuther auther = new ValidateAuther(this.sender, password);
Session session = Session.getDefaultInstance(props, auther);
Message msg = new MimeMessage(session);
InternetAddress fromAddr = new InternetAddress(this.sender); // 发送者邮箱地址
InternetAddress toAddr = new InternetAddress(this.addressee); // 接收者邮箱地址ַ
msg.setFrom(fromAddr);
msg.addRecipient(Message.RecipientType.TO, toAddr);
msg.setSubject(this.subject); // 邮件主题
msg.setText(this.text); // 邮件信息
msg = setCopyToSends(msg, copyToSends); // 设置抄送信息
try {
MimeMultipart msgMultipart = new MimeMultipart("mixed"); // 创建邮件复杂体
msgMultipart = setEnclosureFile(msgMultipart, enclosures); // 设置附件信息
msg.setContent(msgMultipart); // 将邮件复杂体添加到邮件正文中
MimeBodyPart content = new MimeBodyPart(); // 创建邮件复杂体正文信息
msgMultipart.addBodyPart(content); // 将正文信息添加到复杂体中
MimeMultipart bodyMultipart = new MimeMultipart("related");
content.setContent(bodyMultipart);
MimeBodyPart htmlPart = new MimeBodyPart(); // 创建HTML文本域
bodyMultipart.addBodyPart(htmlPart); // 将HTML文本域添加到正文组合中
DataSource htmlDs = new ByteDataSource(this.text==null?"".getBytes():this.text.getBytes()); // 指定文本域,创建DataSource
DataHandler htmlDh = new DataHandler(htmlDs);
htmlPart.setDataHandler(htmlDh);
htmlPart.setContent(this.text, "text/html;charset=gbk");
msg.saveChanges(); // 生成邮件
String filePath = "d:\\demo1.eml";
OutputStream os = new FileOutputStream(filePath);
msg.writeTo(os);
os.close();
} catch (MessagingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// Transport.send(msg); // 发送邮件
}
public void sendMail(String sender, String password, String subject,
File[] imgs, String htmlContent, Map<String, File> enclosures,
Map<String, RecipientType> copyToSends) throws Exception {
initialization(sender, addressee, subject, htmlContent);
Properties props = System.getProperties();
{
props.put("mail.smtp.host", this.host);
props.put("mail.smtp.auth", "true");
}
ValidateAuther auther = new ValidateAuther(this.sender, password);
Session session = Session.getDefaultInstance(props, auther);
Message msg = new MimeMessage(session);
InternetAddress fromAddr = new InternetAddress(this.sender); // 发送者邮箱地址
// InternetAddress toAddr = new InternetAddress(this.addressee); //
// 接收者邮箱地址ַ
msg.setFrom(fromAddr);
// msg.addRecipient(Message.RecipientType.TO, toAddr);
msg.setSubject(this.subject); // 邮件主题
// msg.setText(this.text); // 邮件信息
msg = setCopyToSends(msg, copyToSends); // 设置抄送信息
try {
MimeMultipart msgMultipart = new MimeMultipart("mixed"); // 创建邮件复杂体
msgMultipart = setEnclosureFile(msgMultipart, enclosures); // 设置附件信息
msg.setContent(msgMultipart); // 将邮件复杂体添加到邮件正文中
if (htmlContent != null || (imgs != null && imgs.length > 0)) {
MimeBodyPart content = new MimeBodyPart(); // 创建邮件复杂体正文信息
msgMultipart.addBodyPart(content); // 将正文信息添加到复杂体中
// 搭建正文组合架构 -- 创建正文复杂体<含有html文本和图片文件> //related --> 关联关系
MimeMultipart bodyMultipart = new MimeMultipart("related");
content.setContent(bodyMultipart);
StringBuffer htmlBuffer = new StringBuffer();
// 添加HTML文本域信息
// if (htmlContent != null) {
// htmlContent = htmlBuffer.toString();
MimeBodyPart htmlPart = new MimeBodyPart(); // 创建HTML文本域
bodyMultipart.addBodyPart(htmlPart); // 将HTML文本域添加到正文组合中
// DataSource htmlDs = new FileDataSource(htmlContent);//
// 指定文件域,创建DataSource
DataSource htmlDs = new ByteDataSource(htmlContent.getBytes()); // 指定文本域,创建DataSource
DataHandler htmlDh = new DataHandler(htmlDs); // DataHandler
// 文件包装数据类
htmlPart.setDataHandler(htmlDh);
// htmlPart.setContent(htmlContent,"text/html;charset=gbk");
// }
// 添加图片域信息
if (imgs != null && imgs.length > 0) {
htmlBuffer.append(htmlContent); // HTML格式文本域
for (int i = 0; i < imgs.length; i++) {
MimeBodyPart gifPart = new MimeBodyPart();
bodyMultipart.addBodyPart(gifPart); // 将图片域添加到正文组合中
DataSource gifDs = new FileDataSource(imgs[i]);
DataHandler gifDh = new DataHandler(gifDs);
gifPart.setDataHandler(gifDh);
gifPart.setFileName(MimeUtility
.encodeText(getFileName(imgs[i].getName())));
htmlBuffer.append("<img src='"
+ MimeUtility.encodeText(imgs[i].getName())
+ "'>"); // 将图片域加入到文本域中
gifPart.setHeader("Content-Location", MimeUtility
.encodeText(imgs[i].getName())); // 指定该图片(文件)路径从本地关联文件中找
}
}
htmlContent = htmlBuffer.toString();
// 设置正文文本域及文本类型
htmlPart.setContent(htmlContent, "text/html;charset=gbk");
}
msg.saveChanges(); // 生成邮件
String filePath = "d:\\demo2.eml";
OutputStream os = new FileOutputStream(filePath);
msg.writeTo(os);
os.close();
} catch (MessagingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Transport.send(msg); // 发送邮件
}
// 获取邮件地址信息
public static Address[] getAddress(List<String> recpType)
throws AddressException, UnsupportedEncodingException {
if (recpType == null || recpType.isEmpty()) {
return null;
}
Address[] addrs = new Address[recpType.size()];
for (int i = 0; i < addrs.length; i++) {
String nickNameAccount = getNickName(recpType.get(i));
String[] nickName_account = nickNameAccount.split(",");
// System.out.println(nickName_account);
addrs[i] = new InternetAddress("\""
+ MimeUtility.encodeText("" + nickName_account[0] + "")
+ "\" <" + nickName_account[1] + ">");
}
return addrs;
}
// 获取邮箱账号昵称信息
public static String getNickName(String mailAccount) {
int index = mailAccount.lastIndexOf("<");
if (index == -1) { // 不含有昵称信息,未找到"<>"
// hexiang221@163.com
String nickName = mailAccount.substring(0, mailAccount
.lastIndexOf("@"));
return nickName + "," + mailAccount;
} else if (index == 0) { // 不含有昵称信息 但找到了"<>"
// <hexiang@163.com>
String nickName = mailAccount.substring(index + 1, mailAccount
.lastIndexOf("@"));
String account = mailAccount.substring(index + 1, mailAccount
.lastIndexOf(">"));
return nickName + "," + account;
} else if (index > 0) { // 含有昵称信息,并且找到了"<>"
String nickName = mailAccount.substring(0, index);
String account = mailAccount.substring(index + 1, mailAccount
.lastIndexOf(">"));
return nickName + "," + account;
}
return mailAccount;
}
// 获取附件显示名称
public static String getFileName(String filePath) {
String fileName = null; // �ļ���
if (filePath == null || filePath.length() == 0) {
return null;
}
int index = filePath.lastIndexOf("/");
if (index == -1) {
return filePath;
}
fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
int index2 = fileName.lastIndexOf("\\");
if (index2 == -1) {
return fileName;
}
return fileName.substring(filePath.lastIndexOf("\\"));
}
// 设置邮件附件信息
public static MimeMultipart setEnclosureFile(MimeMultipart msgMultipart,
Map<String, File> enclosures) throws MessagingException,
UnsupportedEncodingException {
if (enclosures == null || enclosures.isEmpty()) {
return msgMultipart;
}
if (msgMultipart == null) {
msgMultipart = new MimeMultipart("mixed"); // 创建邮件复杂体
}
Set<String> enclosureSet = enclosures.keySet();
Iterator<String> enclosureIter = enclosureSet.iterator();
while (enclosureIter.hasNext()) {
String attchFileName = enclosureIter.next();
MimeBodyPart attch = new MimeBodyPart();
msgMultipart.addBodyPart(attch);
File temEnclosureFile = enclosures.get(attchFileName);
DataSource ds = new FileDataSource(temEnclosureFile);
DataHandler dh = new DataHandler(ds);
attch.setDataHandler(dh);
attch.setFileName(MimeUtility
.encodeText(getFileName(attchFileName)));// 设置附件显示名称
}
return msgMultipart;
}
public static Message setCopyToSends(Message msg,
Map<String, RecipientType> copyToSends) throws AddressException,
UnsupportedEncodingException, MessagingException {
if (copyToSends == null) {
return msg;
}
Set<String> copyToSendSet = copyToSends.keySet();
Iterator<String> copyToSendIter = copyToSendSet.iterator();
List<String> to = new ArrayList<String>(); // 定义接收者账号信息集
List<String> cc = new ArrayList<String>(); // 定义抄送者账号信息集
List<String> bcc = new ArrayList<String>();// 定义秘密抄送者账号信息集
while (copyToSendIter.hasNext()) {
String address = copyToSendIter.next(); // 获取抄送者邮箱账号信息
RecipientType tmpRecipientType = copyToSends.get(address);
if (tmpRecipientType == RecipientType.TO) {
to.add(address);
}
if (tmpRecipientType == RecipientType.CC) {
cc.add(address);
}
if (tmpRecipientType == RecipientType.BCC) {
bcc.add(address);
}
}
// 获取接收者信息集
Address[] to_addrs = getAddress(to);
if (to_addrs != null) {
msg.setRecipients(MimeMessage.RecipientType.TO, to_addrs);
}
// 获取抄送者信息集
Address[] cc_addrs = getAddress(cc);
if (cc_addrs != null) {
msg.setRecipients(MimeMessage.RecipientType.CC, cc_addrs);
}
// 获取秘密抄送者信息集
Address[] bcc_addrs = getAddress(bcc);
if (bcc_addrs != null) {
msg.setRecipients(MimeMessage.RecipientType.BCC, bcc_addrs);
}
return msg;
}
}
/**
* ValidateAuther 邮件验证类,验证邮件发送者信息
*/
class ValidateAuther extends Authenticator {
/** 邮件发送者 */
private String sender;
/** 邮件接受者 */
private String password;
/**
* ValidateAuther 验证邮件发送者信息
*
* @param userName
* 是String类型,传入邮件发送者账户
* @param password
* 是String类型,传入邮件发送者账户密码
*/
public ValidateAuther(String sender, String password) {
this.sender = sender;
this.password = password;
}
/**
* getPasswordAuthentication 验证邮件发送者账户信息的函数
*
* @param userName
* 邮件发送者账户信息
* @param password
* 邮件发送者账户密码
* @return PasswordAuthentication 返回邮件发送者账户验证信息
*/
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(sender, password);
}
}
// 支持WebService远程调用
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<service>
<name>HexiangMailService</name>
<serviceClass>com.hx.mail.HexiangMailService</serviceClass>
<implementationClass>com.hx.mail.HexiangMailServiceImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>
javascript时间实例
javascript时间实例
ASP.NET合同管理管理系统源码
包括员工信息维护、客户信息维护、项目信息维护、合同信息维护、合同执行控制、合同信息统计功能模块
每个客户下面可以进行分项目管理
用.net c#开发的合同管理系统(源码)
VSS2005开发环境,运用C#语言,开发基于WEB模式的合同管理系统,系统模块包含合同添加,删除,修改和查看等基本功能,还包括合同权限设置,系统设置和上传附件等多功能合为一体,送给需要的人
C# 发送邮箱 SendEmailByJmail
C# 发送邮箱 SendEmailByJmail 有源码
c#jmail.dll发送邮箱
c# jmail.dll 邮箱 dll文件下载
C#openSmtp方式发送邮箱
C#openSmtp方式发送邮箱,代有源码,
C#超好使的代理方式发送邮箱,源码
C#超好使的代理方式发送邮箱,源码
下载
HTML+CSS+DIV+JavaScript+PHP开发手册打包下载
HTML+CSS+DIV+JavaScript+PHP
开发手册打包下载
C#,仪表盘,难得的源码 Dundas Gauge for C# version 2.0
ASP.NET,仪表盘,难得的源码
Dundas Gauge for ASP.NET version 2.0
内有注册机,保证能安装使用
ASP.NET,仪表盘,难得的源码 Dundas Gauge for ASP.NET version 2.0
ASP.NET,仪表盘,难得的源码
Dundas Gauge for ASP.NET version 2.0
内有注册机,保证能安装使用
asp斗地主源码
asp斗地主源码
asp斗地主源码asp斗地主源码
asp斗地主源码
系统集成项目管理工程师-资料大合集
2009年系统集成项目管理工程师历年试题分析与解答.pdf
2010-05年上半年系统集成项目管理工程师_上午题答案及解析(免费).pdf
2010-05年上半年系统集成项目管理工程师_下午题答案及解析(免费).docx
2010-05年上半年系统集成项目管理工程师_下午题答案及解析(免费).pdf
2010-11年下半年(上午题)-系统集成项目管理工程师真题答案.doc
2010-11年下半年(上午题)-系统集成项目管理工程师真题答案.pdf
2010-11年下半年系统集成项目管理工程师下午案例分析试题答案及详细解析.pdf
2011年系统集成项目管理工程师-浓缩精华版.pdf
系统集成项目管理工程师(中级)冲刺-中软.pdf
系统集成项目管理工程师-绝好资料.doc
系统集成项目管理工程师软考最管用的摘要.doc
系统集成项目管理工程师模拟试题(300题).doc
The Apache HTTP Web Server Version 2.2
The Apache HTTP Web Server Version 2.2
mysql-5.5.16-win32
mysql-5.5.16-win32.msi
js制作的简单仪表盘控件
js制作的简单仪表盘控件 使用方便
系统集成项目管理工程师-绝好资料
系统集成项目管理工程师-绝好资料
1整体管理
1.项目启动
1)制定项目章程
输入:合同 工作说明书(SOW) 组织过程资产
输出:项目章程
2)选择项目经理
2.制定初步范围说明书 输出初步的项目范围说明书
3.项目计划管理
1)项目计划制定 输出:项目管理计划
2)项目计划执行
3)指导和管理项目执行
4.整体变更控制
5.项目收尾
系统集成项目管理工程师-精华版
系统集成项目管理工程师-精华版
4.1 可行性研究的内容 4.2可行性研究的步骤 4.3初步可行性研究 4.4详细可行性研究 4.5 效益的预测与评估 4.6 项目论证 4.6 项目评估等
Activeskin+破解版
VB,轻松换皮肤了,
随便选个。看到没的变了,
短信猫中间件使用说明书
短信猫中间件是针对发短信及收短信所使用的功能,使用说明书