質問編集履歴
4
度々の編集になりますが、エラーが発生しました。。。。
test
CHANGED
File without changes
|
test
CHANGED
@@ -27,10 +27,11 @@
|
|
27
27
|
**⇨表示されなくなりました**
|
28
28
|
|
29
29
|
|
30
|
-
②Reference
|
31
|
-
at
|
32
|
-
|
33
|
-
|
30
|
+
②Exception: Request failed for https://api.sendgrid.com returned code 400. Truncated server response: {"errors":[{"message":"Additional property mail is not allowed.","field":"personalizations.0.mail","help":null},{"message":"Invalid type. Expected:... (use muteHttpExceptions option to examine full response)
|
31
|
+
at sendmail(センドグリッド送信:44:15)
|
32
|
+
at sendEmail(コード:226:3)
|
33
|
+
at form(コード:69:3)
|
34
|
+
※再度表示されるようになりました
|
34
35
|
|
35
36
|
手を加えながらのため、ここにあげたコードと行数が一致しないかもしれません。。。
|
36
37
|
```
|
3
誤字あったため変更しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -237,7 +237,7 @@
|
|
237
237
|
**---------ここからセンドグリッドAPI連携---------**
|
238
238
|
**//ここ変更しました**
|
239
239
|
**上記とは違う別のスクリプト内に書きました。**
|
240
|
-
function sendGridEmail(){
|
240
|
+
function sendGridEmail(mail, mailTitle, mailBody, option){
|
241
241
|
|
242
242
|
// SendGrid V3 Mail Send API を使って、メールを送信する ---
|
243
243
|
// スクリプトプロパティは、「プロジェクトの設定」->「スクリプトプロパティの追加」を行なう
|
@@ -247,7 +247,7 @@
|
|
247
247
|
|
248
248
|
|
249
249
|
// メール送信用スクリプト ---------------------------------
|
250
|
-
|
250
|
+
|
251
251
|
|
252
252
|
var body = {
|
253
253
|
personalizations: [
|
@@ -287,7 +287,7 @@
|
|
287
287
|
});
|
288
288
|
}
|
289
289
|
**//sendEmailBySendGrid( mail, mailTitle, mailBody, option);**
|
290
|
-
|
290
|
+
|
291
291
|
|
292
292
|
|
293
293
|
|
2
①173行目辺りsendEmail⇨sendGridEmail、 ②193行目辺りfunction sendEmail⇨function sendGridEmail エラーメッセ追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
・スプレッドシートのコンテナバインドから、センドグリッドを介してメールを自動送信したい
|
5
5
|
・できるだけ現状のコード改変は避けたい
|
6
6
|
|
7
|
+
|
7
8
|
### 前提
|
8
9
|
|
9
10
|
◯ここに質問の内容を詳しく書いてください。◯
|
@@ -22,12 +23,20 @@
|
|
22
23
|
```
|
23
24
|
①Exception: Request failed for https://api.sendgrid.com returned code 400. Truncated server response: {"errors":[{"message":"The to email parameter is required.","field":"personalizations.0.to.0.email","help":"http://sendgrid.com/docs/API_Reference/... (use muteHttpExceptions option to examine full response)
|
24
25
|
at sendEmail(無題:24:28)
|
26
|
+
※どの時に表示されたのかコードの記録がありません…
|
27
|
+
**⇨表示されなくなりました**
|
28
|
+
|
25
29
|
|
26
30
|
②ReferenceError: mail is not defined
|
27
31
|
at [unknown function](無題:35:11)
|
32
|
+
※sendEmailBySendGrid( mail, mailTitle, mailBody, option);を243行「}」に入れた時
|
33
|
+
**⇨表示されなくなりました**
|
28
34
|
|
29
35
|
手を加えながらのため、ここにあげたコードと行数が一致しないかもしれません。。。
|
30
36
|
```
|
37
|
+
③コメントいただき修正後、再度スクリプト実行したところ「完了」と表示されました。しかし、実際はメールが送信されておりませんでした。私のテストメールアドレスに受信メールがありません
|
38
|
+
※20240307 8:45現在
|
39
|
+
※function sendGridEmail~は別のスクリプトに記入しました。
|
31
40
|
|
32
41
|
### 該当のソースコード
|
33
42
|
|
@@ -204,7 +213,9 @@
|
|
204
213
|
}
|
205
214
|
}
|
206
215
|
//GmailApp.createDraft(mail, mailTitle, mailBody, option);
|
216
|
+
|
217
|
+
**//ここ変更しました**
|
207
|
-
sendEmail(
|
218
|
+
sendGridEmail( mail, mailTitle, mailBody, option);
|
208
219
|
//GmailApp.sendEmail( mail, mailTitle, mailBody, option);
|
209
220
|
}
|
210
221
|
|
@@ -223,20 +234,22 @@
|
|
223
234
|
console.log("ダミーのupdateForm()が呼ばれました。")
|
224
235
|
}
|
225
236
|
|
226
|
-
|
237
|
+
**---------ここからセンドグリッドAPI連携---------**
|
238
|
+
**//ここ変更しました**
|
239
|
+
**上記とは違う別のスクリプト内に書きました。**
|
227
|
-
function sendEmail(){
|
240
|
+
function sendGridEmail(){
|
228
241
|
|
229
242
|
// SendGrid V3 Mail Send API を使って、メールを送信する ---
|
230
243
|
// スクリプトプロパティは、「プロジェクトの設定」->「スクリプトプロパティの追加」を行なう
|
231
|
-
|
244
|
+
var scriptProperties = PropertiesService.getScriptProperties();
|
232
|
-
|
245
|
+
var SEND_GRID_ENDPOINT = scriptProperties.getProperty('SEND_GRID_ENDPOINT');
|
233
|
-
|
246
|
+
var SEND_GRID_API_KEY = scriptProperties.getProperty('SEND_GRID_API_KEY');
|
234
247
|
|
235
248
|
|
236
249
|
// メール送信用スクリプト ---------------------------------
|
237
|
-
|
250
|
+
var sendEmailBySendGrid = ( mail, mailTitle, mailBody, option) => {
|
238
|
-
|
251
|
+
|
239
|
-
|
252
|
+
var body = {
|
240
253
|
personalizations: [
|
241
254
|
{
|
242
255
|
to: [
|
@@ -263,7 +276,7 @@
|
|
263
276
|
|
264
277
|
|
265
278
|
// メール送信に必要な記述
|
266
|
-
|
279
|
+
var payload = JSON.stringify(body);
|
267
280
|
UrlFetchApp.fetch(SEND_GRID_ENDPOINT, {
|
268
281
|
method: 'POST',
|
269
282
|
headers: {
|
@@ -272,10 +285,10 @@
|
|
272
285
|
},
|
273
286
|
payload: payload,
|
274
287
|
});
|
275
|
-
sendEmailBySendGrid( mail, mailTitle, mailBody, option);
|
276
|
-
}
|
288
|
+
}
|
277
|
-
|
289
|
+
**//sendEmailBySendGrid( mail, mailTitle, mailBody, option);**
|
278
|
-
}
|
290
|
+
}
|
291
|
+
|
279
292
|
|
280
293
|
|
281
294
|
```
|
1
一部不要な情報がありましたので削除しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,7 +148,7 @@
|
|
148
148
|
const blob = response.getBlob().getAs(MimeType.JPEG);
|
149
149
|
|
150
150
|
if (result === "success" && preferredDate === "2024年5月5日(日) 11:00") {
|
151
|
-
//var emailFrom = "
|
151
|
+
//var emailFrom = ".com";
|
152
152
|
// QRコード付きのメール
|
153
153
|
var mailBody = "この度はお申込みをいただきありがとうございます。下記の内容でご予約を承りました。\n 当日、このメールに添付されているQRコードを受付でご提示ください。 \n\n"
|
154
154
|
+ `【予約日】:${preferredDate}\n`
|
@@ -185,7 +185,7 @@
|
|
185
185
|
var option = {
|
186
186
|
method: "get",
|
187
187
|
"attachments": blob,
|
188
|
-
'from': "
|
188
|
+
'from': "com",
|
189
189
|
'name': 'イベント事務局'
|
190
190
|
}
|
191
191
|
|