2012-01-27 12 views
5

ファイル私は(:データの変数名で):NSDataオブジェクトの内容を電子メールで送信するには、次のコードを使用していますのiOS:添付ファイル付きの電子メールを送信すると、別の添付ファイル(.txt)を追加し、自動的に

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 

[controller setSubject:@"Subject"]; 
[controller addAttachmentData:data mimeType:@"application/pdf" fileName:@"Attachment"]; 
[controller setMessageBody:@"Please find attached the connections for..." isHTML:NO]; 

controller.mailComposeDelegate = self; 
[self presentModalViewController:controller animated:YES]; 

添付ファイルとしてpdfとして生成されたUIViewを追加し、電子メールを送信します。

添付のpdfと一緒に電子メールを受信すると、内容が「送信済み」という別の.txtファイルがあります。私がpdfを添付しないと、電子メールの本文に「添付ファイル」の代わりに「送信済み」というメッセージが表示されます。

これを解決するにはどのような手がかりがありますか?私はメッセージにテキストファイルを添付したくありません。

よろしく、

ペタル

+0

こんにちは、この問題のアップデートや、私が参照できるAppleに報告されたバグはありますか? – Amit

答えて

4

それには、あなたが添付された電子メールを送信するとき、その中にすべてが混在/マルチパートメッセージとして包まれ、すべてがBase64でとしてエンコードされているようですメッセージ本文と署名!だから、このようになります...

Content-Type: multipart/mixed; 
    boundary="_003_81E0DB72B1F643FBAA40D9BCB66A11E4_" 

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 
Content-Type: text/plain; charset="utf-8" 
Content-Transfer-Encoding: base64 

SGkgTW9tIQ== 

(つまり、Base64でとしてエンコード"Hi Mom!"です)

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 
Content-Type: application/octet-stream; name="MyAttachment.xlsx" 
Content-Description: MyAttachment.xlsx 
Content-Disposition: attachment; filename="MyAttachment.xlsx"; size=15262 
Content-Transfer-Encoding: base64 

UEsDBBQABgAIAAAAIQA3Mb2RgAEAAIQFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC 

スニップ

AF81AABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAANAA0AaAMAACA4AAAAAA== 

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_ 

Content-Type: text/html; name="ATT00001.htm" 
Content-Description: ATT00001.htm 
Content-Disposition: attachment; filename="ATT00001.htm"; size=91 
Content-Transfer-Encoding: base64 

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj48L2Rpdj48ZGl2Pjxicj48YnI+U2VudCBmcm9tIG15IGlQYWQ8L2Rpdj48L2JvZHk+PC9odG1sPg== 

(つまり、Base64でのように <html><body bgcolor="#FFFFFF"><div></div><div><br><br>Sent from my iPad</div></body></html> です)

--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_-- 

[設定] >> [メール]、[連絡先]、[カレンダー]に移動して署名を消去しても、空のHTMLドキュメントが添付されます。

適切な長期的な答えはおそらく、これをAppleにバグとして提出して待つことでしょう。その間に、これが本当にshowstopperのバグなら、署名なしであなた自身がmultipart/mixedメール本体全体を生成し、そのメールが添付ファイルを持っていないと思ってしまうのを欺くかどうかを確認することをお勧めします。個人的には、私はちょうど私の顧客にそれと一緒に暮らすように言うつもりだと思う。 :)

+0

こんにちは、この問題のアップデートや、私が参照できるAppleに報告されたバグはありますか? – Amit

関連する問題