邮件发送

来源:互联网 发布:异地淘宝客服招聘 编辑:程序博客网 时间:2024/06/15 08:31
package com.certification.util;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;import com.certification.util.entity.EmailAuthenticator;public class EmeilUtils {   // 发送邮件的服务器的IP(或主机地址)   private static String mailServerHost = "smtp.163.com";   // 发送邮件的服务器的端口   private static String mailServerPort = "25";   // 发件人邮箱地址   private static String fromAddress = "xx@163.com";   // 登陆邮件发送服务器的用户名   private static String userName = "xx@163.com";   // 登陆邮件发送服务器的密码   private static String password = "xx";   // 是否需要身份验证   private static boolean validate = true;      public static boolean sendTextMail(String toAddress, String subject, String content) {      EmailAuthenticator authenticator = null;      Properties pro = new Properties();      pro.put("mail.smtp.host", mailServerHost);      pro.put("mail.smtp.port", mailServerPort);      pro.put("mail.smtp.auth", validate ? "true" : "false");      // 判断是否需要身份认证      if (validate) {         // 如果需要身份认证,则创建一个密码验证器         authenticator = new EmailAuthenticator(userName, password);      }      // 根据邮件会话属性和密码验证器构造一个发送邮件的session      Session sendMailSession = Session.getDefaultInstance(pro, authenticator);      try {         // 根据session创建一个邮件消息         Message mailMessage = new MimeMessage(sendMailSession);         // 创建邮件发送者地址         Address from = new InternetAddress(fromAddress);         // 设置邮件消息的发送者         mailMessage.setFrom(from);         // 创建邮件的接收者地址,并设置到邮件消息中         Address to = new InternetAddress(toAddress);         mailMessage.setRecipient(Message.RecipientType.TO, to);         // 设置邮件消息的主题         mailMessage.setSubject(subject);         // 设置邮件消息发送的时间         mailMessage.setSentDate(new Date());         // 设置邮件消息的主要内容         String mailContent = content;         mailMessage.setText(mailContent);         // 发送邮件         Transport.send(mailMessage);         return true;      } catch (MessagingException ex) {         ex.printStackTrace();      }      return false;   }   public static void main(String[] args) {      sendHtmlMail("xxx@qq.com","这是一个测试邮件","没有任何意义");   }      public static boolean sendHtmlMail(String toAddress,String subject, String content) {      // 判断是否需要身份认证      EmailAuthenticator authenticator = null;      Properties pro = new Properties();      pro.put("mail.smtp.host", mailServerHost);      pro.put("mail.smtp.port", mailServerPort);      pro.put("mail.smtp.auth", validate ? "true" : "false");      // 如果需要身份认证,则创建一个密码验证器      if (validate) {         authenticator = new EmailAuthenticator(userName, password);      }      // 根据邮件会话属性和密码验证器构造一个发送邮件的session      Session sendMailSession = Session.getDefaultInstance(pro, authenticator);      try {         // 根据session创建一个邮件消息         Message mailMessage = new MimeMessage(sendMailSession);         // 创建邮件发送者地址         Address from = new InternetAddress(fromAddress);         // 设置邮件消息的发送者         mailMessage.setFrom(from);         // 创建邮件的接收者地址,并设置到邮件消息中         Address to = new InternetAddress(toAddress);         // Message.RecipientType.TO属性表示接收者的类型为TO         mailMessage.setRecipient(Message.RecipientType.TO, to);         // 设置邮件消息的主题         mailMessage.setSubject(subject);         // 设置邮件消息发送的时间         mailMessage.setSentDate(new Date());         // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象         Multipart mainPart = new MimeMultipart();         // 创建一个包含HTML内容的MimeBodyPart         BodyPart html = new MimeBodyPart();         // 设置HTML内容         html.setContent(content, "text/html; charset=utf-8");         mainPart.addBodyPart(html);         // MiniMultipart对象设置为邮件内容         mailMessage.setContent(mainPart);         // 发送邮件         Transport.send(mailMessage);         return true;      } catch (MessagingException ex) {         ex.printStackTrace();      }      return false;   }}
0 0
原创粉丝点击