📄 mailutil.java
字号:
package com.doone.fj1w.common;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Date;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
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 com.doone.util.FileLogger;
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 第一步:提供Mail发送功能(支持多附件及身份验证)</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
* @modifyHistory
* version author modify_Date Comment
* 1.0 曾忠诚 2005-7-26 创建发送电子邮件公共类,主要包括方法:initSetting,smtp
*/
public class MailUtil {
private String sender = null; //发件人地址
private String smtpHost = null; //邮件发送服务器(smtp)
private String user = null; //登录用户名
private String password = null; //登录密码
private String receiver = null; //收件人地址
private String copyReceiver = null; //抄送人地址
private String hiddenReceiver = null;//暗送人地址
private String subject = null; //mail主题
private String content = null; //mail内容
private String affixPath = null; //mail附件的路径
private String ifSMTPauth = "false";
static final String TEXT_P = "text/plain";
static final String TEXT_H = "text/html";
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置发件人地址</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setSender(String sender) {
this.sender = sender;
}
public String getSender() {
return sender;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置邮件发送服务器(smtp)</p>
* <p>Method:setSmtpHost和getSmtpHost</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setSmtpHost(String smtpHost) {
this.smtpHost = smtpHost;
}
public String getSmtpHost() {
return smtpHost;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置登录用户名</p>
* <p>Method:setUser和getUser</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setUser(String user) {
this.user = user;
}
public String getUser() {
return user;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置登录密码</p>
* <p>Method:setPassword和getPassword</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置收件人地址</p>
* <p>Method:setReceiver和getReceiver</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setReceiver(String receiver) {
this.receiver = receiver;
}
public String getReceiver() {
return receiver;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置抄送人地址</p>
* <p>Method:setCopyReceiver和getCopyReceiver</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setCopyReceiver(String receiver) {
this.copyReceiver = receiver;
}
public String getCopyReceiver() {
return copyReceiver;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置暗送人地址</p>
* <p>Method:setHiddenReceiver和getHiddenReceiver</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setHiddenReceiver(String receiver) {
this.hiddenReceiver = receiver;
}
public String getHiddenReceiver() {
return hiddenReceiver;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置mail主题</p>
* <p>Method:setSubject和getSubject</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setSubject(String subject) {
this.subject = subject;
}
public String getSubject() {
return subject;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置mail内容</p>
* <p>Method:setContent和getContent</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setContent(String content) {
this.content = content;
}
public String getContent() {
return content;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 设置mail附件的路径</p>
* <p>Method:setAffixPath和getAffixPath</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @author zengzc
* @version 1.0
*/
public void setAffixPath(String affixPath) {
this.affixPath = affixPath;
}
public String getAffixPath() {
return affixPath;
}
/**
* <p>Title: 电子邮件实用工具 </p>
* <p>Description: 使用smtp发送邮件</p>
* <p>Method:smtp</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: FuJian NewDoone </p>
* @throws MessagingException mail发送失败
* @author zengzc
* @version 1.0
*/
public void smtp() throws MessagingException {
if (smtpHost == null) throw new MessagingException("系统配置中底SMTP主机找不到!");
if (user == null) throw new MessagingException("发送电子邮件的用户找不到!");
if (password == null) throw new MessagingException("没有配置密码!");
if (receiver == null && copyReceiver == null && hiddenReceiver == null)
throw new MessagingException("没有填写发送人");
if (new Boolean(this.ifSMTPauth).booleanValue()) {
Properties properties = new Properties();
properties.put("mail.smtp.host", smtpHost);//设置smtp主机
properties.put("mail.smtp.auth", ifSMTPauth);//使用smtp身份验证
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -