2011-07-07 11 views
8

MFMailComposerを使用してメールで画像を送信しています。画像をBase64に変換し、<img>タグを使用してHTMLボディに画像を追加します(添付ファイルとして追加していません)。<img>でMFMailComposerがメールに画像を表示していないのはなぜですか?

[htmlString appendFormat: 
@"<img src='data:image/png;base64,%@' width=300 height=200 />", imageAsBase64]; 

画像がMFMailComposerで正しく表示されますが、MFMailComposerから送信された実際のメールに表示される画像はありません。

動作させるにはどうしたらよいですか?

+2

:MFMailcomposerあなたはPDFが動作するように...これを試してみて、あなたのカードを使ってPDFファイルを置き換える奇妙なアイテムを得るためにあなたの余分な添付ファイルと一緒に画像を送信するために持っているのバグを持っていますあなたは電子メールを表示するために使用していますか? – Joe

+0

@Deepmist、うん。返事が遅れて申し訳ありません。私は私のiMacでSafariを使用しています – EmptyStack

答えて

5

私は数週間前に同じ問題を抱えていました.Gmailが埋め込み画像をサポートしていないことを知りました。ドメインのメールのような他のメールプロバイダでは、メールにある画像をメールで見ることができますが、Gmailでは表示されません。

別のメールを送信しようとすると、画像が表示されます。画像を添付ファイルとして追加する必要があります。画像が表示され、メール本体の下部が表示されます。

このヘルプが必要です。

+0

うわー!すばらしいです。私のYahooメールに画像が表示されます。ありがとうございました! Gmailに画像を表示するための他の回避策はありませんか?唯一の例外ですか、この場合は画像を表示しない他のメールサーバーがありますか? – EmptyStack

+0

私は他人についてはあまりよく分かりませんが、Gmailではうまく機能せず、自分のメールサーバーにチェックインして機能していました。だから私はGmailを除いて、それはすべてで動作するはずだと思います。 – Deeps

+0

よろしくお願いします。ありがとう!私は本当にあなたの助けに感謝します! – EmptyStack

0

添付ファイルとして画像を追加する必要があります。 HTMLで表示されるレンダリングされた電子メールは、欠落しているイメージURLで正しくレンダリングされません。

ここに例があります:PDFのようなものを含める場合は、イメージを含める必要があります。それ以外の場合は、mfmailcomposerが失敗します。これはリンゴのバグです。

私は解決策を見つけました...アップルレーダーにバグを提出しました。どのようなものがあり

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
NSString *emailSubject = [NSString localizedStringWithFormat:@"MedicalProfile"]; 
[controller setSubject:emailSubject]; 


NSString *fileName = [NSString stringWithFormat:@"%@.pdf", profileName]; 
NSString *saveDirectory = NSTemporaryDirectory(); 
NSString *saveFileName = fileName; 
NSString *documentPath = [saveDirectory stringByAppendingPathComponent:saveFileName]; 

*** YOU MUST INCLUDE AN IMAGE OR THE PDF ATTATCHMENT WILL FAIL!!!*** 
// Attach a PDF file to the email 
NSData *pdfData = [NSData dataWithContentsOfFile:documentPath];  
[controller addAttachmentData:pdfData mimeType:@"application/pdf" fileName:fileName]; 


// Attach an image to the email 
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"miniDoc" ofType:@"png"]; 
NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; 
[controller addAttachmentData:imageData mimeType:@"image/png" fileName:@"doctor"]; 


[controller setMessageBody:[NSString stringWithFormat:@"%@'s Medical Profile attatched!", profileName] isHTML:NO]; 

[self presentModalViewController:controller animated:YES]; 
controller.mailComposeDelegate = self; 
[controller release]; 
関連する問題