java邮件发送简单实现代码
程序员文章站
2024-03-04 21:05:42
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Java线程监听,意外退出线程后自动重启的实现方法
下一篇: 关于java I/O流的总结之字节流