package com.dne.ems.service;

/**
 * 邮件服务接口，提供发送各类邮件的功能
 *
 * <p>主要功能：
 * <ul>
 *   <li>发送密码重置验证码邮件</li>
 *   <li>发送账号注册验证码邮件</li>
 * </ul>
 *
 * @author DNE开发团队
 * @version 1.0
 * @since 2024
 */
public interface MailService {

    /**
     * 发送密码重置验证码邮件
     *
     * <p>邮件内容：
     * <ul>
     *   <li>包含6位数字验证码</li>
     *   <li>有效期5分钟</li>
     *   <li>安全提示信息</li>
     * </ul>
     *
     * @param to 目标邮箱地址
     * @param code 6位数字验证码
     * @throws RuntimeException 如果邮件发送失败
     */
    void sendPasswordResetEmail(String to, String code);

    /**
     * 发送账号注册验证码邮件
     *
     * <p>邮件内容：
     * <ul>
     *   <li>包含6位数字验证码</li>
     *   <li>有效期5分钟</li>
     *   <li>欢迎信息</li>
     * </ul>
     *
     * @param to 目标邮箱地址
     * @param code 6位数字验证码
     * @throws RuntimeException 如果邮件发送失败
     */
    void sendVerificationCodeEmail(String to, String code);
} 