JavaMail使用5 -- 发送邮件2 -- 发送HTML格式邮件
2009-11-03 20:57:20 来源:WEB开发网核心提示:/*** * @param smtp*SMTP主机地址* @param port*SMTP主机地址端口* @param user*用户名* @param passWord*密码* @param from*发信人* @param to*收信人* @param cc*抄送人* @param bcc*暗送人* @param
/**
*
* @param smtp
* SMTP主机地址
* @param port
* SMTP主机地址端口
* @param user
* 用户名
* @param passWord
* 密码
* @param from
* 发信人
* @param to
* 收信人
* @param cc
* 抄送人
* @param bcc
* 暗送人
* @param subject
* 主题
* @param body
* 内容
* @throws Exception
*/
public static void send(String smtp, int port, String user,
String password, String from, String to, String cc, String bcc,
String subject, String body) throws Exception {
// 变量声明
PRoperties props = new Properties();// 系统属性
// 设置系统属性
props.put("mail.transport.protocol", "smtp"); // 使用smtp协议
props.put("mail.smtp.auth", "true"); // 是否需要邮件认证
// 获得邮件会话对象
session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(true);
// 创建MIME邮件对象
MimeMessage mimeMsg = new MimeMessage(mailSession);
// 设置发信人
mimeMsg.setFrom(new InternetAddress(from));
// 设置收信人
if (to != null) {
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
.parse(to));
}
// 设置抄送人
if (cc != null) {
mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress
.parse(cc));
}
// 设置暗送人
if (bcc != null) {
mimeMsg.setRecipients(Message.RecipientType.BCC, InternetAddress
.parse(bcc));
}
// 设置邮件主题
mimeMsg.setSubject(subject);
// 设置邮件内容,将邮件body部分转化为HTML格式
mimeMsg.setContent(body, "text/html ;charset=gbk");
// 发送邮件
Transport transport = mailSession.getTransport();
transport.connect(smtp, port, user, password);
transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
transport.close();
}
这是一个发送HTML格式的邮件,我简单的封装成一个方法。
参数有点多,有些是可选的。
后来,我在开发中为了减少参数,我把参数包装到一个Map中,
重载了这个方法,这样感觉对外开发好一点。
*
* @param smtp
* SMTP主机地址
* @param port
* SMTP主机地址端口
* @param user
* 用户名
* @param passWord
* 密码
* @param from
* 发信人
* @param to
* 收信人
* @param cc
* 抄送人
* @param bcc
* 暗送人
* @param subject
* 主题
* @param body
* 内容
* @throws Exception
*/
public static void send(String smtp, int port, String user,
String password, String from, String to, String cc, String bcc,
String subject, String body) throws Exception {
// 变量声明
PRoperties props = new Properties();// 系统属性
// 设置系统属性
props.put("mail.transport.protocol", "smtp"); // 使用smtp协议
props.put("mail.smtp.auth", "true"); // 是否需要邮件认证
// 获得邮件会话对象
session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(true);
// 创建MIME邮件对象
MimeMessage mimeMsg = new MimeMessage(mailSession);
// 设置发信人
mimeMsg.setFrom(new InternetAddress(from));
// 设置收信人
if (to != null) {
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
.parse(to));
}
// 设置抄送人
if (cc != null) {
mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress
.parse(cc));
}
// 设置暗送人
if (bcc != null) {
mimeMsg.setRecipients(Message.RecipientType.BCC, InternetAddress
.parse(bcc));
}
// 设置邮件主题
mimeMsg.setSubject(subject);
// 设置邮件内容,将邮件body部分转化为HTML格式
mimeMsg.setContent(body, "text/html ;charset=gbk");
// 发送邮件
Transport transport = mailSession.getTransport();
transport.connect(smtp, port, user, password);
transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
transport.close();
}
这是一个发送HTML格式的邮件,我简单的封装成一个方法。
参数有点多,有些是可选的。
后来,我在开发中为了减少参数,我把参数包装到一个Map中,
重载了这个方法,这样感觉对外开发好一点。
更多精彩
赞助商链接