回答編集履歴

2

修正

2019/01/16 01:20

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -1,4 +1,142 @@
1
1
  ```javascript
2
+
3
+ function sendMailGoogleForm() {
4
+
5
+ Logger.log('sendMailGoogleForm() debug start');
6
+
7
+
8
+
9
+ //------------------------------------------------------------
10
+
11
+ // 設定エリアここから
12
+
13
+ //------------------------------------------------------------
14
+
15
+
16
+
17
+ // 件名、本文、フッター
18
+
19
+ var subject = "【テスト】件名";
20
+
21
+ var body
22
+
23
+ = "こちらはテストです。お問い合わせありがとうございます。\n\n"
24
+
25
+ + "------------------------------------------------------------\n";
26
+
27
+ var footer
28
+
29
+ = "------------------------------------------------------------\n\n"
30
+
31
+ + "お問い合わせありがとうございます。\n\n";
32
+
33
+
34
+
35
+ // 入力カラム名の指定
36
+
37
+ var NAME_COL_NAME = '名前';
38
+
39
+ var MAIL_COL_NAME = 'メールアドレス';
40
+
41
+
42
+
43
+
44
+
45
+ // メール送信先
46
+
47
+ var admin_name ="テストメール";//送信メールの名前
48
+
49
+ var admin = "test-a@example.co.jp"; // 先程作成したアドレスに書換
50
+
51
+ var bcc = "test-a@example.co.jp,test-b@example.co.jp";// bccがいらない場合は、adminを""に書換
52
+
53
+ var reply = admin;
54
+
55
+ var to = ""; // To: (入力者のアドレスが自動で入ります)
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ // 送信先オプション
64
+
65
+ var options = {};
66
+
67
+ if ( admin_name ) options.name = admin_name;
68
+
69
+ if ( bcc ) options.bcc = bcc;
70
+
71
+ if ( reply ) options.replyTo = reply;
72
+
73
+ if ( admin ) options.from = admin;
74
+
75
+
76
+
77
+
78
+
79
+ //------------------------------------------------------------
80
+
81
+ // 設定エリアここまで
82
+
83
+ //------------------------------------------------------------
84
+
85
+
86
+
87
+ try{
88
+
89
+ // スプレッドシートの操作
90
+
91
+ var sheet = SpreadsheetApp.getActiveSheet();
92
+
93
+ var rows = sheet.getLastRow();
94
+
95
+ var cols = sheet.getLastColumn();
96
+
97
+ var rg = sheet.getDataRange();
98
+
99
+ Logger.log("rows="+rows+" cols="+cols);
100
+
101
+
102
+
103
+ // メール件名・本文作成と送信先メールアドレス取得
104
+
105
+ for (var i = 1; i <= cols; i++ ) {
106
+
107
+ var col_name = rg.getCell(1, i).getValue(); // カラム名
108
+
109
+ var col_value = rg.getCell(rows, i).getValue(); // 入力値
110
+
111
+ if (col_name === "タイムスタンプ"){
112
+
113
+ continue;
114
+
115
+ }
116
+
117
+ body += "【"+col_name+"】\n";
118
+
119
+ body += col_value + "\n\n";
120
+
121
+ if ( col_name === NAME_COL_NAME ) {
122
+
123
+ body = col_value+" 様\n\n"+body;
124
+
125
+ }
126
+
127
+ if ( col_name === MAIL_COL_NAME ) {
128
+
129
+ to = col_value;
130
+
131
+ }
132
+
133
+ }
134
+
135
+ body += footer;
136
+
137
+
138
+
139
+
2
140
 
3
141
  // メール送信
4
142
 
@@ -14,15 +152,7 @@
14
152
 
15
153
  body, //本文
16
154
 
17
- {
18
-
19
- bcc:bcc //bcc
155
+ options //送信オプション
20
-
21
- from: admin, //fromアドレス
22
-
23
- name: admin_name //差出人
24
-
25
- }
26
156
 
27
157
  );
28
158
 
@@ -40,4 +170,6 @@
40
170
 
41
171
  }
42
172
 
173
+
174
+
43
175
  ```

1

a

2019/01/16 01:19

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -1 +1,43 @@
1
+ ```javascript
2
+
3
+ // メール送信
4
+
5
+ if ( to ) {
6
+
7
+ /* メールを送信 */
8
+
9
+ GmailApp.sendEmail(
10
+
11
+ to, //toアドレス
12
+
13
+ subject, //表題
14
+
15
+ body, //本文
16
+
17
+ {
18
+
19
+ bcc:bcc //bcc
20
+
21
+ from: admin, //fromアドレス
22
+
23
+ name: admin_name //差出人
24
+
25
+ }
26
+
27
+ );
28
+
29
+ }else{
30
+
31
+ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
32
+
33
+ }
34
+
35
+ }catch(e){
36
+
1
- その要件はMailAppではできないので[GmailAppのsendmail](https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object))で書き直してください
37
+ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
38
+
39
+ }
40
+
41
+ }
42
+
43
+ ```