使用 Mule 发送格式化邮件

2022-01-15 00:00:00 email format smtp java mule

我正在使用 Mule 发送电子邮件.我需要为我发送的文本添加格式.邮件的内容是有效负载,其中包含我在 Java 方法中形成的字符串,并使用表达式转换器发送到流.我需要为该字符串添加格式:粗体、下划线、颜色......我该怎么做?

I'm sending emails using Mule. I need to add format to the text I send. The content of the mail is the payload which has a String in it that I form in a Java method and send to the flow with an Expression transformer. I need to add format to that String: bold, underline, colour.... How can I do it?

这是我的流程的摘录:

   <expression-transformer expression="#[com.generateText4Email(payload)]" doc:name="mailText"/>
<smtp:outbound-endpoint host="${smtp.host}"
        responseTimeout="10000" doc:name="SMTP" connector-ref="smtpConnector"
        from="${smtp.from}" port="${smtp.port}" subject="Invoice"
        to="mail@mail.com" />

我试过这个,但它不起作用.

I've tried with this but it doesn't work.

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Email</title></head><body style="font-family:'Century Gothic'"><h1 style="text-align:center;"> company </h1><h2 style="font-size:14px;">Name : name <br />Company : arch <br />Email : qqq@aaaa.com</h2><p>fin</p></body></html>

提前致谢.

推荐答案

我解决了.我错过了将 smtp:connector 中的 content-type 和 smtp:outbpund-endbound 中的 mime-type 设置为 text/html 才能正常工作.这是正确的代码:

I solved it. I was missing setting content-type in the smtp:connector and the mime-type in the smtp:outbpund-endbound as text/html for the to work. This is the correct code:

<smtp:connector name="smtpConnector"
    validateConnections="true" doc:name="SMTP" contentType="text/html"/>
 <smtp:outbound-endpoint host="${smtp.host}"
    responseTimeout="10000" doc:name="SMTP" connector-ref="smtpConnector"
    from="${smtp.from}" port="${smtp.port}" subject="Invoice"
    to="mail@mail.com"" mimeType="text/html"/>

通过此配置,您可以像这样在文本中使用 html

With this configuration you can use html in your text like this

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Email</title></head><body style="font-family:'Century Gothic'"><h1 style="text-align:center;"> company </h1><h2 style="font-size:14px;">Name : name <br />Company : arch <br />Email : qqq@aaaa.com</h2><p>fin</p></body></html>

收到邮件时会显示.

希望对其他人有所帮助.

Hope it'll help someone else.

相关文章