文章目录
一、准备工作二、使用步骤1.导入javax.mail包2.开启SMTP服务3.编写java配置文件4.效果展示总结一、准备工作
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="";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的网页做的注册功能中的获取验证码的部分