メール送信

服屋のショッピングモールを運営していると考えてみてください。お客さんが注文を終えると、「ご注文を承りました」という確認メールを自動で送りたいと思います。ところが、メールを送るにはまず「どのアドレスから、どんな名前で送るか」を決めておかなければなりません。お客さんのメールボックスに 洋服店カスタマーセンター という名前と店のアドレスが記されて届くようにするには、その送信者の情報をあらかじめ一か所に登録しておくのです。このようにメールを送る送信者を登録しておくのが Email Account です。

会社のレターヘッド(便箋)にあらかじめ印刷しておいた差出人情報にたとえることができます。手紙を一通書くたびに差出人の住所と名前を書き直すのではなく、あらかじめ印刷しておいた便箋を取り出して使えば、いつも同じ差出人で出せます。Email Account もその便箋のように、一度登録しておけば、その後に出るすべてのメールが同じ送信者で出ていきます。

一つ押さえておくことがあります。Email Account は送信者を登録するだけです。実際にメールを書いてお客さんに送るのは、ScriptEmailSend がこの Email Account を指定して行います(下の登録した送信者でメールを送るで扱います)。このページでは、まず Email Account に何を登録するのかを見てから、服屋の Space に送信者を実際に登録してみます。

何を登録するのか

Email Account には三つのまとまりの値を登録します。メールを送るサーバー、そのサーバーにログインする情報、そしてお客さんに見える送信者です。

  • 送信サーバー: メールを実際に送り出す送信サーバー(SMTP サーバー、メールを転送する標準的な方式のサーバー)のアドレスとポートです。接続を保護するセキュリティ方式は、このポートに応じて自動で決まります。ポート 587StartTls、ポート 465Tls と対になるので、セキュリティ方式を別途選びません。
  • ログイン情報: その送信サーバーにログインするユーザー名とパスワードです。ユーザー名は送信サーバーごとに異なります。メールアドレスそのままのこともあれば、送信サービスが定めた固定の文字列のこともあります。
  • 送信者: お客さんに見える差出アドレス(送信元アドレス)と、お客さんのメールボックスに表示される名前(送信者表示名)です。差出アドレスはたとえば dailycloset.orders@gmail.com、送信者表示名は 洋服店カスタマーセンター のように決めます。送信者表示名は入れなければアドレスだけが表示されます。

送信者だけがお客さんの目に見え、送信サーバーとログイン情報は裏側でメールを実際に送り出すためだけに使われます。

登録するとテストメールが実際に送信されます

Email Account の登録は、入力した値を保存するだけの動作ではありません。保存する前に、入力した送信サーバーとログイン情報で実際に接続し、テストメールを一通送ってみます。 この送信が成功して初めて送信者が保存されます。

  • 送信に成功すると Email Account が登録されます。
  • 接続やログイン、送信のいずれかの段階で失敗すると、何も登録されずに失敗し、送信サーバーが返した失敗理由が併せて表示されます。

そのため、登録ボタンを押した瞬間に本物のメールが出ていくという点を知っておく必要があります。値を誤って入れて登録を何度も試すと、そのたびに実際の送信が試みられます。

接続情報は後から変更できません

登録した値のうち、一部は後から直せますが、一部は直せません。

  • 送信サーバーとログイン情報は、登録後に変更できません。 送信サーバーを移したりログインパスワードを変えたりするには、直すのではなく、新しい Email Account を登録して既存のものを削除します。
  • 送信者と名前は、登録後でも直せます。 お客さんに見える差出アドレスと送信者表示名、そしてコンテンツスタジオで複数の送信者を見分ける名前は、後から修正できます。

パスワードは登録した後、二度と見ることができません。登録するときに一度入力すると、その後はどこにも表示されないので、パスワードを忘れた場合は、再設定ではなく新しく登録する方法で変えます。

どの送信サーバーを使えるか

使える送信サーバーはプランによって異なります。

  • あらかじめ用意された送信サービス(Gmail・Naver・Resend・Brevo)は、すべてのプランで登録できます。これらは一覧から選ぶだけで、アドレス・ポート・セキュリティ方式が自動で入力されます。
  • 一覧にない独自の送信サーバーは、支払い方法が登録された有料プランでのみ使えます。無料プランで一覧にないサーバーで登録しようとすると拒否されます。

プランごとのポリシーは料金プランを参照してください。

Naver メールを使うには、Naver 側でまず POP3/SMTP を有効にして、アプリパスワードを受け取っておく必要があります。その手順はNaver メールで送信する準備を整えるで扱います。

Resend は、自分が持っているドメインを登録して認証を受けてから使えます。その手順はResend で送信する準備を整えるで扱います。

Brevo は、送信するアドレスを先に確認してもらい、SMTP キーを別に作る必要があります。その手順はBrevo で送信する準備を整えるで扱います。

コンテンツスタジオで登録する

それでは、服屋の Space に注文案内メールを送る送信者を登録してみます。送信サーバーにはあらかじめ用意された Gmail を使い、送信者は 洋服店カスタマーセンター にします。

始める前に、Gmail のアプリパスワードを受け取っておいてください。登録の途中で、この値を入れる欄が出てきます。受け取る方法はGmail で送信する準備を整えるで扱います。

Email 一覧画面。登録された Email Account がまだ一つもない空の状態で、右上に作成ボタンが見える

  1. 左メニューの 設定と管理 から Email を開いてください。
  2. 右上の 作成 ボタンを押してください。
  3. Provider で Gmail を選んでください。SMTPサーバーポート が自動で入力され、セキュリティ方式は選んだポートに応じて決まります(587 なら STARTTLS)。一覧にないサーバーを使うには カスタムSMTP を選び、サーバーのアドレスとポートを直接入力してください。
  4. Gmailアドレス 欄に、ログインする Gmail アカウントを入力してください(例: dailycloset.orders@gmail.com)。
  5. アプリパスワード 欄に、あらかじめ受け取っておいた 16 桁のアプリパスワードを入力してください。Google アカウントのパスワードではありません。この値は、保存した後は二度と確認できません。まだ受け取っていなければ、Gmail で送信する準備を整えるで受け取ってきてください。
  6. 名前 欄に、この送信者を見分ける名前 注文通知の送信 を入力してください。コンテンツスタジオでのみ見える名前なので、実際のメール送信とは関係ありません。
  7. 送信元アドレス 欄に、お客さんに見える差出アドレスを入力してください(例: dailycloset.orders@gmail.com)。Gmail を使う場合、認証したアカウントと異なるアドレスを入れても、実際の送信は認証したアカウントのアドレスで上書きされて出ていきます。
  8. 送信者表示名 欄に、お客さんのメールボックスに表示される名前 洋服店カスタマーセンター を入力してください。入れなければアドレスだけが表示されます。
  9. 保存 ボタンを押してください。

Email Account 作成画面。Provider で Gmail を選び SMTPサーバー・ポートが自動で入力され、Gmailアドレス・アプリパスワード・名前・送信元アドレス・送信者表示名を入力した状態

保存 ボタンを押すと、入力した情報でテストメールが一通送信されます。送信に成功すると、一覧に 注文通知の送信 が現れます。失敗すると送信サーバーが返した理由が表示され、何も登録されないので、ログイン情報や送信サーバーの値を再度確認してください。

Email 一覧画面。「注文通知の送信」Email Account が一行登録されており、Provider・SMTP エンドポイント・送信者情報が見える

登録した送信者でメールを送る

Email Account は送信者を登録しておくだけで、自らメールを送るわけではありません。実際の送信は ScriptEmailSend が担います。EmailSend は「この送信者で、このアドレスに、こういう件名と内容でメールを送れ」と書いておいた動作で、どの送信者で送るかは、いま登録した Email Account を指定して決めます。差出アドレスと送信者表示名は指定した Email Account からそのまま引き継がれるので、EmailSend では宛先と件名・内容だけを決めます。

服屋の注文案内メールなら、流れはこうなります。

  1. お客さんが注文すると、注文が Content として登録されます。
  2. 注文が登録されたことを Webhook が捉え、あらかじめ作っておいた Script を実行します。
  3. ScriptEmailSend注文通知の送信 Email Account を指定して、そのお客さんに注文確認メールを送ります。

一通の EmailSend は受信者一人に送ります。注文が複数件あれば、注文ごとに一通ずつ送るように Script の中で繰り返し送ります。このように送信者を登録して Script でつなぐ詳しい例は、下の文書で扱います。

次にすること

  • Script: 登録した Email Account でメールを実際に送る EmailSend を含む、Space の中で動く処理を作る方法を扱います。
  • Webhook: 注文が登録された瞬間にメールを送る Script がひとりでに実行されるようつなぐ方法を扱います。
  • Email Account: Email Account をプログラムから直接登録・管理するときに使う、リクエスト・レスポンスの形式と Field の仕様を扱います。