2017-02-15 21 views
1

iOSデバイス(Xamarinを使用)から画像を電子メールの本文に埋め込んだHTML形式で電子メールを送信しようとしています。私はiOSのメールクライアントに適切に写真を見ることができます上記のコードを使用してXamarin.iOSを使用してHTMLメールに画像を埋め込む

NSData ImgData = UIImage.FromFile(FileName).AsJPEG(); 
string img64baseStr = ImgData.GetBase64EncodedString(NSDataBase64EncodingOptions.None); 
string srcStr = string.Format("data:image/jpg;base64,{0}", img64baseStr); 

:私はオンラインで見つける

いくつかのソリューションはここに示したものと同様のアプローチを使用することをお勧めします。しかし、電子メールが送信されると、受信側で画像が表示されません。 このアプローチには他にも欠点がありますが、私はこの時点でより詳細にそれらに入ることを避けることができます。

私はまた、画像をプロジェクトのリソースとして使用しようとしました。私はこの形式でHTMLで画像を直接参照する場合ただし、:

<img src="Pic1.png" width="700" height="500" alt=""/> 

結合が破壊された電子メールは、画像が欠落しています。

HTMLのメールでリソースイメージを正しく参照するにはどうすればよいですか?

+1

実装に間違いがあるかどうかを確認するには、いくつかのコードを共有する必要があります。結局のところ、電子メールを送信する方法は複数あります。 – hankide

+2

[iOSの電子メールのHTML本文にイメージを埋め込む方法]の複製があります。(http://stackoverflow.com/questions/10397775/how-to-embed-an-image-in-the-html-body -y-email-in-ios) – SushiHangover

+2

@SushiHangover可能かもしれないが、その質問にはXamarinの例や答えはない。 – JAL

答えて

1

セキュリティ上の理由から、データオブジェクトをbase64文字列に変換するアプローチは、ほとんどの電子メールクライアントで廃止されており、電子メールクライアントはこのように到着したDada URIをブロックするようです。

私は物事が私のために働いていなかった理由を理解するのに役立つことには、以下のリンクに掲載問題が見つかりました:

base64 encoded images in email signatures

は、具体的に@ Shadow2531により投稿の回答を参照し、それに続く議論。

最後に、NuGetで利用可能なMailKitパッケージを使用して、私が望んでいたことを達成することができました。 パッケージにはかなり包括的なドキュメントがあります。具体的に、このページを見て、私が解決しようとしていた問題について:

http://www.mimekit.net/docs/html/CreatingMessages.htm

幸運。

+0

ありがとう!多くの助けになります! – KingsInnerSoul

関連する問題