JAVA实现发送电子邮件

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素。废话不多说,下面开始我们今天的内容介绍。

首先实现上面的功能,需要一个固定的发送电子邮件的邮箱地址,这里我们就以我们经常使用的QQ邮箱为例实现一下这个功能。

第一件事,你需要开启QQ邮箱的IMAP/SMAP服务:

登录QQ邮箱-->设置-->账号-->开启IMAP/SMAP与P0P3/SMAP

开启这两个时,你会获得两个密码,接下来的内容中会使用到。

发送电子邮件服务,需要使用到一下三个JAR包:mail.jar;activation.jar;cos.jar,这里我已经帮大家整理好了,下载地址:http://pan.baidu.com/s/1sknsZOp,下载好我们的JAR包,导入到我们工程的lib目录下即可。

发送电子邮件的java代码如下:

import java.util.PRoperties;

import javax.mail.*;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;/**

* 使用QQ邮箱IMAP/SMTP的实现发送电子邮件

* 2015-12-06*/publicclassMail {publicstaticvoidmain(String[] args) {

Properties props=newProperties();

props.put("mail.smtp.host","smtp.qq.com");

props.put("mail.smtp.port","587");//使用465或587端口props.put("mail.smtp.auth","true");//设置使用验证props.put("mail.smtp.starttls.enable","true");//使用 STARTTLS安全连接try{

PopupAuthenticator auth=newPopupAuthenticator();sessionsession=Session.getInstance(props, auth);

session.setDebug(true);//打印Debug信息MimeMessage message =newMimeMessage(session);

Address addressFrom=newInternetAddress(PopupAuthenticator.mailuser +"@qq.com","");//第一个参数为发送方电子邮箱地址;第二个参数为发送方邮箱地址的标签Address addressTo =newInternetAddress("xxxxxxxxxxxx","");//第一个参数为接收方电子邮箱地址;第二个参数为接收方邮箱地址的标签message.setSubject("发送电子邮件的主题");

message.setText("发送电子邮件内容");

message.setFrom(addressFrom);

message.addRecipient(Message.RecipientType.TO, addressTo);

message.saveChanges();

Transport transport= session.getTransport("smtp");

transport.connect("smtp.qq.com", PopupAuthenticator.mailuser, PopupAuthenticator.passWord);

transport.send(message);

transport.close();

System.out.println("发送成功");

}catch(Exception e) {

System.out.println(e.toString());

System.out.println("发送失败");

}

}

}classPopupAuthenticator extends Authenticator {publicstaticfinal String mailuser ="1453296946";//发送方邮箱'@'符号前的内容:1453296946@qq.compublicstaticfinal String password ="xxxxxxxxxxxx";//成功开启IMAP/SMTP服务,在第三方客户端登录时,腾讯提供的密码。注意不是邮箱密码publicPasswordAuthentication getPasswordAuthentication() {returnnewPasswordAuthentication(mailuser, password);

}

}

是不是很简单,接下来我们的邮箱验证、登录验证、注册验证、找回密码是不是都找到实现的方向啦。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航