teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

MailApp.sendEmail の引数の誤りについて追記

2021/02/18 22:16

投稿

draq
draq

スコア2577

answer CHANGED
@@ -7,9 +7,14 @@
7
7
  `attachment`ではなく`attachments`(最後の`s`が必要)、渡す値は`BlobSource[]`(配列)です。
8
8
  複数渡したければループ内で配列にBlobを追加してループ終了後にoptionsを作成してください。
9
9
 
10
+ また `options` を引数にわたすオーバーロードとは引数の渡し方を誤っています。
11
+
10
- > sendEmail(recipient, subject, body, options)
12
+ > 1. sendEmail(recipient, subject, body, options)
11
13
  > [https://developers.google.com/apps-script/reference/mail/mail-app#sendemailrecipient,-subject,-body,-options](https://developers.google.com/apps-script/reference/mail/mail-app#sendemailrecipient,-subject,-body,-options)
12
14
 
15
+ > 2. sendEmail(message)
16
+ > [https://developers.google.com/apps-script/reference/mail/mail-app#sendemailmessage](https://developers.google.com/apps-script/reference/mail/mail-app#sendemailmessage)
17
+
13
18
  ```JavaScript
14
19
  var images = [];
15
20
  var itemResponses = e.response.getItemResponses();
@@ -24,9 +29,11 @@
24
29
  //(省略)
25
30
  }
26
31
 
27
- var options = {
32
+ //オーバーロード1なら
28
- attachments: images,
33
+ var options = { attachments: images };
29
- };
34
+ MailApp.sendEmail(to, subject, body, options);
30
35
 
36
+ //オーバーロード2なら
31
- MailApp.sendEmail({ to: to, subject: subject, body: body, options: options });
37
+ var message = { to: to, subject: subject, body: body, attachments: images };
38
+ MailApp.sendEmail(message);
32
39
  ```