メールを送受信する

プログラムからメールを扱う場合、Gmail Serviceを使います。

Gmailで出来ること(ラベルやスターをつけたり、メールを送受信したり)はほとんど関数化されていますので、自動化出来ます。

メールの送信

メールを送信する場合、1行 GmailApp.sendEmail(recipient, subject, body)と書くだけで送信出来ます。

送信元(from)の設定や、BccやCcの設定、リプライ(replyTo)設定はオプションで行います。

fromで設定出来るのはGmailから送信出来るアドレスのみです。

Google ヘルプ:別のアドレスやエイリアスからメールを送信する

添付メールを送信する

Google Driveのファイルを添付して送信する場合はオプションのattachmentsに生データ(blob)を設定します。

以下の例ではファイルを2つ添付しています。

メールを受信する

Gmailはサーバ上にありますので、あえて受信する、と言う行為は必要ありません。勝手に受信してしまっています。

Gmailで必要なのは受信したメールをどう処理(整理)するか、ということだけです。

特定のメールを抽出してスプレッドシートに記録する

特定のメールを抽出する方法として、1)事前にGmailのフィルターでラベルをつけておく、2)条件で検索して抽出する、などが考えられますが、プログラムで処理する場合は 1)のほうがスマートで、フィルターで処理する場合は対象が容易に確認出来るメリットもあります。

どちらで処理した場合でも、処理済みかどうかのフラグとなるラベルやスターをつける必要があります。未読/既読でも判断可能ですが、システム以外でGmailを使った場合にごちゃまぜになってしまう可能性があります。

Gmail受信時にGmailのフィルターでラベルとスターをつけ、そのメールを処理した後にスターを外し処理を終了します。

メールの添付ファイルをGoogle Driveに保存する

添付ファイルも同様に、未処理の添付ファイルにスターをつけて、処理後にスターを外します。

ね、簡単でしょ。