メールを送信するプロキシがあります。 私は(html形式で)MAILTO、件名と本文はWSO2 ESB HTMLメールを送信
私はコンフィグaxis2.xmlを
<messageFormatter class="org.apache.axis2.transport.http.ApplicationXMLFormatter" contentType="text/html"/>
と電子メールを送信し、働く私のシーケンスが、ハードコードされたボディに追加受け取る:
を<sequence name="SendMailTransportSequence" trace="disable"
xmlns="http://ws.apache.org/ns/synapse">
<property name="messageType" scope="axis2" value="text/html" />
<property name="ContentType" scope="axis2" value="text/html" />
<property name="OUT_ONLY" scope="default" value="true" />
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true" />
<!-- SUBJECT -->
<property expression="get-property('mail.asunto')" name="Subject"
scope="transport" />
<!-- TO -->
<property expression="get-property('mail.destinatario')" name="uri.var.dest"
scope="default" type="STRING" />
<header expression="fn:concat('mailto:',get-property('uri.var.dest'))"
name="To" scope="default" />
<!-- BODY -->
<script language="js"><![CDATA[
mc.setPayloadXML(<html><h1>this is the title</h1><br/><p>this is the content................</p></html>);
]]></script>
<send />
</sequence>
受信したメール:
しかし、私はそれを
に到達カントプロパティから体を送信しようとすると、私は
<script language="js"><![CDATA[
var body = mc.getProperty("mail.cuerpo");
mc.setPayloadXML(<html>{body}</html>);
]]></script>
を試してみて、あまりにも
<script language="js"><![CDATA[
var body = "<h1>this is the title</h1><br/><p>this is the content................</p>";
mc.setPayloadXML(<html>{body}</html>);
]]></script>
コンテンツは、テキストのように試され、両方のケースでを試してみてください
一方、私は成功していないペイロードファクトリを使用しようとします:
コンテンツが
<payloadFactory media-type="xml">
<format>
<ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">$1</ns:text>
</format>
<args>
<arg evaluator="xml" expression="get-property('mail.cuerpo')" />
</args>
</payloadFactory>
をNONAME
<payloadFactory media-type="xml">
<format>
<Body>$1</Body>
</format>
<args>
<arg evaluator="xml" expression="get-property('mail.cuerpo')" />
</args>
</payloadFactory>
の添付ファイルのように送信し、この場合には、メール本文があまりにもプレーンテキストのように受け取られているこの場合だから、正しい形式は何ですかhtml形式で電子メールを送信するには? ありがとうございました
コンテンツタイプを正しく設定しましたか? –
実装については不明ですが、メソッドsetPayloadXMLは、複雑なHTMLコンテンツではなく、短い通常の文字列を考慮して、テンプレート内のその変数を期待しているかもしれません。 HTMLは有害なので、なぜそれがエスケープされます。 – simar
別の可能性のあるケース。 WebUI ManagmentConsoleを使用する場合は、常にエディタのコンテンツをエスケープします。私は以前の成功の経験を持っていましたが、単純なテキストエディタでプロキシの説明付きのXMLファイルを手動で編集するだけでした。シンプルなフォーマットはそれほど難しくありません。 – simar