[GAS]GoogleDrive에 파일이 추가되면 첨부 및 이메일
개요
메인 폴더 아래의 각 폴더에 추가된 파일을 각 setting.txt의 내용에 따라 파일을 메일에 첨부하여 송신하는 것입니다.
Google의 동기화 소프트웨어를 사용하여 로컬에서 파일을 특정 폴더에 추가 → 클라우드에 동기화 → settiing.txt에 따라 첨부하여 메일을 보내는 것과 같은 동작을 가정합니다.
구성
폴더 구성 예
폴더メインフォルダ/
┝ hoge部長/
| └ setting.txt
└ fuga先生/
┝ setting.txt
┝ 添付送信されるファイル1
└ 添付送信されるファイル2
setting.txt는 위에서부터 순서대로 이메일 주소, 제목 및 본문 템플릿을 작성합니다.
setting.txt[email protected]
メールのタイトル
メール本文。<br>で改行。
폴더와 setting.txt를 추가하면 늘릴 수 있습니다. 첨부 파일은 여러 ok입니다.
결과
코드
autoMail.gsfunction autoMail() {
var folderId = 'メインフォルダid';
folders2Arr(DriveApp.getFolderById(folderId).getFolders()) //メインフォルダ下のフォルダをすべて取得
.filter(function (folder) {
return files2Arr(folder.getFiles()).length >= 2; //setting.txtしかないものはフィルタ
})
.map(function(folder) {
return folder.getFilesByName('setting.txt').next() //setting.txtの取得
.getBlob().getDataAsString("sjis").split(/[\s]+/) //shiftjisで読み込み、改行部分で分けて配列に
.concat([files2Arr(folder.getFiles()) //添付ファイルの配列を末尾に追加
.filter(function(file) {
return file.getName() != 'setting.txt';
})]
)
.concat(folder);
})
.map(function([to, sub, body, files, folder]) {
MailApp.sendEmail({ //メールの送信
to: to,
subject: sub,
htmlBody: body,
attachments: files
});
files.map(function(x){ //送信したファイルを削除
folder.removeFile(x);
})
});
}
function files2Arr(files) { //配列に変換
var arr = [];
while(files.hasNext()) {
arr.push(files.next());
}
return arr;
}
function folders2Arr(folder) {
return files2Arr(folder);
}
Reference
이 문제에 관하여([GAS]GoogleDrive에 파일이 추가되면 첨부 및 이메일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/golyat/items/a1d5e2531ac824cf0943
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
폴더 구성 예
폴더
メインフォルダ/
┝ hoge部長/
| └ setting.txt
└ fuga先生/
┝ setting.txt
┝ 添付送信されるファイル1
└ 添付送信されるファイル2
setting.txt는 위에서부터 순서대로 이메일 주소, 제목 및 본문 템플릿을 작성합니다.
setting.txt
[email protected]
メールのタイトル
メール本文。<br>で改行。
폴더와 setting.txt를 추가하면 늘릴 수 있습니다. 첨부 파일은 여러 ok입니다.
결과
코드
autoMail.gsfunction autoMail() {
var folderId = 'メインフォルダid';
folders2Arr(DriveApp.getFolderById(folderId).getFolders()) //メインフォルダ下のフォルダをすべて取得
.filter(function (folder) {
return files2Arr(folder.getFiles()).length >= 2; //setting.txtしかないものはフィルタ
})
.map(function(folder) {
return folder.getFilesByName('setting.txt').next() //setting.txtの取得
.getBlob().getDataAsString("sjis").split(/[\s]+/) //shiftjisで読み込み、改行部分で分けて配列に
.concat([files2Arr(folder.getFiles()) //添付ファイルの配列を末尾に追加
.filter(function(file) {
return file.getName() != 'setting.txt';
})]
)
.concat(folder);
})
.map(function([to, sub, body, files, folder]) {
MailApp.sendEmail({ //メールの送信
to: to,
subject: sub,
htmlBody: body,
attachments: files
});
files.map(function(x){ //送信したファイルを削除
folder.removeFile(x);
})
});
}
function files2Arr(files) { //配列に変換
var arr = [];
while(files.hasNext()) {
arr.push(files.next());
}
return arr;
}
function folders2Arr(folder) {
return files2Arr(folder);
}
Reference
이 문제에 관하여([GAS]GoogleDrive에 파일이 추가되면 첨부 및 이메일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/golyat/items/a1d5e2531ac824cf0943
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
autoMail.gs
function autoMail() {
var folderId = 'メインフォルダid';
folders2Arr(DriveApp.getFolderById(folderId).getFolders()) //メインフォルダ下のフォルダをすべて取得
.filter(function (folder) {
return files2Arr(folder.getFiles()).length >= 2; //setting.txtしかないものはフィルタ
})
.map(function(folder) {
return folder.getFilesByName('setting.txt').next() //setting.txtの取得
.getBlob().getDataAsString("sjis").split(/[\s]+/) //shiftjisで読み込み、改行部分で分けて配列に
.concat([files2Arr(folder.getFiles()) //添付ファイルの配列を末尾に追加
.filter(function(file) {
return file.getName() != 'setting.txt';
})]
)
.concat(folder);
})
.map(function([to, sub, body, files, folder]) {
MailApp.sendEmail({ //メールの送信
to: to,
subject: sub,
htmlBody: body,
attachments: files
});
files.map(function(x){ //送信したファイルを削除
folder.removeFile(x);
})
});
}
function files2Arr(files) { //配列に変換
var arr = [];
while(files.hasNext()) {
arr.push(files.next());
}
return arr;
}
function folders2Arr(folder) {
return files2Arr(folder);
}
Reference
이 문제에 관하여([GAS]GoogleDrive에 파일이 추가되면 첨부 및 이메일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/golyat/items/a1d5e2531ac824cf0943텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)