using System.Threading.Tasks;
using NPP.SmartSchedue.Api.Contracts.Services.Notification.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Notification.Output;
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification;
///
/// 邮件通知服务接口
/// 决策点1:基础通知方式 - 邮件通知
///
public interface IEmailNotificationService
{
///
/// 发送单个邮件
///
Task SendEmailAsync(SendEmailInput input);
///
/// 批量发送邮件
///
Task BatchSendEmailAsync(BatchSendEmailInput input);
///
/// 个性化批量发送邮件
///
Task BatchSendPersonalizedEmailAsync(BatchSendPersonalizedEmailInput input);
///
/// 使用模板发送邮件
///
Task SendEmailByTemplateAsync(SendEmailByTemplateInput input);
///
/// 验证邮箱地址格式
///
Task IsValidEmailAsync(string email);
///
/// 检查邮件服务器连接状态
///
Task CheckEmailServerStatusAsync();
}