質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

1381閲覧

【Google Apps Script】メール一斉送信、Gmail内の画像のインライン表示方法

kurojiji

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/02/12 11:03

編集2021/02/12 11:19

メールの一斉送信システムを作成しているのですが、
スプレッドシートに名前、メールアドレスリストを作成し、
指定したドキュメント内のテキストを自動で送るよう設定はできたのですが、
ドキュメント内画像をインラインで表示しようとしたところ、
Exception: Cannot retrieve the next object: iterator has reached the end.
と、イテレータのエラーが出ます。
画像はグーグルドライブにファイル"test"を作っており、その中に.jpgで保存しております。
画像は全部で7枚あり、各所に表示させたいです。

どこを直せば良いのか、また具体的なコードも書いていただけると助かります。

初心者で色々と間違っているところもあると思いますが宜しくお願い致します。

function myFunction() {
var SheetName=SpreadsheetApp.getActiveSheet();
var SheetRow=SheetName.getDataRange().getLastRow();

 var docMail=DocumentApp.openById("ドキュメント");
var strDoc=docMail.getBody().getText();

var driveImage = DriveApp.getFilesByName("test").next();

 var strSubj="タイトル"; //タイトル
var strFrom="info@〇〇.jp"; //Fromのアドレス
var strSend="株式会社〇〇"; //差出人の名前

 for(var i=2;i<=SheetRow;i++){

  var strComp=SheetName.getRange(i,1).getValue();
var strName=SheetName.getRange(i,2).getValue();
var strToAd=SheetName.getRange(i,3).getValue();

  var strBody=strDoc.replace(/{社名}/,strComp).replace(/{担当者名}/,strName);

  GmailApp.sendEmail(
strToAd,
strSubj,
htmlBody, '<img src="cid:image1"><img src="cid:image2"><img src="cid:image3"><img src="cid:image4"><img src="cid:image5"><img src="cid:image6"><img src="cid:image7"><br/><img src="cid:test">',
inlineImages, {
image1: image.getBlob(),
image2: image.getBlob(),
image3: image.getBlob(),
image4: image.getBlob(),
image5: image.getBlob(),
image6: image.getBlob(),
image7: image.getBlob(),
test: driveImage.getBlob()
},
from, strFrom,
name,strSend
);

}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2021/02/15 00:59

>画像はグーグルドライブにファイル"test"を作っており、その中に.jpgで保存しております。 となってますが、ファイルとフォルダを混同してませんか?コードの方も同様です。 >また具体的なコードも書いていただけると助かります やりたいこととご自身の現状のスキルに差がありすぎるのであれば、GASでやらずにHTMLメールが送れるメルマガサービスを使った方がいいです。GASでメルマガ作ると制限多いですし。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問