【GAS】自動返信メールを送るときにGメール以外のアドレスを指定する方法
5/82020
セミナー等のイベントを行う場合、Google Formで申込を受付け、
自動返信メールを送るケースが多いかと思います。
その際、
あらかじめ他のメールアドレス(独自ドメインのアドレスなど)からGmailを通じて送信する設定をしておけば、
送信元をその他のメールアドレスにできます。
また、差出人名も指定することができます。
その方法を備忘も兼ねて紹介します。
デフォルト設定の場合
もし何も設定しないでsendEmailメソッド(新規Gmail送信の命令)を実行した場合、送信元はGmailアドレスがそのまま表示されます。気になりますね。
差出元もGmailアドレスとなります。
下記はYahooメールの例ですが、発信元もgmail.comになっているのが気になります。
私の場合、今回
会社名(フリービズコンサルティング合同会社)が入ったメールアドレスを送信元にし、
差出人名も会社名にしました。
GASで自動返信メールを送るときの送信元アドレスと差出人名を指定する方法
手順①Gmailで他のメールアドレスから送信できるように設定する
(既に設定されている方はこちらは読み飛ばして大丈夫です)
Gmailを使って、独自ドメイン等が入った他のメールアドレスからメールを送信することができます。
まず、Gmailのトップ画面から右横の歯車マークをクリックし、「設定」を選びます。
上のタブから「アカウントとインポート」を選び、
名前:(Gmailを使用して他のメールアドレスからメールを送信します)
という欄の、「他のメールアドレスを追加」リンクをクリックします。
追加したい名前と、メールアドレスを入力し、「次のステップ」ボタンを押します。
SMTPサーバー、ユーザー名、パスワードを入力する画面が出てきますので、
それぞれ入力します。
これらの情報は自分が利用しているメールアドレスのレンタルサーバーの情報を見ればわかります。
私の場合、WPX(エックスサーバー)を利用していますが、以下のように定められています。
アカウントを追加すると、次の画面が出てきます。
追加したいメールアドレスに届いた確認コードを入力すれば、完了です。
手順②GASを書く
次に、行いたい処理のGASを入力します。
GASは、「スクリプトエディタ」という画面から入力します。
以下の記事に起動の仕方などを書いています。
今回、セミナーお申込みのGoogle Formに入力されたメールアドレスに対して、
入力内容、決済内容等を記載した自動返信メールを送る処理を書きました。
(下記はあくまで例ですので、そのまま貼り付けても動作しないこと、ご了承ください)
function autoreply() {
//自動返信メールの件名
var title = ‘『出版記念オンラインセミナー』の申込受付&決済のご案内’;
//自動返信メールの本文 \nは改行。
var body
= ‘出版記念オンラインセミナーのお申込みをいただき、誠にありがとうございました!\n’
+’下記のとおり受け付けました。\n\n’
+ ‘————————————————————\n’;
//自動返信メールの本文2 本文1と本文2の間に入力内容が入る
var body2
= ‘————————————————————\n\n’
;
//後の処理で使うため、変数を設定。(フォームと名称を一致させる必要あり)
var name = ‘お名前’;
var mail = ‘メールアドレス’;
var address = ”;
var sheet = SpreadsheetApp.getActiveSheet();
var row = sheet.getLastRow();
var column = sheet.getLastColumn();
var range = sheet.getDataRange();
for (var i = 1; i <= column; i++ ) {
//スプレッドシートの入力項目名
var item = range.getCell(1, i).getValue();
//スプレッドシートの入力値
var value = range.getCell(row, i).getValue();
//本文(body)に、フォームの入力項目を追加
body += item+’\n’;
//本文にフォームの入力内容を追加
body += value + ‘\n\n’;
//フォームの入力項目が、「お名前」の場合は、「様」をつけて、本文の前に追加
if ( item === name ) {
body = value+’ 様\n\n’+body;
}
//フォームの入力項目が「ご連絡先メールアドレス」の場合は、変数addressに入れる
if ( item === mail ) {
address = value;
}
}
var body3
= ‘【ご決済について】\n’
+’以下のリンクより、ご決済をお願いできますでしょうか。\n\n’
+’https://freebiz-consulting.com/payment_seminar20200526\n\n’
+’【質問受付について】\n’
+’ご希望がありましたら以下のリンクより事前にご質問を送信いただけますでしょうか。\n\n’
+’https://docs.google.com/…\n\n’ //質問フォームへリンク
+’【参加方法について】\n’
+’オンラインセミナー開催の3日前までに、使用するオンラインツールと参加方法をお送りさせていただきます。\n\n’
//本文1に本文2,本文3を追加
body += body2;
body += body3;
//宛名=address、件名=title、本文=bodyで、メールを送る
GmailApp.sendEmail(address,title,body);
}
このプログラムの最後の、
GmailApp.sendEmail(address,title,body);
はGmailを送信するメソッド(命令)ですが、
ここに差出元アドレスと差出人名をオプションで指定することができます。
手順③sendEmailメソッドのOptionにname(差出人名)とfrom(差出元アドレス)を指定する
sendEmailの命令にオプションを{}で追加することができます。
まず、nameオプションで差出人名を指定します。
name : 差出人名にしたい名前
というように、コロンで指定します。
次に、fromオプションで差出元のメールアドレスを指定します。
こちらも、コロンで
from : 差出元に指定したいメールアドレス
と指定します。
従って、sendEmailメソッドを以下のように書き換えればOKです。(各オプションはカンマで区切ります)
GmailApp.sendEmail(address,title,body, {
name: ‘差出人に指定したい名前’,
from: ‘差出元にしたいメールアドレス’
});
}
参考にしたページ:
Class GmailApp | Apps Script | Google Developers
Scriptを実行する
いざ、実行ボタンでScriptを実行してみます!
無事、差出人名と差出元が指定したものになっていました。
GASを使った自動メール送信は便利ですが、
Gmailアドレスではなく独自ドメインのメールアドレス、任意の差出人名で送りたい、
というニーズは多いと思います。
是非お試しください。
まとめ
GASで自動的にメールを送るときの送信元アドレスと差出人名を指定する方法を書きました。
編集後記
昨日は、持続化給付金の支援など。
夕方は、ちょっと奮発して家でお寿司。
最近のあたらしいこと
Thermosのステンレスマグカップ
クリックポストで宛名作成