首页 > 开发 > Java > 正文

java邮件发送简单实现代码

2024-07-13 10:05:13
字体:
来源:转载
供稿:网友

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

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表