001package run.iget.framework.mail.service;
002
003import java.io.File;
004import java.util.Map;
005
006/**
007 * 代码千万行,注释第一行;注释不规范,迭代两行泪
008 * ----------------------------------------
009 * 邮件发送接口,默认异步实现
010 * ----------------------------------------
011 * author: 大周
012 * date: 2022/2/8 14:37
013 **/
014public interface MailService {
015
016    /**
017     * 发送普通文本邮件
018     *
019     * @param to      收件人
020     * @param subject 主题
021     * @param content 内容
022     */
023    void sendSimpleMail(String to, String subject, String content);
024
025    /**
026     * 发送HTML邮件
027     *
028     * @param to      收件人
029     * @param subject 主题
030     * @param content 内容(可以包含<html>等标签)
031     */
032    void sendHtmlMail(String to, String subject, String content);
033
034    /**
035     * 发送带附件的邮件
036     *
037     * @param to              收件人
038     * @param subject         主题
039     * @param content         内容
040     * @param attachmentFiles 附件集合,key为附件名称,value为附件对象
041     */
042    void sendHtmlMailOfAttachments(String to, String subject, String content, Map<String, File> attachmentFiles);
043
044    /**
045     * 发送带图片的邮件
046     *
047     * @param to         收件人
048     * @param subject    主题
049     * @param content    文本
050     * @param imageFiles 图片集合,可以是 图片ID,用于在<img>标签中使用,从而显示图片,value是图片
051     */
052    void sendHtmlMailOfImages(String to, String subject, String content, Map<String, File> imageFiles);
053
054    /**
055     * 发送带图片的邮件
056     *
057     * @param to              收件人
058     * @param subject         主题
059     * @param content         文本
060     * @param imageFiles      图片集合,可以是 图片ID,用于在<img>标签中使用,从而显示图片,value是图片
061     * @param attachmentFiles 附件集合,key为附件名称,value为附件对象
062     */
063    void sendHtmlMail(String to, String subject, String content, Map<String, File> imageFiles, Map<String, File> attachmentFiles);
064
065    /**
066     * 发生重置密码邮件
067     *
068     * @param to  发生给谁
069     * @param url 初始化密码的页面地址
070     */
071    void sendInitPasswordEmail(String to, String url);
072}