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中进行添加一下代码。


 javax.mail
 mail
 1.4.1



 javax.activation
 activation
 1.0.2


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


 org.apache.geronimo.specs
 geronimo-javamail_1.4_spec


 org.apache.geronimo.specs
 geronimo-activation_1.1_spec

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

你可能感兴趣的:(java邮件发送简单实现代码)