現在、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]];