回答編集履歴
1
a
answer
CHANGED
|
@@ -1,2 +1,42 @@
|
|
|
1
|
+
1. --
|
|
1
2
|
2. されない
|
|
2
|
-
3. 自分でメールキューを実装することで可能
|
|
3
|
+
3. 自分でメールキューを実装することで可能
|
|
4
|
+
|
|
5
|
+
```javascript
|
|
6
|
+
function enqueue() {
|
|
7
|
+
|
|
8
|
+
const pre
|
|
9
|
+
= "この度は申し込み頂きありがとうございます。 \n"
|
|
10
|
+
+ "今回のお申し込み内容は下記となります。 \n\n"
|
|
11
|
+
+ "======================================= \n\n"
|
|
12
|
+
|
|
13
|
+
const post
|
|
14
|
+
= "======================================= \n\n"
|
|
15
|
+
+ "※このメールは送信専用メールアドレスから配信されています。 \n"
|
|
16
|
+
+ "※このままご返信いただいてもお答えできませんのでご了承ください。 \n"
|
|
17
|
+
|
|
18
|
+
//後の処理で使うため、変数を設定。(フォームと名称を一致させる必要あり)
|
|
19
|
+
const mail = 'メールアドレス';
|
|
20
|
+
const name = 'お名前';
|
|
21
|
+
|
|
22
|
+
const sheet = SpreadsheetApp.getActiveSheet();
|
|
23
|
+
const range = sheet.getDataRange().getValues();
|
|
24
|
+
const TIMESTAMP_LABEL = 'タイムスタンプ';
|
|
25
|
+
const header = range.slice(0,1).map(function(e){ return e === TIMESTAMP_LABEL ? "申し込み日時" : e; });
|
|
26
|
+
const tail = range.slice([1]);
|
|
27
|
+
const num = range.length;
|
|
28
|
+
const body = tail[header.indexOf(name)] + " 様\n\n" + pre + header.map(function(e, i) { return "■"+e+"\n" + (e === "受付番号" ? num : (e === "申し込み日時" ? Utilities.formatDate(tail[i], 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'" : tail[i])); }).join("\n\n") + "\n\n" + post;
|
|
29
|
+
sheet.getRange(num, 1).setValue(num);
|
|
30
|
+
const subject = "【受付番号: "+num+"】事前申し込みを受け付けました";
|
|
31
|
+
const to = tail[header.indexOf(mail)];
|
|
32
|
+
|
|
33
|
+
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("queue").appendRow([to, subject, body]);
|
|
34
|
+
}
|
|
35
|
+
function dequeue() {
|
|
36
|
+
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("queue");
|
|
37
|
+
sheet.getDataRange().getValues().slice(0, 100).forEach(function(e) {
|
|
38
|
+
GmailApp.sendEmail(e[0], e[1], e[2]);
|
|
39
|
+
});
|
|
40
|
+
sheet.deleteRows(1, 100);
|
|
41
|
+
}
|
|
42
|
+
```
|