欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java邮件发送简单实现代码

程序员文章站 2024-03-05 20:47:19
本文实例为大家分享了java邮件发送的具体代码,供大家参考,具体内容如下 我用的是maven项目,前台页码不多说,自己传邮箱地址进来就行。 只需要一个类实现,直接...

本文实例为大家分享了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>

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