一、准备工作
1、 注册一个163邮箱号,作为发送邮件的一方
2、下载好javax.mail包
二、使用步骤
1.导入javax.mail包
链接:javax.mail下载
链接: javax.mail包的具体介绍
2.开启SMTP服务
SMTP是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知
开启SMTP服务
获取第三方授权密码
3.编写java配置文件
//定义一些全局变量
public String myEmail="邮箱账号";
public String smtpHost="smtp.163.com";
public String myPwd="163生成的授权码"; //授权码的生成查看第二步,不是登录密码
try {
//开始发邮件
Properties props=new Properties(); //创建参数配置
props.put("mail.smtp.starttls.enable", "true");
props.setProperty("mail.transport.protocal", "smtp"); //定义传输
props.setProperty("mail.smtp.host", smtpHost); //定义主机地址
props.setProperty("mail.smtp.auth", "true"); //授权验证
//根据配置,来得到会话对象
Session session=Session.getInstance(props); //从发邮件开始,到发送成功,是一次会话
//通过会话对象,来得到邮件对象
MimeMessage message=new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress(myEmail,"邮件发送人","UTF-8"));
//设置收件人
message.setRecipient(MimeMessage.RecipientType.TO,new InternetAddress("收件方的邮箱号","用户","UTF-8") );
//设置邮件的主题
message.setSubject("欢迎加入***","UTF-8");
//设置内容
message.setContent("尊敬的用户,您好!您的注册码为:" + "随机数循环生成的验证码", "text/html;charset=UTF-8");
//设置发件时间
message.setSentDate(new Date());
message.saveChanges();
//开始发送邮件
Transport transport=session.getTransport();
transport.connect(myEmail,myPwd);
transport.sendMessage(message, message.getAllRecipients());
//发送成功,关闭连接
transport.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
4.效果展示
使用的是我自己模仿muji的网页做的注册功能中的获取验证码的部分