java工具类-邮件发送

mail-1.4.jar

package com.huawei.it.citools.mail;

import java.util.Date;
import java.util.List;
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
  *            待发送的邮件的信息
  * @throws MessagingException
  */
 public boolean sendTextMail(MailSenderInfo mailInfo) throws MessagingException {
  // 判断是否需要身份认证
  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);
   // 创建邮件的接收者地址,并设置到邮件消息中
   List<String> toAddressList = mailInfo.getToAddressList();
   for (String toAddress : toAddressList) {
    Address to = new InternetAddress(toAddress);
    mailMessage.addRecipient(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) {
   throw ex;
  }
 }

/**
  * 以HTML格式发送邮件
  *
  * @param mailInfo
  *            待发送的邮件信息
  * @throws MessagingException
  */
 public static boolean sendHtmlMail(MailSenderInfo mailInfo) throws MessagingException {
  // 判断是否需要身份认证
  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);
   // 创建邮件的接收者地址,并设置到邮件消息中
   List<String> toAddressList = mailInfo.getToAddressList();
   for (String toAddress : toAddressList) {
    Address to = new InternetAddress(toAddress);
    // Message.RecipientType.TO属性表示接收者的类型为TO
    mailMessage.addRecipient(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) {
   throw ex;
  }
 }

}

//发送使用

package com.huawei.it.citools.mail;

import java.util.ArrayList;
import java.util.List;

public class TestMail {
 public static void main(String[] args) throws Exception {
  // 这个类主要是设置邮件
  MailSenderInfo mailInfo = new MailSenderInfo();
  mailInfo.setMailServerHost("smtp.huawei.com");
  mailInfo.setMailServerPort("25");
  mailInfo.setValidate(true);
  mailInfo.setUserName("swx117518");
  mailInfo.setPassword("teamsun^123");// 您的邮箱密码
  mailInfo.setFromAddress("[email protected]");
  List<String> toAddressList = new ArrayList<String>();
  toAddressList.add("[email protected]");
  toAddressList.add("[email protected]");
  mailInfo.setToAddressList(toAddressList);
  mailInfo.setSubject("测试邮件");
  mailInfo.setContent("测试邮件");
  // 这个类主要来发送邮件
  SimpleMailSender sms = new SimpleMailSender();
  sms.sendTextMail(mailInfo);// 发送文体格式
  sms.sendHtmlMail(mailInfo);// 发送html格式
 }

}

java工具类-邮件发送

时间: 2024-10-29 19:07:54

java工具类-邮件发送的相关文章

java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)

如何使用IMAP服务? 首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过. 直接到 Email 邮件发送实现的部分. IMAP是什么? IMAP,即Internet Message Access Protocol(互联网邮件访问协议),您可以通过这种协议从邮件服务器上获取邮件的信息.下载邮件等. IMAP与POP类似,都是一种邮件获取协议. IMAP和POP有什么区别? POP允许电子邮件客户端下载服务器上的邮件,但是您在电子邮件客户端的操作(如:移动邮件.标记已读等),这是不会反馈到服务

第一章 Java工具类目录

在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算

Java工具类:给程序增加版权信息

我们九天鸟的p2p网贷系统,基本算是开发完成了.   现在,想给后端的Java代码,增加版权信息.   手动去copy-paste,太没有技术含量. 于是,写了个Java工具类,给Java源文件增加版权信息.   源代码,开头的注释,就是版权描述.详细实现,就看代码吧.  /*  *Copyright ? 2015 JiuTianNiao  *武汉九天鸟科技有限公司  *http://JiuTianNiao.com  *All rights reserved.  */ package com.j

Java工具类

目录                                                                                             Math Random Date Carlendar DateFormat SimpleDateFoemat Comparator Clone Math                                                                               

java实现简单邮件发送

java实现简单邮件发送

java工具类系列 (四.SerializationUtils)

java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Serializable;

java工具类-读配置文件

///读配置文件 import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Properties;import java.util.Set;public class PropertiesUtils{ private static Map<String, String> propertiesMap = new HashMa

java工具类-excel jxl

jxl-2.6.9.14.jarimport net.sf.jxls.transformer.XLSTransformer;//jxls-core-1.0.2.jarimport java.io.File; public File inputFile;     Workbook workbook = WorkbookFactory.create(inputFile);    Sheet sheet0 = workbook.getSheetAt(0);        int rowNum = sh

java工具类-FreeMarker

package com.huawei.it.citools.utils; import java.io.File;import java.io.IOException;import java.io.StringWriter;import java.util.Map; import org.apache.log4j.Logger; import com.huawei.it.citools.commons.ApplicationException;import com.huawei.it.citoo