GASで簡単!Gmail以外のサービスでメールを送信する方法

メールを送信したいんだけど、Gmail以外のサービスで送信する方法がわからなくて…どうしたらいいんだろう?
猫男
猫男
catman
catman
よし、catmanがGASを使ってGmail以外のサービスでメールを送信する方法を教えてやろう。これならいろんな場面で役立つぞ。

GASと外部メールサービスの連携

GASを使えば、Gmail以外のメールサービスとも連携できる。例えば、SMTPサーバーを経由する方法がある。

SMTPサーバーの設定

まず、GASでSMTPサーバーを使うには、いくつかの情報が必要だ。それらを集めよう。

必要な情報は以下の通り:

  • SMTPサーバーのホスト名
  • ポート番号(通常は587か465)
  • 認証情報(ユーザー名とパスワード)

メール送信のスクリプト

これらの情報を基に、GASでメールを送信するスクリプトを書いていく。

主なポイントは、以下のような形でスクリプトを構成すること:

function sendEmail() {
  var smtpSettings = {
    host: "smtp.example.com",
    port: 587,
    username: "yourEmail@example.com",
    password: "yourPassword",
    to: "recipient@example.com",
    subject: "テストメール",
    body: "これはGASから送信されたメールです。"
  };
  
  // SMTP送信ロジック
  // ここでは擬似的な送信を例示
  Logger.log("SMTP Server: " + smtpSettings.host);
  Logger.log("Sending email to: " + smtpSettings.to);
}

sendEmail();

このスクリプトでは、SMTPサーバーを指定し、送信先のメールアドレスや件名、本文を設定している。

具体例の解説

このスクリプトの主要な部分を解説しよう。

smtpSettingsオブジェクトは、SMTPサーバーの設定情報をまとめている。

host:SMTPサーバーのドメイン名を示す。

port:メールを送信する際に使用されるポート番号を指定している。

usernamepassword:SMTPサーバーへの認証情報として使っている。

tosubjectbodyは、実際に送信されるメールの情報を指定している。

なるほど、SMTPを使えばGmailじゃなくても送信できるんだね!設定がちょっと大変そうだけど、やってみるよ!
猫男
猫男

練習問題

以下のSMTP設定情報を用いて、GASでメールを送信するスクリプトを作成せよ。

  • ホスト名:smtp.testserver.com
  • ポート番号:465
  • ユーザー名:testUser
  • パスワード:testPassword
  • 送信先メールアドレス:recipient@test.com
  • 件名:テスト送信
  • 本文:このメールはテストです。

 

 

解答・解説

function sendTestEmail() {
  var smtpSettings = {
    host: "smtp.testserver.com",
    port: 465,
    username: "testUser",
    password: "testPassword",
    to: "recipient@test.com",
    subject: "テスト送信",
    body: "このメールはテストです。"
  };
  
  // SMTP送信ロジック
  Logger.log("SMTP Server: " + smtpSettings.host);
  Logger.log("Sending email to: " + smtpSettings.to);
}

sendTestEmail();

このスクリプトでは、与えられたSMTP設定情報を元に、メールの送信先、件名、本文が正しく設定されている。

sendTestEmail関数内でsmtpSettingsオブジェクトに情報を格納することで、送信に必要な設定を集約している。

最後の部分で、Loggerを使って設定内容をチェックしているが、実際の環境ではSMTPライブラリが必要だ。これは、ここでは擬似的にログだけを出力する形になっている。