のドキュメントでsendEmail(message)
は、2 つのロゴをインライン画像としてメールに追加する方法を示しています。
これは、テキスト ブロックの先頭にロケール フラグを追加する Google の例からの適応です。クリエイティブ コモンズの下で自由にライセンスされているウィキメディアの画像を使用しています。

これがどのように機能するかの鍵は次のとおりです。
<img>
電子メール本文のHTMLタグは、src='cid:[name]'
添付された画像を参照するために使用されます。これらはContent-ID Universal Resource Locator で、マルチパート電子メール メッセージの一部を参照します。
- タグでインライン
style
を使用<img>
して、メール クライアントにタグの表示方法を伝えることができます。たとえば、添付の画像を拡大縮小しました。(注: 必要な正確なサイズのカスタム イメージを使用する方が無駄が少なくなります。)
メールが送信用にエンコードされると、添付された各画像は、オブジェクトで指定した でラベル付けされた独自の部分になります。このオブジェクトは、メソッドの高度なパラメーター オブジェクトの一部です。cid
inlineImages
sendMail()
ここでは、2 つcid
の と がnlFlag
あり、それぞれがファイルfrFlag
に関連付けられています。Blob
inlineImages:
{
nlFlag: nlFlagBlob,
frFlag: frFlagBlob
}
ファイル BLOB はさまざまな方法で取得できます。ここではUrlFetchApp.fetch()
、WikiMedia からバイナリ イメージを取得し、それらを BLOB に変換して、添付する BLOB の名前を設定しました。
コード:
/**
* Example of sending an HTML email message with inline images.
* From: http://stackoverflow.com/a/37688529/1677912
*/
function sendInlineImages() {
var mailaddress = Session.getActiveUser().getEmail();
var subject = "test inline images";
var bodyNL = "This is <B>DUTCH</B> text.";
var bodyFR = "This is <B>FRENCH</B> text.";
// Image URLs, under CC license
var nlFlagUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Flag_of_the_Netherlands.png/320px-Flag_of_the_Netherlands.png";
var frFlagUrl = "https://upload.wikimedia.org/wikipedia/en/thumb/c/c3/Flag_of_France.svg/320px-Flag_of_France.svg.png";
// Fetch images as blobs, set names for attachments
var nlFlagBlob = UrlFetchApp
.fetch(nlFlagUrl)
.getBlob()
.setName("nlFlagBlob");
var frFlagBlob = UrlFetchApp
.fetch(frFlagUrl)
.getBlob()
.setName("frFlagBlob");
// Prepend embeded image tags for email
bodyNL = "<img src='cid:nlFlag' style='width:24px; height:16px;'/>" + bodyNL;
bodyFR = "<img src='cid:frFlag' style='width:24px; height:16px;'/>" + bodyFR;
// Send message with inlineImages object, matching embedded tags.
MailApp.sendEmail(mailaddress, subject, "",
{ htmlBody: bodyNL + "<BR/><BR/>" + bodyFR,
inlineImages:
{
nlFlag: nlFlagBlob,
frFlag: frFlagBlob
}
});
}