WSO2 EI 6.5.0发送带有附件的电子邮件

问题描述

我需要通过WSO2 EI 6.5.0将pdf / png / jpeg文件发送到电子邮件

我有一个代理人

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="EmailService"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <log level="custom">
            <property name="[EmailService] Initialize" value="SendMailSequence"/>
         </log>
         <property name="Subject" scope="transport" value="WSO2 EI Testing"/>
         <property name="transport.mail.bodyWhenAttached"
                   scope="axis2"
                   value="This text will appear in body"/>
         <property name="enableMTOM" scope="axis2" type="STRING" value="true"/>
         <log level="custom">
            <property expression="/" name="[EmailService] Before Send"/>
         </log>
         <property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
         <property name="OUT_ONLY" value="true"/>
         <property name="messageType"
                   scope="axis2"
                   type="STRING"
                   value="multipart/form-data"/>
         <send>
            <endpoint name="FileEpr">
               <address optimize="mtom" uri="mailtoOwn:listopadov_as@kk.bank"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence/>
   </target>
   <description/>
</proxy>
        

我正在尝试使用fiddler发送文件取款支票):

POST http://localhost:8280/services/EmailService HTTP/1.1
Content-Type: multipart/form-data; boundary=NewBoundary

--NewBoundary
Content-disposition: form-data; name="attachment"; filename="cheque.png"
Content-Type: image/png

<...binary data...>
--NewBoundary--

我在WSO2 EI 6.5.0控制台中得到了这个

[2020-09-07 16:24:19,136] []  INFO - LogMediator [EmailService] Initialize = sendMailSequence
[2020-09-07 16:24:19,138] []  INFO - LogMediator [EmailService] Before Send = <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><mediate><attachment filename="cheque.png">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</attachment></mediate></soapenv:Body></soapenv:Envelope>

结果是我得到了cheque.png文件,但由于内部数据是base64编码的,因此它已损坏,即使我手动对其进行解码并将解码后的数据插入文件中,该文件仍然损坏,因此我无法可以查看它。

我尝试了其他几个选项,并尝试将base64Decode放入有效负载中:

<payloadFactory media-type="xml">
            <format>
               <root>
                  <file filename="cheque.png">$1</file>
               </root>
            </format>
            <args>
               <arg evaluator="xml" expression="base64Decode(//*[local-name()='attachment']/text())"/>
            </args>
         </payloadFactory>

但是仍然没有帮助。

在WSO2 EI 6.5.0中如何通过电子邮件发送文件的工作示例请帮助我

设置了我的axis2 messageBuilders,并且取消了MailTransportSender的注释并且可以正常工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)