• email工具类使用及设置


    日常生活中,经常遇到这种情况,在注册新账号时,网站会要求输入邮箱,并且注册成功后会发一封邮件到你的邮箱,点击邮件中的链接后账号才能够激活并使用,

    网站商家有这两个目的,一是辨别恶意操作,二是定向推广,有了你邮箱就方便给你发广告。下面介绍一种开发中常用的邮箱验证工具类

    ①完整邮箱发送代码:

     1 package com.didinx.filter;
     2 
     3 import org.apache.commons.mail.EmailException;
     4 import org.apache.commons.mail.HtmlEmail;
     5 import org.junit.jupiter.api.Test;
     6 
     7 /**
     8  * @author o_0sky
     9  * @date 2019/2/12 13:35
    10  */
    11 public class emailtsk {
    12     @Test
    13     public void testMail() throws EmailException {
    14         //创建HtmlEmail对象,封装邮件发送参数
    15         HtmlEmail htmlEmail = new HtmlEmail();
    16         //设置邮件服务器地址
    17         htmlEmail.setHostName("smtp.163.com");
    18         //设置你的邮箱账号和第三方使用邮件授权码
    19         htmlEmail.setAuthentication("xxx@163.com", "lin123");
    20         //设置收件人,多个收件人的话,此语句多写几次
    21         htmlEmail.addTo("xxx@163.com","新注册用户");
    22         //htmlEmail.addTo("xxx@163.com","test");
    23         //设置发件信息
    24         htmlEmail.setFrom("xxx@163.com","【博客园】");
    25         //设置邮件编码 (网易邮箱解码为gb2312)
    26         htmlEmail.setCharset("gb2312");
    27         //设置邮件主题
    28         htmlEmail.setSubject("【博客园注册激活邮件】");
    29         //设置邮件正文
    30         htmlEmail.setMsg("<h2>恭喜你,注册成功!</h2>"+
    31         "<a href='http://localhost:8080/userServlet?methodName=active&code=123'>请点击链接进行激活</a>");
    32        //发送邮件
    33         htmlEmail.send();
    34      }
    35      
    36 }
    ②封装成工具类:
    《1》挂载配置文件:

    《2》抽取工具类

    
    
     1 package com.heima.travel.utils;
     2 
     3 import org.apache.commons.mail.EmailException;
     4 import org.apache.commons.mail.HtmlEmail;
     5 
     6 import java.util.ResourceBundle;
     7 
     8 /**
     9  * @author buguniao
    10  * @version v1.0
    11  * @date 2019/1/18 17:00
    12  * @description 邮件发送相关的工具类
    13  **/
    14 public class MailUtil {
    15 
    16     private static String hostname;
    17     private static String username;
    18     private static String password;
    19     private static String charset;
    20 
    21 
    22     //提前加载邮件发送相关的配置信息
    23     static {
    24         ResourceBundle bundle = ResourceBundle.getBundle("mail");
    25         hostname = bundle.getString("hostname");
    26         username = bundle.getString("username");
    27         password = bundle.getString("password");
    28         charset = bundle.getString("charset");
    29     }
    30 
    31 
    32     /**
    33      * 发送邮件
    34      * @param emailTo
    35      * @param msg
    36      */
    37     public static void emeilSend(String emailTo,String msg) throws EmailException {
    38 
    39         HtmlEmail htmlEmail = new HtmlEmail();
    40 
    41         //服务器参数
    42         htmlEmail.setHostName(hostname);
    43         htmlEmail.setAuthentication(username, password);
    44         htmlEmail.setCharset(charset);
    45 
    46         //发件人和收件人
    47         htmlEmail.setFrom(username, "【博客园官网】");
    48         htmlEmail.addTo(emailTo, "新注册用户");
    49 
    50         //邮件内容
    51         htmlEmail.setSubject("【博客园注册激活邮件】");
    52         htmlEmail.setMsg(msg);
    53 
    54         //发送邮件
    55         htmlEmail.send();
    56     }
    57 
    58 
    59 
    60 
    61 
    62 
    63 
    64 
    65 
    66 
    67 
    68 }


  • 相关阅读:
    白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)
    白盒测试--基本路径测试法详细说明和举例
    测试用例编写规范
    EF数据库连接时候出错
    元祖,字典,列表及其内置方法
    字符串、列表练习’
    数字,字符串,列表及其内置方法
    流程控制代码练习
    易出错知识点
    流程控制if、while、for
  • 原文地址:https://www.cnblogs.com/linsky/p/10365122.html
Copyright © 2020-2023  润新知