在mule中以邮件形式发送HTML响应

时间:2015-12-15 14:49:38

标签: smtp mule mule-studio mule-component

我尝试了一个返回HTML响应的POC。

我需要使用smtp

在邮件中发送HTML响应

在邮件中,我收到的是“org.mule.transport.http.HttpResponse@47b6ae6f”

请在下面找到SMTP配置:

<smtp:gmail-connector name="Gmail" contentType="text/html" validateConnections="true" doc:name="Gmail"/>
<smtp:outbound-endpoint host="${smtp_host}" port="${smtp_port}" user="${email_username}" password="${email_password}" to="${email_toaddress}" from="${email_fromaddress}" subject="${email_subject}" responseTimeout="10000" connector-ref="Gmail" doc:name="SMTP" mimeType="text/html"/>

在Java类中:

StringBuilder builder = new StringBuilder();
        builder.append("<!DOCTYPE html>");
..........
html = builder.toString();
return html;

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您还可以参考 Velocity 模板,将其设计为精心设计的HTML格式

参考: - Sending formatted mails with Mule

https://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html

或者您也可以 Groovy 以轻松的方式: - I cannot get Mule to send an HTML formatted email

答案 2 :(得分:0)

在Java类中:

使用onCall,

created HashMap<String, JSONArray> hDetails= new HashMap<String, JSONArray>();
String html="No data to send"
JSONArray details = new JSONArray();
...
hDetails.put(id, details);
StringBuilder builder = new StringBuilder();
builder.append("<!DOCTYPE html>");
builder.append("<html lang=\"en\">");
builder.append("<head><style>table, th, td {border: 1px solid black; border-collapse: collapse;th, td {padding: 5px;} </style></head>");
builder.append("</html>");
.....

html = builder.toString();
return html;

我需要将该表放在邮件中,并附上详细信息。