2017-06-28 11 views
0

SMTPコネクタを使用してMuleにcsv添付ファイルを含む電子メールを送信しています。Muleで電子メールの添付ファイルを送信しています - なぜペイロードの添付ファイルを取得しますか

Muleから生成された電子メールには2つの添付ファイルがあります。

最初はPayloadという名前のファイルです。 2番目は明示的に追加したファイルですmyFile<date>.csv

Payload添付ファイルを削除するにはどうすればよいですか?私の理解から、ペイロードファイルにあるものは電子メールの内容として現れるはずです。しかしそれは起こっていることではなく、代わりに添付ファイルとして現れています。

ここでは、電子メールを送信するサブフローの外観を示します。到着するペイロードはcsvです。

<sub-flow name="paymentReconSendMailSubFlow"> 
    <set-attachment attachmentName="myFile-#[server.dateTime.format(&quot;yyyyMMddHHmmss&quot;) + '.csv']" value="#[payload]" contentType="application/csv" doc:name="Attachment"/> 
    <set-payload doc:name="Set Payload" value="#[null]"/> 
    <smtps:outbound-endpoint host="${smtp.host}" port="${smtp.port}" user="${smtp.username}" password="${smtp.password}" connector-ref="SMTP" to="${smtp.toAddress}" from="${smtp.fromAddress}" subject="BLAH" replyTo="${smtp.replyToAddress}" responseTimeout="10000" mimeType="text/html" doc:name="SMTP"/> 
</sub-flow> 

ここに私の受信トレイがあります。

enter image description here

答えて

1

ミュールはまだので、あなたのヌルペイロードがCSVであると考え、アプリケーション/ csvファイルに設定されたメッセージのペイロードのコンテンツ・タイプを持っているように見えます。 set-payload要素にmimeType = "text/plain"を追加してみてください

+0

感謝を送信する前に、ファイルの直列化されている場合は、私たちを知ってみましょう。これは私を困惑させます。私はそれを疲れました。私はまだ同じ結果を得る。変化なし。 – Richie

+0

だから私はその問題が何かを知りました。それはここで答えられたものなので、私はこれを答えにします。 smtp config(set-payloadではなく)のmimeTypeでした。 – Richie

0

添付する前にcsvファイルをバイト配列にシリアル化しようとしてください。例えば

<file:inbound-endpoint path="${output.folder}" doc:name="File"/> 
    <file:file-to-byte-array-transformer doc:name="File to String"/> 
    <set-attachment value="#[message.payload]" contentType="application/csv" 
    attachmentName="#['myfile.csv']" 
    doc:name="Attachment" /> 

は作業と問題が答えるため

関連する問題