2020-09-17
发布日期:2021-05-14 22:04:36 浏览次数:17 分类:精选文章

本文共 3279 字,大约阅读时间需要 10 分钟。

个人Java邮件注册实现技术说明

依赖文件配置

本实现基于以下JavaMail相关依赖项:

javax.mail
mail
1.4
javax.activation
activation
1.1.1

Java实现代码

类结构说明

package com.ssm.service;import java.util.Date;import java.util.Properties;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class MailService {    public static String myEmailAccount = "2377530086@qq.com";    public static String myEmailPassword = "授权码";    public static String myEmailSMTPHost = "smtp.qq.com";    public static String receiveMailAccount = "3620763725@qq.com";    public static void sendActiveMail(String receiveMailAccount, String contentMail) throws Exception {        Properties props = new Properties();        props.setProperty("mail.transport.protocol", "smtp");        props.setProperty("mail.smtp.host", myEmailSMTPHost);        props.setProperty("mail.smtp.auth", "true");        /*          * SMTP 服务器连接使用SSL时的配置:         * props.setProperty("mail.smtp.port", "465");         * props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");         * props.setProperty("mail.smtp.socketFactory.fallback", "false");         * props.setProperty("mail.smtp.socketFactory.port", "465");         */        Session session = Session.getDefaultInstance(props);        session.setDebug(true);        MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount, contentMail);        Transport transport = session.getTransport();        transport.connect(myEmailAccount, myEmailPassword);        transport.sendMessage(message, message.getAllRecipients());        transport.close();    }    private static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail, String contentMail) throws Exception {        MimeMessage message = new MimeMessage(session);        message.setFrom(new InternetAddress(sendMail, "慈善交流会", "UTF-8"));        message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用户", "UTF-8"));        message.setSubject("验证码", "UTF-8");        message.setContent("尊敬的用户,您好!你的验证码是:" + contentMail, "text/html;charset=UTF-8");        message.setSentDate(new Date());        message.saveChanges();        return message;    }    public MailService(String receiveMailAccount, String contentMail) {        this.receiveMailAccount = receiveMailAccount;        try {            this.sendActiveMail(receiveMailAccount, contentMail);        } catch (Exception e) {            e.printStackTrace();        }    }}

使用说明

  • 依赖环境准备

    • 打包并导入上述依赖项 jars 文件,确保项目中能找到 javax.mail 和 javax.activation 类。
  • 配置信息替换

    • myEmailAccountmyEmailPassword 请根据实际情况替换为发送邮件的邮箱和授权码;
    • myEmailSMTPHost 请根据实际所用邮箱服务填写正确的SMTP服务器地址,如QQ邮箱为 smtp.qq.com
  • 邮件发送调用方法

    • 创建 MailService 实例并调用 sendActiveMail 方法,例如:
      String receiveMail = "目标邮箱";String content = "邮件内容";new MailService(receiveMail, content).sendActiveMail(receiveMail, content);
  • 测试说明

    测试类简介

    • 类功能:实现Email激活地址发送功能,接收邮箱和验证码,返回邮件发送结果。
    • 使用说明:
      // 参数1:目标接收邮箱// 参数2:验证码或激活链接new MailService("目标邮箱", "验证码内容");

    这些婴儿用品在你的路径中吗?

    在讨论邮件服务器配置时,要注意以下几点:

  • 确保SMTP服务已开启,维修人员需检查邮箱设置。
  • 验证邮箱和密码是否正确,尤其是部分邮箱服务器(如QQ)要求独立密码。
  • 遵循邮件服务器的安全连接要求,默认以SSL方式连接。
  • 上一篇:Java开发工程师学习路线
    下一篇:学生的个人SpringMVC文件上传

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年04月08日 13时06分48秒