用Delphi 6我用下面的行使用IMAP電子郵件附加到發送文件夾:附加電子郵件丟失使用印IMAP和Delphi XE2發件人,主題,收件人
if IMAPClient.Connected then begin
IMAPClient.AppendMsg(EMAIL_SENT_FOLDER, TheMessage, TheMessage.Headers, [mfSeen]);
end;
如果電子郵件已經像一個附件只有PDF格式的正文文本會被保存,並且沒問題。發件人,收件人和主題也如預期那樣正常。
在Delphi XE2中使用相同的代碼行,Indy 10附帶PDF附件的電子郵件讓我在發送的文件夾中收到一封電子郵件,沒有主題,沒有發件人,也沒有收件人,電子郵件正文是base64編碼的亂碼。
這是MIME格式的多部分消息
--IstrI1aZj8jaD7S1JQXJK8dreduqQL = _Kv 內容類型:文本/無格式內容 傳送編碼:引號的可打印 內容處置:直列
測試電子郵件主體與附件
--IstrI1aZj8jaD7S1JQXJK8dreduqQL = _Kv 內容類型:應用/ PDF; name =「87122F343A2A49E48B22BD24376524FC.pdf」 Content-Transfer-Encoding:base64 Content-Disposition:attachment; 文件名= 「87122F343A2A49E48B22BD24376524FC.pdf」
JVBERi0xLjQNCiXi48/TDQoxMSAwIG9iag0KPDwNCi9UeXBlL0Fubm90L0JvcmRlciBbXS9IL0kv - 臺64東西去掉 -
編輯 - 其實我追加到發送文件夾的任何電子郵件不具有主題,發件人,收件人也沒有。如果沒有附件,身體大部分都可以,但是在身體後面有兩行錯誤的時期。
電子郵件正文測試
。
這裏真正的問題是缺少使用IMAP附加到發送文件夾的任何電子郵件中的發件人,主題或收件人。
在我看來,我需要做一些與更新的Indy組件不同的東西,但我似乎無法弄清楚我需要做什麼。
任何意見表示讚賞。
乾杯! TJ
如果您要使用相同的郵件標題,則不必重新包含標題。調用超載:IMAPClient.AppendMsg(EMAIL_SENT_FOLDER,TheMessage,[mfSeen]); – jachguate
也許你想閱讀[Remy的回覆](http://stackoverflow.com/a/8232252/255257)。注意NoEncode/NoDecode提到的黑客攻擊,因爲它可能是解決您的問題的方法。 – jachguate