zoukankan      html  css  js  c++  java
  • JAVA实现邮件发送功能(账号注册验证码、账号激活等)

    第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF]

    如果是Maven,请直接在Pom文件中加入

    <dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.0</version>
    </dependency>

    如果是SpringBoot,请直接在Pom文件中加入

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

    正式代码:

      首先书写一个工具类:

      MailUtil

      

     1 import javax.mail.*;
     2 import javax.mail.internet.InternetAddress;
     3 import javax.mail.internet.MimeMessage;
     4 import java.util.Properties;
     5 
     6 /**
     7  * 邮件工具类
     8  */
     9 public class MailUtil {
    10     /**
    11      * 发送邮件
    12      * @param to 给谁发
    13      * @param text 发送内容
    14      */
    15     public static void send_mail(String to,String text) throws MessagingException {
    16         //创建连接对象 连接到邮件服务器
    17         Properties properties = new Properties();
    18         //设置发送邮件的基本参数
    19         //发送邮件服务器(注意,此处根据你的服务器来决定,如果使用的是QQ服务器,请填写smtp.qq.com)
    20         properties.put("mail.smtp.host", "smtp.huic188.com");
    21         //发送端口(根据实际情况填写,一般均为25
    22         properties.put("mail.smtp.port", "25");
    23         properties.put("mail.smtp.auth", "true");
    24         //设置发送邮件的账号和密码
    25         Session session = Session.getInstance(properties, new Authenticator() {
    26             @Override
    27             protected PasswordAuthentication getPasswordAuthentication() {
    28                 //两个参数分别是发送邮件的账户和密码(注意,如果配置后不生效,请检测是否开启了 POP3/SMTP 服务,QQ邮箱对应设置位置在: [设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务])
    29                 return new PasswordAuthentication("admin@huic188.com","这里写你的账号的密码");
    30             }
    31         });
    32 
    33         //创建邮件对象
    34         Message message = new MimeMessage(session);
    35         //设置发件人
    36         message.setFrom(new InternetAddress("admin@huic188.com"));
    37         //设置收件人
    38         message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
    39         //设置主题
    40         message.setSubject("这是一份测试邮件");
    41         //设置邮件正文  第二个参数是邮件发送的类型
    42         message.setContent(text,"text/html;charset=UTF-8");
    43         //发送一封邮件
    44         Transport.send(message);
    45     }
    46 }

      测试类:

      TEST:

      

    import javax.mail.MessagingException;
    
    /**
     * 测试类
     */
    public class Test {
        public static void main(String[] args) {
            try {
           // 请将此处的 690717394@qq.com 替换为您的收件邮箱号码 MailUtil.send_mail(
    "690717394@qq.com", String.valueOf(Math.random() * 999)); System.out.println("邮件发送成功!"); } catch (MessagingException e) { e.printStackTrace(); } } }
    测试结果: 正常发送!
  • 相关阅读:
    List<T>Find方法,FindAll方法,Contains方法,Equals方法
    C#SerialPort如何读取串口数据并显示在TextBox上
    49、css属性相关
    40、协程
    45、mysql 储存过程
    37、进程之间的通信
    38、线程及其方法
    39、多线程和线程池
    33、验证客户端的合法性、socketserver模块
    32、黏包的解决方式、struct模块
  • 原文地址:https://www.cnblogs.com/adversary/p/6681845.html
Copyright © 2011-2022 走看看