java实现发邮件邮箱验证

  • A+
所属分类:java 编程

在用户注册时我们经常会发现需要填写邮箱,然后客户需要接受验证码或者给用户发送激活链接,可以说是部分网站必备的功能了。这里我分享一种简单实现邮箱验证功能的方法。

在这里我就拿QQ邮箱进行测试吧
准备工作:

1.邮箱授权码
2.一个可以收件的邮箱
![](https://i.loli.net/2018/05/26/5b09837c0ade5.png)
授权码具体怎么获取自行百度吧,很简单的,这里我就直接使用了。

我直接创建一个工具类,这样方便以后调用

package org.ssmsmbms.utils;

import java.util.Properties;

import javax.mail.internet.MimeMessage;

import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class EmailUtil {
    public static void sendMail(String toEmail,String title,String content){
        try {
            JavaMailSenderImpl mailSender=null;
            mailSender = new JavaMailSenderImpl();
            //邮箱smtp服务器
            mailSender.setHost("smtp.qq.com"); //我是用的QQ邮箱,所以填写的QQ邮箱服务器地址
            mailSender.setPort(465);
            mailSender.setUsername("93103128"); //这里填写发件人的QQ账号

            Properties ps=new Properties();
            ps.put("mail.smtp.ssl.enable", true);
            mailSender.setJavaMailProperties(ps);
            //邮箱密码
            mailSender.setPassword("xxxxxxxxx");  //这里就是填写授权码的地方
            MimeMessage message = mailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true,"GBK"); //解决乱码问题

            helper.setFrom("93103128@qq.com"); //这是发件人的QQ邮箱地址
            helper.setTo(toEmail); //收件人地址
            helper.setSubject(title); // 标题
            //设置META解决乱码问题
            helper.setText(content, true);   //内容

            mailSender.send(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("over");
    }
}

使用时直接在主函数调用传值即可

    public static void main(String[] args) {
        EmailUtil.sendMail("93103128@qq.com", "这是邮件标题", "欢迎注册xxx网站,您的激活码是:6666");
    }

--END--

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: