java实现基于SMTP发送邮件的方法

 更新时间:2015年07月17日 10:56:23   作者:答复哈  
这篇文章主要介绍了java实现基于SMTP发送邮件的方法,实例分析了java基于SMTP服务发送邮件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了java实现基于SMTP发送邮件的方法。分享给大家供大家参考。具体实现方法如下:

import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class MailUtil {
 private static Logger logger = Logger.getLogger(MailUtil.class);
 /**
  * 发送邮件
  * 
  * @param smtp
  *   SMTP服务器
  * @param user
  *   用户名
  * @param password
  *   密码
  * @param subject
  *   标题
  * @param content
  *   邮件内容
  * @param from
  *   发件人邮箱
  * @param to
  *   收件人邮箱
  */
 public static void send(String smtp, final String user,
   final String password, String subject, String content, String from,
   String to) {
  try {
   Properties props = new Properties();
   props.put("mail.smtp.host", smtp);
   props.put("mail.smtp.auth", "true");
   Session ssn = Session.getInstance(props, new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
     return new PasswordAuthentication(user, password);
    }
   });
   MimeMessage message = new MimeMessage(ssn);
   //由邮件会话新建一个消息对象 
   InternetAddress fromAddress = new InternetAddress(from);
   //发件人的邮件地址 
   message.setFrom(fromAddress);
   //设置发件人 
   InternetAddress toAddress = new InternetAddress(to);
   //收件人的邮件地址 
   message.addRecipient(Message.RecipientType.TO, toAddress);
   //设置收件人
   message.setSubject(subject);
   //设置标题
   message.setText(content);
   //设置内容
   message.setSentDate(new Date());
   //设置发信时间 
   Transport transport = ssn.getTransport("smtp");
   transport.connect(smtp, user, password);
   transport.sendMessage(message, message
     .getRecipients(Message.RecipientType.TO));
   // transport.send(message);
   transport.close();
   logger.info("邮件发送成功");
  } catch (Exception e) {
   logger.warn("邮件发送失败", e);
  }
 }
}

希望本文所述对大家的java程序设计有所帮助。

相关文章

  • 使用JVMTI实现SpringBoot的jar加密,防止反编译

    使用JVMTI实现SpringBoot的jar加密,防止反编译

    这篇文章主要介绍了使用JVMTI实现SpringBoot的jar加密,防止反编译问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Spring内部bean和级联属性用法详解

    Spring内部bean和级联属性用法详解

    这篇文章主要介绍了Java内部bean和级联属性用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Spring解决循环依赖问题的三种方法小结

    Spring解决循环依赖问题的三种方法小结

    在 Spring 中,循环依赖问题指的是两个或多个 bean 之间相互依赖形成的闭环,具体而言,当 bean A 依赖于 bean B,同时 bean B 也依赖于 bean A,就形成了循环依赖,本文就给大家介绍了Spring解决循环依赖问题的三种方法,需要的朋友可以参考下
    2023-09-09
  • 浅谈controller中调用多个service方法的问题

    浅谈controller中调用多个service方法的问题

    这篇文章主要介绍了浅谈controller中调用多个service方法的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • RocketMQ源码解析broker 启动流程

    RocketMQ源码解析broker 启动流程

    这篇文章主要为大家介绍了RocketMQ源码解析broker启动流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Java中多线程同步类 CountDownLatch

    Java中多线程同步类 CountDownLatch

    本篇文章主要介绍了Java中多线程同步类 CountDownLatch的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • eclipse配置javap命令的方法

    eclipse配置javap命令的方法

    本篇文章主要介绍了如何为eclipse配置javap命令,在配置过程中会出现的小问题的解决方法,非常实用,需要的朋友可以参考下
    2015-07-07
  • java实现微信扫码登录第三方网站功能(原理和代码)

    java实现微信扫码登录第三方网站功能(原理和代码)

    为避免繁琐的注册登陆,很多平台和网站都会实现三方登陆的功能,增强用户的粘性。这篇文章主要介绍了java实现微信扫码登录第三方网站功能(原理和代码),避免做微信登录开发的朋友们少走弯路
    2022-12-12
  • JDK 7 新特性小结实例代码解析

    JDK 7 新特性小结实例代码解析

    这篇文章通过实例代码给大家介绍了JDK 7 新特性小结篇,感兴趣的朋友一起看看吧
    2018-03-03
  • Spring核心方法refresh的使用解析

    Spring核心方法refresh的使用解析

    这篇文章主要介绍了Spring核心方法refresh的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论