画像が埋め込まれた HTML 形式の電子メールを送信するアプリケーションがあります。電子メールは、さまざまなデスクトップ/Web クライアントで完璧に見えます。HTML メールをサポートする携帯電話 (iPhone、WinMo 6.1 でテスト済み) でメールを表示すると、画像は赤い「X」として表示されます。他のすべての HTML は正しく表示されています。明確にするために、この問題はモバイル クライアントでのみ発生しており、デスクトップ クライアントでは発生していません。
画像を埋め込むコードは完全に機能しており、問題はないと思いますが、念のため以下にいくつかの簡単なサンプル コードを含めました。
MailMessage mail = new MailMessage();
mail.To.Add("123@myemail.com");
mail.From = new MailAddress("456@ myemail.com");
mail.Subject = "Image sample - fails in mobile clients";
string Body = "Sample email text<img src=\"cid:imageId\" />";
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");
LinkedResource lr = new LinkedResource("myImage.jpg");
lr.ContentId = "imageId";
htmlView.LinkedResources.Add(lr);
mail.AlternateViews.Add(htmlView);
SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(mail);
埋め込み画像がモバイル クライアントに表示されない理由を知っている人はいますか? さらに良いことに、画像を正しく表示するにはどうすればよいですか?
編集: Outlook 2007 (およびそれ以降) が画像付きの電子メールを送信する場合、画像はモバイル クライアントとデスクトップ クライアントで正しく表示されます。HTML 形式の電子メールに画像が埋め込まれて送信された場合、画像はモバイル クライアントでは正しく表示されませんが、デスクトップ クライアントでは正しく表示されます。
Outlook は、自信を持って表示される画像を含む電子メールを送信できますが、(埋め込み画像を使用して) Web アプリを介して送信すると、モバイル クライアントは画像をブロックします。2つの違いは何ですか?