用java实现邮件发送验证码
来源:互联网 发布:iphone移轴摄影知乎 编辑:程序博客网 时间:2024/06/06 09:49
- java实现邮件发送验证码
- 网易邮箱开通POP3SMTP服务的步骤
java实现邮件发送验证码
建议不要用qq邮箱,我使用qq邮箱直接一直给我报530错误,我一直认为我代码写的有错误或者POP3/SMTP服务没弄好。所以建议注册个别的邮箱,我就申请了个网易163邮箱瞬间就好了。所以去申请个别的邮箱吧。
用邮件发送验证码,首先需要jar包。我写的代码只需要mail.jar,没有的话可以给我留言,我给你发个。
废话不说了直接上代码(这个代码就是个工具类直接用就好)
package com.itheima.utils;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMessage.RecipientType;public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException { // 1.创建一个程序与邮件服务器会话对象 Session // 创建参数配置, 用于连接邮件服务器的参数配置 Properties props = new Properties(); // 参数配置 props.setProperty("mail.transport.protocol", "SMTP");// 使用的协议(JavaMail规范要求) props.setProperty("mail.host", "smtp.163.com");// // 发件人的邮箱的 SMTP 服务器地址 props.setProperty("mail.smtp.auth", "true");//请求认证,参数名称与具体实现有关 指定验证为true // 创建验证器 Authenticator auth = new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { // 网易邮箱Yang_li_g 用户名 hao123授权码,改为自己的账号和密码 return new PasswordAuthentication("Yang_li_g", "hao123"); } }; Session session = Session.getInstance(props, auth); // 2.创建一个Message,它相当于是邮件内容 Message message = new MimeMessage(session); //这里也要改和上面对应,注意后缀和上面设置的一样不然会报错 message.setFrom(new InternetAddress("Yang_li_g@163.com")); // 设置发送者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者 message.setSubject("用户激活"); // message.setText("这是一封激活邮件,请<a href='#'>点击</a>"); message.setContent(emailMsg, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message); }}
这里是servlet的代码,响应代码如下
// 发送激活邮件 activeCode:是验证码 String emailMsg = "恭喜您注册成功,请点击下面的连接进行激活账户" + "<a href='http://localhost:8080/Shop/active?activeCode=" + activeCode + "'>" + "http://localhost:8080/Shop/active?activeCode=" + activeCode + "</a>"; try { //user.getEmail() :是注册人的邮件用户名 MailUtils.sendMail(user.getEmail(), emailMsg); } catch (MessagingException e) { e.printStackTrace(); }
邮件内容你就自己随便写,我这里写的比较简单,实现就好。
网易邮箱开通POP3/SMTP服务的步骤
先点击设置–》POP3/SMTP/IMAP—》找到开启的选项点击开启—》开启成功后设置密码就好了
我这是设置好的可以看下。设置好了后就可以实现用邮件发验证码了。
阅读全文
0 0
- 用java实现邮件发送验证码
- 用Java发送邮件 smtp验证码问题
- 邮件发送验证码
- 发送邮件 发送验证码
- Java实现邮箱登录验证和邮件发送
- java实现邮件发送和接收【用于邮箱验证】
- java实现邮件发送
- java实现邮件发送
- java 实现发送邮件
- java 实现邮件发送
- java发送邮件实现
- Java实现发送邮件
- Java 实现邮件发送
- java实现发送邮件
- java实现邮件发送
- Java实现邮件发送
- Java实现发送邮件
- JAVA实现邮件发送
- 全面升级Android面试之IntentService面试题集
- ISO 9126质量模型
- 网易笔试题-合唱团
- JavaScript 对象
- AlarmManager详解:android中的定时任务
- 用java实现邮件发送验证码
- Unable to fetch namespace information from active NN at hadoop042/10.1.2.42:8020: Call From hadoop0
- 将excel中的数据导入hive
- Java 8种基本数据类型
- ES6 函数参数的默认值
- 深入了解JAVA可变长度的参数(Varargs)
- Pycharm中进行Python远程开发
- 101. Symmetric Tree
- http 请求头设置