mule电子邮件中的动态自定义电子邮件标头

时间:2015-07-16 08:11:13

标签: email mule email-headers

我正在尝试从mule的电子邮件中发送自定义电子邮件标头。

中添加静态标头
<smtp:connector> 

定义为

<smtp:header key="headerKey" value="headerVal">

很简单,但我需要为我发送的每封电子邮件设置不同的标题值

<smtp:outbound-endpoint>

可以使用Mule的SMTP组件完成吗?

1 个答案:

答案 0 :(得分:0)

我通过向smtp出站端点添加自定义转换器解决了这个问题。

public class EmailTransformer implements MessageTransformer {

@Override
public MuleEvent process(MuleEvent event) throws MuleException {
    ...
    SmtpConnector conn = (SmtpConnector)event.getMuleContext().getRegistry().lookupConnector("SMTP");
    if (conn != null) {
        conn.getCustomHeaders().put("headerName", headerValue);
    }
}

}

变换器读取变量中的值,并在变换器的过程方法中设置标题。不是很优雅,但完成工作。