java邮件发送简单实现代码
本文实例为大家分享了java邮件发送的具体代码,供大家参考,具体内容如下
我用的是maven项目,前台页码不多说,自己传邮箱地址进来就行。
只需要一个类实现,直接复制就可以
packagecom.mail; importjava.util.Properties; importjavax.mail.Address; importjavax.mail.Message; importjavax.mail.Session; importjavax.mail.Transport; importjavax.mail.internet.InternetAddress; importjavax.mail.internet.MimeMessage; publicclassMySendMail{ /** *@paramss *@throwsException */ /* *你只需要往sendMessage(Stringemail)传入的要发送的邮箱对象地址,再改下方法里的发送人信息就可以了 *本文发件邮箱标头为“我们是银行” */ publicvoidsendMessage(Stringemail)throwsException{ Propertiesprops=newProperties(); //开启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"); //设置环境信息 Sessionsession=Session.getInstance(props); //创建邮件对象 Messagemsg=newMimeMessage(session); msg.setSubject("我们是银行"); //设置邮件内容 msg.setText("******这是一封验证邮箱的邮件******\n如果您有投资的意愿,请回复邮件,我们会有业务员跟您联系!"); //设置发件人,并设置标头 msg.setFrom(newInternetAddress("*****@qq.com","我们是银行")); //获得链接 Transporttransport=session.getTransport(); //连接邮件服务器,这里设置发件人的邮箱和密码。如果是163的邮箱就把"smtp.qq.com"改成"smtp.163.com" //其他的同理,不然连接不到邮件服务器 transport .connect("smtp.qq.com","***@qq.com","*****密码*******"); //发送邮件 transport .sendMessage(msg,newAddress[]{newInternetAddress(email)}); //关闭连接 transport.close(); } }
注意导的包,是javax.mail的。建议直接复制就可以。
直接运行,去查看你发送的邮箱是否收到就可以了。
可能会出现这个异常:
javax.mail.NoSuchProviderException:Unabletolocateproviderforprotocol:smtp
这是由于jar包冲突造成的,如果你也是maven,则只要添加下面代码就行,在pom.xml中进行添加一下代码。
javax.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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。