Ich habe einen Proxy zum Senden von E-Mails. i erhalten mailto, Betreff und (im HTML-Format)WSO2 ESB HTML-E-Mail senden
i Config axis2.xml hinzufügen
<messageFormatter class="org.apache.axis2.transport.http.ApplicationXMLFormatter" contentType="text/html"/>
und meine Sequenz, die senden, die E-Mail, aber mit einem fest codierten Körper funktioniert:
<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>
Der Postweg:
Aber wenn ich versuche, den Körper von einer Unterkunft zu senden kippe ich erreichen
Ich versuche
<script language="js"><![CDATA[
var body = mc.getProperty("mail.cuerpo");
mc.setPayloadXML(<html>{body}</html>);
]]></script>
und versuchen
<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>
in beiden Fällen ist der Inhalt wie Text versucht wird
Auf der anderen Seite, ich versuche, Payload-Fabrik mit keinem Erfolg zu verwenden:
In diesem Fall wird der Inhalt wie eine Anlage senden ist mit noname
<payloadFactory media-type="xml">
<format>
<Body>$1</Body>
</format>
<args>
<arg evaluator="xml" expression="get-property('mail.cuerpo')" />
</args>
</payloadFactory>
und in diesem Fall wird der Mail-Körper wie Klartext empfangen wird zu
<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>
Also, was ist die richtige Form um die E-Mail im HTML-Format zu senden? Vielen Dank im Voraus
Haben Sie den Inhaltstyp richtig eingestellt? –
Nicht sicher über die Implementierung, aber Methode setPayloadXML hängt von Entwicklern erwarten, dass die Variable in der Vorlage, nur kurze übliche Zeichenfolge anstelle von komplexen HTML-Inhalt. HTML kann schädlich sein, deshalb ist es maskiert. – simar
Ein anderer möglicher Fall. Wenn Sie WebUI Management Console verwenden, handelt es sich immer um den Escape-Inhalt des Editors. Ich hatte Erfahrung zum Erfolg Zeit vor, nur manuelle Bearbeitung von XML-Datei mit Proxy-Beschreibung im einfachen Texteditor verwenden. Es hat einfaches Format nicht so schwierig beendet. – simar