EmailServiceProvider

属性
接口类型 extra-core
完整类名 com.fr.stable.fun.EmailServiceProvider

背景与场景

该接口用于替换产品本身的邮件发送逻辑。与 EmailSendProvider 功能相似,区别在于 EmailServiceProvider 只能替换产品自身的邮件发送逻辑,适用性更为专一。建议优先使用该接口而非 EmailSendProvider

接口定义

package com.fr.stable.fun;

import com.fr.stable.email.EmailAttachmentProvider;
import com.fr.stable.fun.mark.Selectable;

import javax.mail.MessagingException;

/**
 * @author Cloud.Liu
 * @version 10.0
 * Created by Cloud.Liu on 2020/5/20
 */
public interface EmailServiceProvider extends Selectable {

    int CURRENT_LEVEL = 1;

    String XML_TAG = "EmailServiceProvider";

    /**
     * 发送邮件
     *
     * @param toAddress       收件人地址
     * @param ccAddress       抄送地址
     * @param bccAddress      密送地址
     * @param fromAddress     发件人地址
     * @param subject         主题
     * @param bodyContent     正文
     * @param attaches        附件
     * @param format          格式
     * @param contentAttaches 邮件正文显示的附件
     * @throws MessagingException 异常
     */
    void send(String toAddress, String ccAddress, String bccAddress, String fromAddress,
              String subject, String bodyContent, EmailAttachmentProvider[] attaches,
              String format, EmailAttachmentProvider[] contentAttaches) throws MessagingException;
}

支持版本

产品线 版本 支持情况
FR 10.0 支持
FR 11.0 支持
BI 5.1.3 支持

插件注册

plugin.xml 中添加以下节点:

<extra-core>
    <EmailServiceProvider class="your class name"/>
</extra-core>

原理说明

EmailManager 实现了选择逻辑:若无 EmailServiceProvider 实现注册,则执行标准邮件发送;若有注册,选择器匹配的提供者负责邮件发送;若无匹配,则记录错误日志。

常用链接

开源案例

免责声明:所有文档中的开源示例均为开发者自行开发并提供,仅供参考和学习使用。开发者和官方均无义务对开源案例进行教学和指导。禁止用于任何商业用途,若作为商用,一切后果责任由使用者自行承担。

results matching ""

    No results matching ""