JavaMail发送邮件和附件(源码)_4
来源:互联网 发布:啪啪啪是什么感觉知乎 编辑:程序博客网 时间:2024/06/15 21:35
MailAddress.java
package com.lzw.mail;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.mail.internet.AddressException;
import com.lzw.string.Stringutils;
/**
* 封装收件人地址
*
* <pre>
* 属性文件:
* to=
* cc=
*
* 邮件地址使用“,”分隔
* </pre>
*
* @author 李赵伟 Create: 2007-12-20
*/
public class MailAddress {
private String[] to; // 收件人地址
private String[] cc; // 抄送人地址
private boolean hasCC; // 标记该邮件是否包含CC
private static final String KEY_TO = "to";
private static final String KEY_CC = "cc";
public MailAddress(String to) throws AddressException {
this(new String[] { to }, null);
}
public MailAddress(String to[]) throws AddressException {
this(to, null);
}
public MailAddress(String to, String cc) throws AddressException {
this(new String[] { to }, new String[] { cc });
}
public MailAddress(String[] to, String[] cc) throws AddressException {
set(to, cc);
}
private void set(String[] to, String[] cc) throws AddressException {
if (!check(to))
throw new AddressException("没有收件人地址!");
setTo(to);
setCc(cc);
}
/**
* 使用属性文件配置收件人地址
*
* @param propertiesFile
* @throws IOException
* @throws AddressException
*/
public MailAddress(InputStream propertiesFile) throws IOException,
AddressException {
readProperties(propertiesFile);
}
private void readProperties(InputStream is) throws IOException,
AddressException {
Properties p = new Properties();
try {
p.load(is);
} finally {
if (null != is)
is.close();
}
String to = Stringutils.toGBKString(p.getProperty(KEY_TO),
Stringutils.ISO8859_1);
String cc = Stringutils.toGBKString(p.getProperty(KEY_CC),
Stringutils.ISO8859_1);
if (null != cc && 0 != cc.trim().length())
set(to.split(","), cc.split(","));
else
set(to.split(","), null);
}
private boolean check(String[] to) {
if (null == to || 0 == to.length)
return false;
String s;
for (int i = 0; i < to.length; i++) {
s = to[i];
if (null == s || 0 == s.trim().length())
return false;
}
return true;
}
public String[] getTo() {
return to;
}
public void setTo(String[] to) {
this.to = to;
}
public String[] getCc() {
return cc;
}
public void setCc(String[] cc) {
if (null != cc && 0 != cc.length) {
this.cc = cc;
setHasCC(true);
}
}
public boolean isHasCC() {
return hasCC;
}
private void setHasCC(boolean hasCC) {
this.hasCC = hasCC;
}
}
- JavaMail发送邮件和附件(源码)_4
- JavaMail发送邮件和附件(源码)
- JavaMail发送邮件和附件(源码)
- JavaMail发送邮件和附件(源码)
- JavaMail发送邮件和附件(源码)_1
- JavaMail发送邮件和附件(源码)_2
- JavaMail发送邮件和附件(源码)_3
- JavaMail发送邮件和附件(源码)_5
- 使用javamail发送邮件(文本+附件)
- 使用JavaMail发送邮件(带附件)
- JavaMail发送邮件带有附件
- JavaMail发送邮件(带附件)
- javaMail 邮件发送带附件
- JavaMail发送邮件(带附件)
- javamail发送邮件《带附件》
- android 发送邮件(android自带email和javamail)均可发送带有多个附件
- android JavaMail发送邮件(可发送附件)
- 使用javaMail来发送和接收带附件的邮件
- 在Oracle中执行动态SQL的几种方法
- 如何创建XMLHTTPRequest对象
- 百度试题总结
- [转贴]外国国籍在中国到底有什么好处?
- 专业技术职务任职资格申报评审条件
- JavaMail发送邮件和附件(源码)_4
- 威客 远非博客可比
- 从《亮剑》看企业管理上
- JavaMail发送邮件和附件(源码)_5
- 编译〈DirectShow开发指南〉中字符叠加源码
- 最近事多,也不知怎么搞的,胃伤到了。。。已经3、4天没正常吃东西了。。。折磨人啊。。。
- 第一个原生的OpenVG alpha进入测试阶段
- VC中彻底玩转Excel
- JBuilder连接SQL 数据库方法