JAVA realizes mail activation function (only writing and sending mail tools)

JAVA realizes mail activation function (only writing and sending mail tools)

1. Mailing tools

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 = "这里填发件人的邮箱"; // 发件人称号,同邮箱地址
    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 form = new InternetAddress(username);
            message.setFrom(form);

            // 设置收件人
            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;
   }
}

Insert picture description here

2. Test method

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

Insert picture description here
3. To achieve the above functions, the sender's mailbox needs to perform the following steps

3.1 Enter the mailbox and find the settingsInsert picture description here

3.2 find account
Insert picture description here

3.3 Pull down to find the POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV service
Open the Pop3/SMPT service and get the email authorization code (requires mobile phone verification)
Insert picture description here

3.4 After opening successfully, an authorization code will be obtained, and the client authorization code required by the above code is it
Insert picture description here

Of course, this is only to realize the function of sending the mailbox, the specific activation function should be realized by writing code according to its actual situation

Guess you like

Origin blog.csdn.net/weixin_49092628/article/details/110714349