[解決済み] htmlメールに画像を埋め込む
質問
gif 画像を埋め込んだ multipart/ 関連 html メールを送信しようとしています。 この電子メールは、Oracle PL/SQL を使用して生成されています。 私の試みは失敗し、画像は赤い X として表示されました (Outlook 2007 と yahoo メール)。
私はしばらくの間、html メールを送信していましたが、私の要件は、メール内でいくつかの gif 画像を使用することです。 これらを Web サーバーの 1 つに保存してリンクするだけでよいのですが、多くのユーザーのメール クライアントはそれらを自動的に表示しないため、設定を変更するか、各メールごとに手動でダウンロードする必要があります。
そこで、私の考えは、画像を埋め込むことです。 質問は以下のとおりです。
- 私はここで何が間違っているのですか?
- 埋め込みの方法は正しいのでしょうか?
- もっと多くの画像を使用する必要がある場合、他の選択肢はありますか? 画像は通常、ロゴやアイコンであり、メッセージの文脈からは意味をなさないので、添付はうまくいきません。 また、電子メールの一部の要素はオンライン システムへのリンクなので、静的な PDF を生成して添付してもうまくいきません (私の知る限りでは、とにかく)。
のスニペットです。
MIME-Version: 1.0
To: [email protected]
BCC: [email protected]
From: [email protected]
Subject: Test
Reply-To: [email protected]
Content-Type: multipart/related; boundary="a1b2c3d4e3f2g1"
--a1b2c3d4e3f2g1
content-type: text/html;
<html>
<head><title>My title</title></head>
<body>
<div style="font-size:11pt;font-family:Calibri;">
<p><IMG SRC="cid:my_logo" alt="Logo"></p>
... more html here ...
</div></body></html>
--a1b2c3d4e3f2g1
Content-Type: image/gif;
Content-ID:<my_logo>
Content-Transfer-Encoding: base64
Content-Disposition: inline
[base64 image data here]
--a1b2c3d4e3f2g1--
ありがとうございます。
ところで:はい、私はhtml自体に画像を埋め込むことができ(ヘッダーデータを作成するために使用する同じアルゴを使用して)、Firefox / IEで画像を参照してください、私はbase64データが正しいことを確認しました。
また、これはスパム用ではなく、メールは毎日期待している特定のクライアントに送信されることに留意すべきです。 コンテンツはデータ駆動型であり、広告ではありません。
どのように解決するのですか?
直接挿入してみてください。この方法では、メール内のさまざまな場所に複数の画像を挿入することができます。
<img src="data:image/jpg;base64,{{base64-data-string here}}" />
そして、この投稿が他の人にとっても有益なものになるように。 もし、base64-dataの文字列を持っていない場合は、以下で簡単に作成することができます。 http://www.motobit.com/util/base64-decoder-encoder.asp で画像ファイルから簡単に作成できます。
メールのソースコードはこのような感じですが、この境界線が何のためにあるのかはわかりません。
To: [email protected]
Subject: ...
Content-Type: multipart/related;
boundary="------------090303020209010600070908"
This is a multi-part message in MIME format.
--------------090303020209010600070908
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body bgcolor="#ffffff" text="#000000">
<img src="cid:part1.06090408.01060107" alt="">
</body>
</html>
--------------090303020209010600070908
Content-Type: image/png;
name="moz-screenshot.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.06090408.01060107>
Content-Disposition: inline;
filename="moz-screenshot.png"
[base64 image data here]
--------------090303020209010600070908--
//EDIT: そういえば、thunderbirdでメールを書くために、私の投稿の最初のコードスニペットを挿入すると、thunderbirdは自動的にhtmlコードを私の投稿の2番目のコードとほとんど同じに見えるように変更することに気づきました。
関連
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] IMGとCSSのbackground-imageはいつ使い分ける?
-
[解決済み] JavaScriptで画像データのURLを取得する?
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ローカルリソースのロードが許可されていない問題を解決する
-
document.forms 使用方法
-
[解決済み] Bootstrap 3.3.7で改行する方法
-
[解決済み] CSS - カーソルを置いたときに塗りつぶしの色を変更する - SVG PATH
-
[解決済み] HTMLのテーブルからボーダーを完全に削除する方法
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] HTMLの "role "属性は何のためにあるのですか?
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] label要素の中にinput要素を入れるべきですか?
-
[解決済み] メモ帳++でXML/HTMLを自動整形/インデントする方法