[Google Apps Script]別のアドレスからメールを送信する。
Google Apps Scriptでメール送信するGmailApp.sendEmailメソッド、リファレンスを見るとoptionsパラメーターで「from」が指定できることが分かったので、早速試してみました。
function myFunction() { var file = DriveApp.getFileById('AB-CDEFG01234567890123456789'); GmailApp.sendEmail('to@ka-net.org', 'テストメール', '本文テスト', { attachments: [file.getAs(MimeType.PDF)], bcc: 'bcc@ka-net.org', cc: 'cc@ka-net.org', from: 'gas@ka-net.org', name: '差出人' }); }
ところが上記スクリプトを実行すると、fromの部分で「無効な引数: gas@ka-net.org」とのエラーが発生してしまいました。
そこでリファレンスをもう一度よく見てみると、fromの説明に
the address that the email should be sent from, which must be one of the values returned by getAliases()
GmailApp.getAliasesメソッド、Gmailアカウントに設定されたエイリアスを取得するメソッドの戻り値を使う、との記載がありました。
要するに、事前にGmailアカウントでエイリアス(別名アドレス)を設定しておかないといけなかったわけですね。
というわけで早速エイリアスを設定します。
設定手順は「別のアドレスからメールを送信する」にある通り、Gmailの設定画面から簡単に設定することができます。
エイリアス設定後、再度上記スクリプトを実行したところ、今度はエラーが発生することなくメールを送信することができました。
受信したメールも差出人がちゃんとfromオプションで指定したアドレスになっています。
Gmailアカウントにエイリアスを設定する、という一手間は掛かりますが、スクリプトから送信するメールでfromを自由に設定できるのはとても便利だと思います。
この記事へのコメントはありません。