(2022保姆级教程)使用Java向邮箱发送邮件、验证码

这篇教程详细介绍了如何使用Java和QQ邮箱发送邮件,包括获取授权码、创建Maven项目、配置依赖及编写发送邮件的代码。通过运行示例代码,可以实现邮箱验证码的发送功能。
摘要由CSDN通过智能技术生成

材料:一个可以登录的邮箱(本文以qq邮箱为例子),Idea和脑子
第一步:登录自己的qq邮箱登录 QQ 邮箱

点击开启服务,会得到一个授权码,就像这个样子 

保存一下这个一会要用到

第二步:打开IDEA,创建一个Maven项目(嫌麻烦直接跳最后Idea直接git项目)

 git地址:GitHub - Fengzj916/EmailSend

 创建好之后创建两个class文件,就像下面这样

 Email代码:

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;

public class Email {
    private static String defaultSenderName = "";// 默认的发件人用户名,defaultEntity用得到
    private static String defaultSenderPass = "";// 默认的发件人密码,defaultEntity用得到
    private static String defaultSmtpHost = "";// 默认的邮件服务器地址,defaultEntity用得到
    private String smtpHost; // 邮件服务器地址
    private String sendUserName; // 发件人的用户名
    private String sendUserPass; // 发件人密码
    private MimeMessage mimeMsg; // 邮件对象
    private Session session;
    private Properties props;
    private Multipart mp;// 附件添加的组件
    private List<FileDataSource> files = new LinkedList<FileDataSource>();// 存放附件文件

    private void init() {
        if (props == null) {
            props = System.getProperties();
        }
        props.put("mail.transport.protocol", "smtp");// 连接协议
        props.put("mail.smtp.host", smtpHost);
        props.put("mail.smtp.port", "465");// 端口号
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true"); // 需要身份验证
        props.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接  ---一般都使用
        props.put("mail.debug", "true");//设置是否显示debug信息  true 会在控制台显
        session = Session.getDefaultInstance(props, null);
        // 置true可以在控制台(console)上看到发送邮件的过程
        session.setDebug(true);
        // 用session对象来创建并初始化邮件对象
        mimeMsg = new MimeMessage(session);
        // 生成附件组件的实例
        mp = new MimeMultipart();
    }

    private Email(String smtpHost, String sendUserName, String sendUserPass, String to, String cc, String mailSubject, String mailBody,
                  List<String> attachments, String formName) {
        this.smtpHost = smtpHost;
        this.sendUserName = sendUserName;
        this.sendUserPass = sendUserPass;
        init();
        setFrom(sendUserName, formName);  //设置发送人邮箱账号和发送人名
        setTo(to);  //设置收件人邮箱
        setCC(cc);  //设置抄送
        setBody(mailBody);  //设置内容
        setSubject(mailSubject);  //设置标题
        if (attachments != null) {  //循环添加附件
            for (String attachment : attachments) {
                addFileAffix(attachment);
            }
        }
    }

    /**
     * 邮件实体
     *
     * @param smtpHost     邮件服务器地址
     * @param sendUserName 发件邮件地址
     * @param sendUserPass 发件邮箱密码
     * @param to           收件人,多个邮箱地址以半角逗号分隔
     * @param cc           抄送,多个邮箱地址以半角逗号分隔
     * @param mailSubject  邮件主题
     * @param mailBody     邮件正文
     * @return
     * @paramattachmentPath 附件路径
     */

    public static Email entity(String smtpHost
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你好!对于nnUNet的使用教程,我可以为你提供一些基本的指导。nnUNet是一个用于医学图像分割的开源框架,旨在简化深度学习模型在医学图像上的训练和推理过程。 以下是一个简单的nnUNet使用教程的大纲: 1. 安装nnUNet:首先,你需要安装nnUNet框架。你可以在nnUNet的GitHub页面找到安装说明。 2. 数据准备:准备你的医学图像数据集。确保你的数据集包含正确的标签,并将其划分为训练集、验证集和测试集。 3. 数据预处理:nnUNet要求对数据进行预处理,包括将图像和标签裁剪为相同大小、进行数据增强等。你可以使用nnUNet提供的预处理脚本来完成这些操作。 4. 配置实验:创建一个配置文件来定义你的实验设置。在配置文件中,你需要指定数据路径、模型架构、训练参数等。 5. 训练模型:使用nnUNet提供的训练脚本开始训练模型。根据你的配置文件,nnUNet将自动加载数据并开始训练。 6. 模型评估:在训练完成后,你可以使用nnUNet提供的评估脚本评估模型在测试集上的性能。 7. 模型推理:使用已经训练好的模型进行推理。nnUNet提供了推理脚本,你可以使用它来对新的医学图像进行分割。 请注意,这只是一个简要的教程大纲。如果你需要更详细的教程或遇到特定问题,请参考nnUNet的文档或在相关论坛上寻求帮助。祝你成功使用nnUNet进行医学图像分割!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值