回答編集履歴

2

追記

2024/03/12 10:44

投稿

YAmaGNZ
YAmaGNZ

スコア10288

test CHANGED
@@ -109,3 +109,85 @@
109
109
  }
110
110
  ```
111
111
  といった感じの情報をbodyに追加しないといけないでしょう。
112
+
113
+
114
+ ---
115
+ ### 2024/3/12 追記
116
+ 下記コードにて添付ファイルつきでメールの送信ができました。
117
+ ```JAVAScript
118
+ function sendTest() {
119
+ sendGridEmail('送信先メールアドレス','メールタイトル','送信テスト\n改行テスト','送信元メールアドレス','テスト送信者')
120
+ }
121
+
122
+ function sendGridEmail(mail, mailTitle, mailBody, fromEmailAddress, fromName){
123
+
124
+ // SendGrid V3 Mail Send API を使って、メールを送信する ---
125
+ // スクリプトプロパティは、「プロジェクトの設定」->「スクリプトプロパティの追加」を行なう
126
+ var SEND_GRID_ENDPOINT = 'https://api.sendgrid.com/v3/mail/send';
127
+ var SEND_GRID_API_KEY = 'API KEY';
128
+
129
+
130
+ // メール送信用スクリプト ---------------------------------
131
+ var img = encodeImage();
132
+
133
+ var body = {
134
+ personalizations: [
135
+ {
136
+ to: [
137
+ {
138
+ email: mail,
139
+ },
140
+ ],
141
+
142
+ subject: mailTitle,
143
+ },
144
+ ],
145
+ from: {
146
+ email: fromEmailAddress,
147
+ name: fromName,
148
+ },
149
+ content: [
150
+ {
151
+ // text/plain で指定しないと \n で改行されない
152
+ type: "text/plain",
153
+ value: mailBody,
154
+ },
155
+ ],
156
+ attachments: [{
157
+ content: img,
158
+ type: 'image/jpeg',
159
+ filename: '添付ファイルのファイル名',
160
+ }]
161
+ };
162
+
163
+
164
+ // メール送信に必要な記述
165
+ var payload = JSON.stringify(body);
166
+ UrlFetchApp.fetch(SEND_GRID_ENDPOINT, {
167
+ method: 'POST',
168
+ headers: {
169
+ 'Content-Type': 'application/json',
170
+ 'Authorization': ' Bearer ' + SEND_GRID_API_KEY,
171
+ },
172
+ payload: payload,
173
+ });
174
+ }
175
+
176
+ function encodeImage(){
177
+ //Googleドライブにある画像ファイルを読み込んでBlobオブジェクトで取得
178
+ const image = DriveApp.getFileById("ファイルID").getBlob();
179
+ //BlobオブジェクトからByteを取得してBase64にエンコード
180
+ const baseImage = Utilities.base64Encode(image.getBytes());
181
+ //Base64エンコードした結果を戻り値とする
182
+ return baseImage;
183
+ }
184
+ ```
185
+
186
+ attachmentsについて回答に書きましたが、こちらに間違いがあり添付ファイルの情報を配列で設定しないといけません。
187
+ ```
188
+ attachments: [{
189
+ content: img,
190
+ type: 'image/jpeg',
191
+ filename: '添付ファイルのファイル名',
192
+ }]
193
+ ```

1

表編集

2024/03/07 10:57

投稿

YAmaGNZ
YAmaGNZ

スコア10288

test CHANGED
@@ -23,6 +23,7 @@
23
23
  |from|オブジェクト|Yes|
24
24
  |email|string|Yes|
25
25
  |name|string|No|
26
+
26
27
  と書いてあってemailは必須となっています。
27
28
 
28
29
  なのでfromの部分は