java邮件发送简单实现代码

 更新时间:2017年03月06日 11:48:22   作者:半路出家的程序员  
这篇文章主要为大家详细介绍了java邮件发送简单实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java邮件发送的具体代码,供大家参考,具体内容如下

我用的是maven项目,前台页码不多说,自己传邮箱地址进来就行。

只需要一个类实现,直接复制就可以

package com.mail;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MySendMail {
 /**
 * @param ss
 * @throws Exception
 */
 /*
 * 你只需要往sendMessage(String email)传入的要发送的邮箱对象地址,再改下方法里的发送人信息就可以了
 * 本文发件邮箱标头为“我们是银行”
 */
 public void sendMessage(String email) throws Exception {
 Properties props = new Properties();
 // 开启debug调试
 props.setProperty("mail.debug", "true");
 // 发送服务器需要身份验证
 props.setProperty("mail.smtp.auth", "true");
 // 设置邮件服务器主机名
 props.setProperty("mail.host", "smtp.qq.com");
 // 发送邮件协议名称
 props.setProperty("mail.transport.protocol", "smtp");
 props.setProperty("mail.smtp.socketFactory.class",
  "javax.net.ssl.SSLSocketFactory");
 props.setProperty("mail.smtp.port", "465");
 props.setProperty("mail.smtp.socketFactory.port", "465");
 // 设置环境信息
 Session session = Session.getInstance(props);
 // 创建邮件对象
 Message msg = new MimeMessage(session);
 msg.setSubject("我们是银行");
 // 设置邮件内容
 msg.setText("******这是一封验证邮箱的邮件******\n 如果您有投资的意愿,请回复邮件,我们会有业务员跟您联系!");
 // 设置发件人,并设置标头
 msg.setFrom(new InternetAddress("*****@qq.com", "我们是银行"));
 // 获得链接
 Transport transport = session.getTransport();
 // 连接邮件服务器,这里设置发件人的邮箱和密码。如果是163的邮箱就把"smtp.qq.com"改成"smtp.163.com"
 //其他的同理,不然连接不到邮件服务器
 transport
  .connect("smtp.qq.com", "***@qq.com", "*****密码*******");
 // 发送邮件
 transport
  .sendMessage(msg, new Address[] { new InternetAddress(email) });
 // 关闭连接
 transport.close();
 }
}

注意导的包,是javax.mail的。建议直接复制就可以。
直接运行,去查看你发送的邮箱是否收到就可以了。

可能会出现这个异常:
javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

这是由于jar包冲突造成的,如果你也是maven,则只要添加下面代码就行,在pom.xml中进行添加一下代码。

<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.1</version>
</dependency>

<dependency>
 <groupId>javax.activation</groupId>
 <artifactId>activation</artifactId>
 <version>1.0.2</version>
</dependency>

如果还是不能解决,再在pom.xml中加入如下代码

<exclusion>
 <groupId>org.apache.geronimo.specs</groupId>
 <artifactId>geronimo-javamail_1.4_spec</artifactId>
</exclusion>
<exclusion>
 <groupId>org.apache.geronimo.specs</groupId>
 <artifactId>geronimo-activation_1.1_spec</artifactId>
</exclusion>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java设计模式之GOF23全面讲解

    Java设计模式之GOF23全面讲解

    这篇文章主要介绍了Java设计模式之GOF23全面讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 深入dom4j使用selectSingleNode方法报错分析

    深入dom4j使用selectSingleNode方法报错分析

    本篇文章是对dom4j使用selectSingleNode方法报错进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • SpringBoot+Mybatis+Vue 实现商品模块的crud操作

    SpringBoot+Mybatis+Vue 实现商品模块的crud操作

    这篇文章主要介绍了SpringBoot+Mybatis+Vue 实现商品模块的crud操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • MyBatis注解开发之实现自定义映射关系和关联查询

    MyBatis注解开发之实现自定义映射关系和关联查询

    本文主要详细介绍了MyBatis注解开发中,实现自定义映射关系和关联查询,文中有详细的代码示例,对学习MyBatis有一定的参考价值,需要的朋友可以参考阅读
    2023-04-04
  • Java批量转换文件编码格式的实现方法及实例代码

    Java批量转换文件编码格式的实现方法及实例代码

    这篇文章主要介绍了Java实现 批量转换文件编码格式的方法及实例代码,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • SpringBoot之Order注解启动顺序说明

    SpringBoot之Order注解启动顺序说明

    这篇文章主要介绍了SpringBoot之Order注解启动顺序说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 深入理解java中的拷贝机制

    深入理解java中的拷贝机制

    这篇文章主要给大家深入介绍了java中的拷贝机制,网上关于java中拷贝的文章也很多,但觉得有必要再深的介绍下java的拷贝机制,有需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • Java泛型实现类型安全的通用类型转换器

    Java泛型实现类型安全的通用类型转换器

    在开发中,我们常常需要在不同类型之间进行转换,为了提高代码的可读性与安全性,Java的泛型机制提供了强大的类型检查能力,下面我们就来看看如何通过泛型实现类型安全的通用转换器
    2024-11-11
  • 基于SpringMVC实现网页登录拦截

    基于SpringMVC实现网页登录拦截

    SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。因此,本文将为大家介绍如何通过SpringMVC实现网页登录拦截功能,需要的小伙伴可以了解一下
    2021-12-12
  • Java版本的回文字算法(java版本)

    Java版本的回文字算法(java版本)

    本文给大家分享一段java代码关于回文字算法的实例代码,代码简单易懂,需要的朋友一起看看吧
    2016-10-10

最新评论