1

我正在使用邮件传输,我已经完成了axis2文件的更改,我的esb用邮件破坏了,但我的问题是它没有发送更正确的格式,我也希望发送正文,但它只是像这样发送“主题”我的配置

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="StaticMail"
       transports="http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <property name="senderAddress"
                   expression="//mail/text()"
                   scope="default"/>
         <property name="Subject" value="Alert:Reading Out of Range" scope="transport"/>
         <property name="message" value="Response message" scope="transport"/>
         <property name="body" expression="//list/text()" scope="default"/>
         <header name="To"
                 expression="fn:concat('mailto:', get-property('senderAddress'))"/>
         <property name="OUT_ONLY" value="true"/>
         <log level="full">
            <property name="message" value="Response message"/>
            <property name="Sender Address" expression="get-property('senderAddress')"/>
         </log>
         <send/>
      </inSequence>
      <outSequence/>
   </target>
</proxy>

但它的发送邮件格式只有这样

警告:作为主题阅读超出范围,没有人可以接收邮件,并且有一个带有“noname”的空附件我们如何发送具有适当正文的邮件,请告诉我

4

1 回答 1

6

您可以使用 Script Mediator 执行此操作,示例如下

这是另一个示例,它将错误消息作为电子邮件正文和错误代码作为主题发送。这里使用有效负载工厂而不是脚本中介。

<faultSequence>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="ErrorCode" expression="get-property('ERROR_CODE')" scope="default" type="INTEGER"/>
     <property name="ErrorMessage" expression="get-property('ERROR_MESSAGE')" scope="default" type="STRING"/>         
     <property name="messageType" value="text/html" scope="axis2"/>
     <property name="ContentType" value="text/html" scope="axis2"/>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="Subject" expression="$ctx:ErrorCode" scope="transport"/>
     <payloadFactory>
        <format>
           <ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">$1</ns:text>
        </format>
        <args>
           <arg expression="$ctx:ErrorMessage"/>
        </args>
     </payloadFactory>
     <property name="OUT_ONLY" value="true"/>
     <send>
        <endpoint>
           <address uri="mailto:youremail@gmail.com"/>
        </endpoint>
     </send>
  </faultSequence>
于 2013-07-15T11:46:04.050 回答