Web API経由でメール送信

Web API経由でメール送信

Gmail API を使う

[2] メールの大量送信は専門のサービスがあったりしますが、システム内部などの狭い範囲で少量のメール送信したいだけのときには、 GmailWeb API が便利そうです。もちろん無料で使えます。

[6] 電子メール (RFC 5322) のデータHTTP で1回 POST するだけで送信できます。

  $mail = qq{From: <me@example.net>\x0D\x0ATo: <hoge@example.net>\x0D\x0ASubject: Test\x0D\x0A\x0D\x0AHello, world!};
  http_post
      url => qhttps://www.googleapis.com/gmail/v1/users/me/messages/send?key= . $ClientID,
      header_fields => {
          'Content-Type' => 'application/json',
          'Authorization' => 'Bearer ' . $AccessToken,
      },
      content => perl2json_bytes {raw => encode_base64url $mail};

[7] なお、 scope として https://mail.google.com/ を指定した OAuth2アクセストークンが必要です。アクセストークンの有効期間は短いので、 リフレッシュトークン (>>8) を保持しておく必要があるかもしれません。

初出

[1] Web API 経由でメール送信 - Qiita ( ()) https://qiita.com/wakaba@github/items/5bfb5e636470ea99bcae