概要
以下の記事の続編として、ブラウザからメールのタイトル、To、Cc、本文を入力して、その値をmailの下書きに反映させるプログラムを作成しました。
[Google Apps Script] エクセルをGmailの下書きに圧縮して添付する
動作結果
- ブラウザから、メールのタイトル、To、Cc、本文を入力し、実行をクリックします。
ソースコード
Standalone ScriptのGASプロジェクトで、以下の2つのプログラムを作ります。
index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>メール下書き作成</h1>
<form id='myForm' onsubmit="javascript:return false;">
タイトル:<input type="text" name="title"> <br>
To:<input type="text" name="To"> <br>
Cc:<input type="text" name="Cc"> <br>
mailBody: <br>
<textarea name="mailbody"></textarea>
<input type='button' value='実行' onclick="runGAS()">
</form>
</body>
<script>
function onSuccess(res){
console.log("success")
}
function runGAS(){
//各入力をdocument.querySlector()で取得します。
var title = document.querySelector('input[name="title"]').value;
var to = document.querySelector('input[name="To"]').value;
var cc = document.querySelector('input[name="Cc"]').value;
var body = document.querySelector('textarea[name="mailbody"]').value;
// onSuccess()が成功した場合、draft2.jsのmyFunction()を実行します。
google.script.run.withSuccessHandler(onSuccess).myFunction(title, to, cc, body);
}
</script>
</html>
make_draft2.js
function myFunction (title, to, cc, body) {
var mailTo = to;
var mailCc = cc;
var mailBody = body;
var mailTitle = title;
//受け取った引数をもとにgmailの下書きを作成します。
GmailApp.createDraft(mailTo, mailTitle, mailBody, {cc: mailCc});
}