首页>代码>Java实现email邮件发送>/Emali/src/com/util/mail/SimpleMailSender.java
	package com.util.mail;

	import java.util.Date; 
	import java.util.Properties;
	import javax.mail.Address; 
	import javax.mail.BodyPart; 
	import javax.mail.Message; 
	import javax.mail.MessagingException; 
	import javax.mail.Multipart; 
	import javax.mail.Session; 
	import javax.mail.Transport; 
	import javax.mail.internet.InternetAddress; 
	import javax.mail.internet.MimeBodyPart; 
	import javax.mail.internet.MimeMessage; 
	import javax.mail.internet.MimeMultipart; 

	/** 
	* 简单邮件(不带附件的邮件)发送器 
	*/ 
	public class SimpleMailSender  { 
	/** 
	  * 以文本格式发送邮件 
	  * @param mailInfo 待发送的邮件的信息 
	  */ 
		public boolean sendTextMail(MailSenderInfo mailInfo) { 
		  // 判断是否需要身份认证 
		  MyAuthenticator authenticator = null; 
		  Properties pro = mailInfo.getProperties();
		  if (mailInfo.isValidate()) { 
		  // 如果需要身份认证,则创建一个密码验证器 
			authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); 
		  }
		  // 根据邮件会话属性和密码验证器构造一个发送邮件的session 
		  Session sendMailSession = Session.getDefaultInstance(pro,authenticator); 
		  try { 
		  // 根据session创建一个邮件消息 
		  Message mailMessage = new MimeMessage(sendMailSession); 
		  // 创建邮件发送者地址 
		  Address from = new InternetAddress(mailInfo.getFromAddress()); 
		  // 设置邮件消息的发送者 
		  mailMessage.setFrom(from); 
		  // 创建邮件的接收者地址,并设置到邮件消息中 
		  Address to = new InternetAddress(mailInfo.getToAddress()); 
		  mailMessage.setRecipient(Message.RecipientType.TO,to); 
		  // 设置邮件消息的主题 
		  mailMessage.setSubject(mailInfo.getSubject()); 
		  // 设置邮件消息发送的时间 
		  mailMessage.setSentDate(new Date()); 
		  // 设置邮件消息的主要内容 
		  String mailContent = mailInfo.getContent(); 
		  mailMessage.setText(mailContent); 
		  // 发送邮件 
		  Transport.send(mailMessage);
		  return true; 
		  } catch (MessagingException ex) { 
			  ex.printStackTrace(); 
		  } 
		  return false; 
		} 
		
		/** 
		  * 以HTML格式发送邮件 
		  * @param mailInfo 待发送的邮件信息 
		  */ 
		public static boolean sendHtmlMail(MailSenderInfo mailInfo){ 
		  // 判断是否需要身份认证 
		  MyAuthenticator authenticator = null;
		  Properties pro = mailInfo.getProperties();
		  //如果需要身份认证,则创建一个密码验证器  
		  if (mailInfo.isValidate()) { 
			authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
		  } 
		  // 根据邮件会话属性和密码验证器构造一个发送邮件的session 
		  Session sendMailSession = Session.getDefaultInstance(pro,authenticator); 
		  try { 
		  // 根据session创建一个邮件消息 
		  Message mailMessage = new MimeMessage(sendMailSession); 
		  // 创建邮件发送者地址 
		  Address from = new InternetAddress(mailInfo.getFromAddress()); 
		  // 设置邮件消息的发送者 
		  mailMessage.setFrom(from); 
		  // 创建邮件的接收者地址,并设置到邮件消息中 
		  Address to = new InternetAddress(mailInfo.getToAddress()); 
		  // Message.RecipientType.TO属性表示接收者的类型为TO 
		  mailMessage.setRecipient(Message.RecipientType.TO,to); 
		  // 设置邮件消息的主题 
		  mailMessage.setSubject(mailInfo.getSubject()); 
		  // 设置邮件消息发送的时间 
		  mailMessage.setSentDate(new Date()); 
		  // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 
		  Multipart mainPart = new MimeMultipart(); 
		  // 创建一个包含HTML内容的MimeBodyPart 
		  BodyPart html = new MimeBodyPart(); 
		  // 设置HTML内容 
		  html.setContent(mailInfo.getContent(), "text/html; charset=utf-8"); 
		  mainPart.addBodyPart(html); 
		  // 将MiniMultipart对象设置为邮件内容 
		  mailMessage.setContent(mainPart); 
		  // 发送邮件 
		  Transport.send(mailMessage); 
		  return true; 
		  } catch (MessagingException ex) { 
			  ex.printStackTrace(); 
		  } 
		  return false; 
		} 
	
}
最近下载更多
lzx602  LV3 4月15日
1358849392  LV21 2022年12月27日
kahvia  LV1 2022年5月8日
marcoreus1  LV2 2021年10月13日
shiopaaa  LV13 2021年6月8日
yejing238  LV1 2021年1月31日
wslasdfgh  LV2 2020年2月13日
lyailwy  LV2 2019年12月27日
ghyghy  LV9 2019年12月13日
huangfukexing  LV3 2019年9月24日
最近浏览更多
lzx602  LV3 4月15日
timi123 4月5日
暂无贡献等级
gao123456789  LV6 3月7日
hhh12345  LV7 2023年12月23日
LHCQWE  LV1 2023年12月4日
Tuxxxxx  LV3 2023年1月3日
1358849392  LV21 2022年12月27日
hello286 2022年6月18日
暂无贡献等级
Rommel  LV27 2022年5月11日
kahvia  LV1 2022年5月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友