我尝试了一个返回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;
答案 0 :(得分:0)
使用带有Parse Template转换器的HTML文件要容易得多, 这将有效。
https://docs.mulesoft.com/mule-user-guide/v/3.7/parse-template-reference
示例:
https://www.appnovation.com/blog/mule-esb-using-static-templates-produce-dynamic-content
答案 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;
我需要将该表放在邮件中,并附上详细信息。