2

OpenERP で電子メール テンプレートを使用して画像を送信する必要がありますが、gmail、yahoo に画像を挿入する機能があり、ここでも stackoverflow.com にあるのと同じように挿入する必要があります。

このような画像を送信する必要があるのは、メールが開いているときにテキストとともに表示される必要があるためです。

添付ファイルを使用して送信すると、画像をダウンロードした直後に表示される添付ファイルに含まれます。このダウンロードオプションは必要ありません。必要なのはオープンイメージです。

前もって感謝します !

4

3 に答える 3

7

電子メール内に画像を埋め込む一般的な方法は 3 つあります (複雑になる順に): パブリック URL を使用する方法、データ URI を使用してsrc属性内の画像データをインライン化する方法、および電子メールに添付された画像を使用する方法です。3 つのケースすべてで、通常の HTML 手法を使用して、OpenERP 電子メール テンプレートの HTML/Rich-Text 本文にそれらを含めることができます。たとえば、<img src="..."/>タグや CSSbackground-imageプロパティを使用します。OpenERP の電子メール テンプレートですぐに使用できるのは、最初の 2 つの手法だけです。

1. ホストされたイメージの使用

画像の URL は、Web サイトの公開 URL またはインターネット上の任意の画像ホスティング サービスにすることができます: <img src="http://www.example.com/myimage.png">. これは、画像が最初に自動的にimgur.comimg srcにアップロードされ、属性が imgur.com にアップロードされた画像の URL を参照するため、stackoverflow に画像を埋め込むときに起こることと非常によく似ています。

これは機能しますが、最近ではほとんどの電子メール クライアント (サンダーバード、gmail、Outlook など) がリモート画像をブロックします。メールが開封されました)。通常、これらのリモート画像を表示するには、受信者がバナーまたは警告をクリックする必要があります。

これは、OpenERP の電子メール テンプレートですぐに使用できる唯一の手法です。

2. データ URI を使用して画像データをインライン化する

タグのsrc属性は、データ URI ( RFC 2397 ) スキームを使用して、画像のバイナリ ソースをインラインで含めることができます。画像タグは次のようになります。img

<img src="data:mime-type;encoding,<encoded_image_data>"/>

PNG 画像の場合、これは次のようになります。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."/>

この手法は OpenERP 電子メール テンプレートに使用でき、電子メール クライアントによってブロックされるという欠点はありません。ただし、画像を手動で base64 [A]に変換する必要があります。これにより、テンプレートと送信メールのサイズも大幅に増加し、いくつかの制限があります (最大の互換性が必要な場合は最大 32KB など)。

[A] :変換を行う簡単な方法が必要な場合は、Google の「オンライン base64 ファイル エンコーダー」

3. 添付画像の使用 (現在 OpenERP ではサポートされていません)

RFC 2111は、メッセージの本文部分が URL を使用して他の本文部分を参照する方法を指定しcid:ます。たとえばimg src、電子メール内の属性は、添付ファイルの 1 つを参照できます。技術的には、imgタグは次のようになります。

<img src="cid:some_unique_content_id/>

ここsome_unique_content_idで、画像を含むメッセージ パーツの Content-ID です。これは、最終的な (生の) 電子メールでは次のようになります。

------=_NextPart_WHATEVER_ID
Content-Type: image/jpeg;
    name="image.jpg"
Content-Transfer-Encoding: base64
Content-ID: <some_unique_content_id>
Content-Disposition: inline;
    filename="image.jpg"

/9j/4AAQ...continuation_of_the_base64_encoded_image

この手法には、電子メール クライアントによってブロックされるという欠点もありませんが、各添付ファイルに を具体的に割り当てる必要があるため、実装がより複雑になりますContent-ID。また、ネットワーク上で送信される最終的な電子メールは、実際の画像。

これは現在 OpenERP では利用できませんが、実装するのはそれほど難しくありません。簡単な方法の 1 つは、電子メール レイヤーによって最終的なメールが作成されるときに、連続した Content-ID 識別子をすべての添付ファイル (例: ) に自動的attachment_1に割り当てることです。添付ファイル。attachment_2cid

于 2012-11-22T09:56:54.627 に答える
1

これはHTMLメールに画像を埋め込むのに役立つかもしれません

これはopenerp関連の問題ではないと思いますが...

于 2012-11-22T08:45:43.530 に答える