GASで簡単!Gmail以外のサービスでメールを送信する方法
メールを送信したいんだけど、Gmail以外のサービスで送信する方法がわからなくて…どうしたらいいんだろう?

猫男

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:メールを送信する際に使用されるポート番号を指定している。
usernameとpassword:SMTPサーバーへの認証情報として使っている。
to、subject、bodyは、実際に送信されるメールの情報を指定している。
なるほど、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ライブラリが必要だ。これは、ここでは擬似的にログだけを出力する形になっている。