пустая полезная нагрузка при получении писем в формате HTML с изображением в теле и вложением MULE - PullRequest
0 голосов
/ 12 января 2019

Я использую разъем imap, он работает нормально во всех сценариях, но когда электронное письмо отправлено с изображением в теле и вложением, я получаю пустую полезную нагрузку от прослушивателя imap. если я отправляю электронное письмо с изображением в теле и без вложений, изображение сохраняется как отдельный файл, а содержимое в теле - как отдельный файл.

Кто-нибудь сталкивался с такой же проблемой или кто-нибудь может предоставить исправление?

даже пробовал disableTransportTransformer="true в разъеме imap не работает

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:imap="http://www.mulesoft.org/schema/mule/imap"
    xmlns:email="http://www.mulesoft.org/schema/mule/email"
    xmlns="http://www.mulesoft.org/schema/mule/core"
    xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/imap http://www.mulesoft.org/schema/mule/imap/current/mule-imap.xsd
http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/current/mule-email.xsd">
    <imap:connector name="IMAP_Security"
        validateConnections="true" doc:name="IMAP"/>
    <email:email-to-string-transformer mimeType="text/html" name="Email_to_String" doc:name="Email to String" encoding="UTF-8"/>
    <flow name="emailprocessorFlow">
        <imap:inbound-endpoint host="localhost" port="143" connector-ref="IMAP_Security" responseTimeout="10000" disableTransportTransformer="true" doc:name="IMAP" transformer-refs="Email_to_String" encoding="UTF-8"/>
        <logger message="initial payload## #[message.payloadAs(String)]" level="INFO" doc:name="Logger"/>
        <set-variable variableName="sender" value="${poller}" doc:name="poller"/>
        <set-variable variableName="inbox" value="${username}" doc:name="email User Name"/>
        <base64-encoder-transformer name="Base64-Encoder-Transformer_Headers"
            doc:name="Headers Base64 Encoder" encoding="utf-8">
        </base64-encoder-transformer>
               </flow>
</mule>

тело письма должно быть извлечено через

1 Ответ

0 голосов
/ 21 июля 2019

Изображение, скорее всего, другое вложение, а не тело. Попробуйте перебрать вложения и записать информацию о сообщении, чтобы подтвердить его:

<foreach collection="#[message.inboundAttachments]" doc:name="ForEach">
   <logger />
</foreach>
...