• JavaWeb —— JavaMail邮件发送


    用户注册时需要给用户填写的邮箱发送一封激活邮件

    一、引入jar包:

    mail.jar

    activation.jar

    二、发送邮件的工具类

     1 public class MailUtils extends Thread {
     2     //给用户发送邮件的邮箱
     3     private String from = "xxxxxx@163.com";
     4     //发送邮件的服务器地址
     5     private String host = "smtp.163.com";
     6     //邮箱的用户名
     7     private String username = "xxxxxx";
     8     //邮箱的授权码
     9     private String password = "xxxxxx";
    10 
    11     private String email;
    12     private String emailMsg;
    13 
    14     public MailUtils(String email, String emailMsg) {
    15         this.email = email;
    16         this.emailMsg = emailMsg;
    17     }
    18 
    19     @Override
    20     public void run() {
    21         try {
    22             //创建Properties对象,并设置邮件服务器的基本信息
    23             Properties properties = new Properties();
    24             //设置邮件传输协议为SMTP
    25             properties.setProperty("mail.transport.protocol", "SMTP");
    26             //设置SMTP服务器地址
    27             properties.setProperty("mail.host", host);
    28             //设置SMTP服务器是否需要用户验证,需要验证设置为true
    29             properties.setProperty("mail.smtp.auth", "true");
    30             //创建验证器
    31             Authenticator auth = new Authenticator() {
    32                 @Override
    33                 protected PasswordAuthentication getPasswordAuthentication() {
    34                     return new PasswordAuthentication(username,password);
    35                 }
    36             };
    37             //实例化邮件会话Session,发送邮件的环境
    38             Session session = Session.getInstance(properties, auth);
    39             Message message = sendMail(session, email, emailMsg);
    40             //发送邮件
    41             Transport.send(message);
    42         } catch (MessagingException e) {
    43             e.printStackTrace();
    44         }
    45     }
    46 
    47     public Message sendMail(Session session, String email, String emailMsg) throws AddressException, MessagingException {
    48         //创建一个Message,该内容相当于邮件内容
    49         Message message = new MimeMessage(session);
    50         //设置发送者
    51         message.setFrom(new InternetAddress(from));
    52         //设置发送方式与接收者,邮件接收者在调用sendMail()方法时通过参数传递进来
    53         message.setRecipient(RecipientType.TO, new InternetAddress(email));
    54         //设置发送邮件主题
    55         message.setSubject("用户注册");
    56         message.setContent(emailMsg, "text/html;charset=utf-8");
    57         return message;
    58     }
    59 }

    三、创建该工具类完成邮件发送

    1 //user.getEmail():接收邮件的地址,eamilMsg:邮件发送的内容,邮件发送比较慢利用线程提高发送的速度
    2 String eamilMsg="xxxxxxxxxxxxx";
    3 new MailUtils(user.getEmail(), eamilMsg).start();

    163邮箱授权码开启:

  • 相关阅读:
    CSS设置滚动条样式
    js深拷贝实现
    JMeter+Ant+Jenkins接口自动化测试框架(Windows)
    jmeter和JDK安装教程(Windows)
    jmeter目录结构含义
    jmeter常用组件
    selenium高亮显示定位到的页面元素
    Python 函数中箭头 (>)的用处
    code first
    AutoFac自动注入的实现过程
  • 原文地址:https://www.cnblogs.com/chaunceyji/p/13960091.html
Copyright © 2020-2023  润新知