2

現在、MFMailComposerを使用してHTMLメールを作成しています。背景色などはすべて正常に機能しており、オンラインURLの下にある画像をインラインで埋め込むこともできます。しかし、ローカルに保存されたUIImageを埋め込みたい場合、すべてが台無しになります。したがって、データをbase64に変換し、次のようにimage-tagを使用します

<img src='data:image/png;base64,%@'>

デバイスのプレビューではすべてが正しく表示されますが、メールアプリのコンピューターにはプレースホルダーの疑問符の画像しかありません。メールの送信元を表示すると、送信されているように見えます。

<img src="cid:(null)">

また、base64でエンコードされたデータをデバイスに正常に記録することができますが、サーバーに到達したり、そこからサーバーに到達したりすることはできません。画像をメールの最後ではなくインラインにする必要があるため、画像を添付することは解決策ではありません:(

アップデート:

画像をHTMLインラインに埋め込むために使用する行は次のとおりです。

[body appendFormat:@"<p><b><img src='data:image/png;base64,%@'/></b></p>",[[NSData dataWithData:UIImagePNGRepresentation([dict objectForKey:@"graphImage"])] base64EncodedString]];
4

3 に答える 3

1

インライン画像を埋め込むことはできません(私はこの問題に何日も費やしました)。

ああ、どうだったらいいのに……。

于 2012-03-12T09:35:56.933 に答える
0

以下を使用していますか?

NSString *emailBody = [NSString stringWithFormat:@"<img src='data:image/png;base64,%@' alt='testing' />",base64String];
[picker setMessageBody:emailBody isHTML:YES];
于 2012-03-08T18:35:39.773 に答える
0

可能です。iOSに重大な変更がありました。base64データで許可される「新しい行」はありません。

このスレッドを参照してください:郵送時にBase64HTML埋め込み画像が表示されない

于 2015-05-03T20:29:19.973 に答える