zoukankan      html  css  js  c++  java
  • 发送邮箱验证信息的工具类

    package cn.itcast.travel.util;

    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Properties;

    /**
    * 发邮件工具类
    */
    public final class MailUtils {
    private static final String USER = "254019730@qq.com"; // 发件人称号,同邮箱地址
    private static final String PASSWORD = "邮箱授权码"; // 如果是qq邮箱可以使户端授权码,或者登录密码

    /**
    *
    * @param to 收件人邮箱
    * @param text 邮件正文
    * @param title 标题
    */
    /* 发送验证信息的邮件 */
    public static boolean sendMail(String to, String text, String title){
    try {
    final Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.host", "smtp.qq.com");

    // 发件人的账号
    props.put("mail.user", USER);
    //发件人的密码
    props.put("mail.password", PASSWORD);

    // 构建授权信息,用于进行SMTP进行身份验证
    Authenticator authenticator = new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
    // 用户名、密码
    String userName = props.getProperty("mail.user");
    String password = props.getProperty("mail.password");
    return new PasswordAuthentication(userName, password);
    }
    };
    // 使用环境属性和授权信息,创建邮件会话
    Session mailSession = Session.getInstance(props, authenticator);
    // 创建邮件消息
    MimeMessage message = new MimeMessage(mailSession);
    // 设置发件人
    String username = props.getProperty("mail.user");
    InternetAddress from = new InternetAddress(username);
    message.setFrom(from);

    // 设置收件人
    InternetAddress toAddress = new InternetAddress(to);
    message.setRecipient(Message.RecipientType.TO, toAddress);

    // 设置邮件标题
    message.setSubject(title);

    // 设置邮件的内容体
    message.setContent(text, "text/html;charset=UTF-8");
    // 发送邮件
    Transport.send(message);
    return true;
    }catch (Exception e){
    e.printStackTrace();
    }
    return false;
    }

    public static void main(String[] args) throws Exception { // 做测试用
    MailUtils.sendMail("newcityboy@163.com","你好,这是一封测试邮件,无需回复。","测试邮件");
    System.out.println("发送成功");
    }



    }
  • 相关阅读:
    cad 画图面板的尺寸大小定义
    CAD中如何将图形按一定的比例放大或缩小
    数组模拟栈和队列
    41. 缺失的第一个正数
    98. 验证二叉搜索树
    1220. 统计元音字母序列的数目
    网络编程--select模型(总结)
    网络编程--C/S模型(总结)
    C++内存管理(堆栈内存的区别、==和equal的区别)
    condition_variable-介绍和使用
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11618779.html
Copyright © 2011-2022 走看看