BLOG ベアメールブログ
2024.08.29 (木)
メールサーバーGoogle Cloud(GCP)からメールを送信するには? 手段や注意すべきポイントを解説
Last Updated on 2024.09.4
「Google Cloud上に構築したシステムやサイトからメールを送信したい!」というケースは多いでしょう。しかし送信したメールを宛先に確実に届けるためには、実は注意すべき点が多くあります。Google Cloudでメール送信を行う際には、自分でSMTPサーバーを構築するほかに、Google Workspaceにリレーする方法、SendGrid、Mailgun、Mailjetといったサードパーティ製品を使用する方法があります。
本記事では、Google Cloudからメールを送る方法とメール送信時の注意点を解説します。
目次
Google Cloudからメール送信する方法
Google Cloud上に構築したシステムからメールを送信する方法としては、主に3つの選択肢があります。
- Compute EngineでSMTPサーバーを構築する
- Google WorkspaceにSMTPリレーを行う
- サードパーティのメール送信サービスを利用する
ここではそれぞれのメリット・デメリットについて解説します。
Compute EngineでSMTPサーバーを構築する
1つめの方法は、Google Cloudで仮想マシン(VM)を作成できるサービスであるGoogle Compute Engine(GCE)を使って、SMTPサーバーを構築する方法です。
メリット
自身でSMTPサーバーを構築する場合、任意のMTA(Postfix、Sendmail)を使用できるため、今までの構築・運用ノウハウをそのまま生かせます。自社の要件に応じて細かな送信ルールを適用したり、柔軟な制御を行える点もメリットです。
デメリット
構築・運用を自社で行わなければならず、サーバー運用に関する負荷がかかりやすい点がデメリットです。
また、Google Cloudでは外部の25番ポート(SMTPのデフォルトポート)への接続をブロックしています。そのため587番ポートあるいは465番ポートを使用するか、またはカスタムポートを使用するようにファイアウォールを設定する必要があります。
※参考:Google Cloud「インスタンスからのメールの送信」https://cloud.google.com/compute/docs/tutorials/sending-mail?hl=ja
Google Workspaceを利用する
2つめの方法はGoogle Workspaceを介してメールを送信する方法です。
Google Workspace経由でメールを送信する方法は、さらに3種類に分けられます。
① Google WorkspaceにSMTPリレーで接続する
② Gmailアカウントで認証し、Gmail SMTPサーバーから送信する
③ 制限付きGmail SMTPサーバーから送信する(認証不要)
それぞれ1日あたりに送信できる宛先や件数の制限や、利用できるプロトコルやポートなどが異なり、Googleは①のSMTPリレーをする方式を推奨しています。
詳しくは公式のこちらのページをご参照ください。
参考:Google Workspace管理者ヘルプ「プリンタ、スキャナ、アプリからのメール送信」https://support.google.com/a/answer/176600?hl=ja
メリット
Gmailを利用できるGoogle Workspaceの契約を結んでいれば、追加費用も不要で手軽に利用できます。Googleのサーバー経由でメールを送信するため、SMTPサーバーの運用負荷を軽減できます。
デメリット
Google Workspaceからのメール送信には、いくつかの点で制限が設けられている点に注意しなければなりません。制限内容も前述した3種類の送信方法によって異なりますが、主な送信制限は以下のとおりです。
- 組織全体の利用者総数
- ユーザあたりのメッセージの送信数
- ユーザあたりの宛先数
- SMTPリレーのトランザクションごとの宛先数
- 添付ファイルサイズ
大量の一斉送信などを行う場合は制限に引っかかる可能性が高いため、他の送信方法を検討するのが良いでしょう。
サードパーティのメール送信サービスを利用する
2つめの方法はサードパーティのメール送信サービス(メールリレーサービス)を利用する方法です。
メール送信サービスは、その名の通りメール送信に特化したサービスであるため、大量メールの高速配信や、高い到達率、メールサーバーの運用負荷軽減などを実現できます。
メールマガジンなど大量のメールを一斉に送信する場合、あるいはWebサービスの会員登録や自動通知メールなど、相手に対して確実にメールを送り届けたい場合に適しています。
利用方法としては、Google Cloud上に構築したSMTPサーバーからメールリレーを行う方法と、APIを使用してシステムと連携させる方法があります。
Google Cloudの公式ドキュメント内では、サードパーティのメールサービスプロバイダとしてSendgrid、Mailgun、Mailjetが紹介されていますが、ここで紹介されていないメールリレーサービスも利用可能です。
メリット
サードパーティのメール送信サービス(メールリレーサービス)を利用する場合は、以下のようなメリットがあります。
- 大量のメールも分散して高速な配信が可能
- 共有IPであれば、IPウォームアップやIPレピュテーションの管理が不要
- 管理画面から配信結果やログを簡単に確認できる
- SMTPサーバーの運用負荷の軽減
- API連携であれば、SMTPサーバーの構築が不要
デメリット
デメリットとしては、自社固有の要件やセキュリティポリシーがある場合に、細かなチューニングやカスタマイズをしにくい点が挙げられます。また、サービスの縮小・廃止のリスクや、製品の仕様変更があった際には設定の変更が必要となる場合があります。
メール送信時に注意すること
メールは送信すれば宛先に届くのは当たり前だと思われるかもしれませんが、迷惑メール対策が強化されている昨今では、迷惑メールとして拒否されたり、迷惑メールフォルダに振り分けられたりするリスクがあります。
ここでは、送信したメールを確実に届けるために、Google Cloudからのメール送信時や、一般的に注意したい点について解説します。
- OP25B対応
- IPレピュテーションのチェック
- 送信ドメイン認証の設定
- 大量送信の制限
- バウンスメールの受信および対応
OP25B対応
OP25B(Outbound Port 25 Blocking)とは、自社ネットワークから外部に対して、SMTPのデフォルトポート(25番ポート)を使用したメール送信を遮断することです。
Google CloudもOP25Bの対策を行なっており、宛先TCPポート25番がVPCネットワークの外部にある場合、接続が標準でブロックされます。
OP25Bの対応方法としては、25番ポート以外のサブミッションポートを使用する方法があります。
25番ポート以外のサブミッションポートとして利用される587番と465番ポートについては、Google Cloudにおいても制限対象とはなっていません。また、ファイアウォールルールを設定して、ポート2525番などのカスタムポートで送信することをGoogleは推奨しています。
AWSでは25番ポートの使用について制限解除の申請を行うことができますが、Google Cloudにおいては一部のプロジェクトでは制限がないと記載がありますが、制限を解除する方法については明言されていません。
VPCネットワーク内やVPNを利用した通信については25番ポートへの接続が可能ですが、用途としては限られるため、基本的には25番ポート以外のポートを利用するのが望ましいでしょう。
参考:Google Cloud「インスタンスからのメールの送信」https://cloud.google.com/compute/docs/tutorials/sending-mail?hl=ja
OP25Bについて詳しくは以下の記事で解説しています。
メール送信規制「OP25B」とは?25番ポートブロックの概要と回避策 | ベアメールブログ
IPレピュテーションのチェック
IPレピュテーションは、送信元IPアドレスから送信されたメールの実績を評価し、スコア化したものです。IPレピュテーションスコアが高いほど信頼性が高いと判定され、到達率が上がりますが、反対にレピュテーションが低い場合は受信制限や受信拒否が行われる要因となります。
Google Cloudなどのクラウドサービスを利用する場合、払い出されたグローバルIPアドレスのIPレピュテーションが低いケースがあります。この場合、特に大量のメール配信はブロックされる可能性が高く、思うようにメールが配信できない恐れがあります。
レピュテーションスコアは、Validity社の「Sender Score」(https://senderscore.org/)や、Cisco社の「TALOS」(https://talosintelligence.com/)といったサイトで確認できるため、メール配信を行う前に利用予定のIPのレピュテーションに問題がないか確認するようにしましょう。もしスコアが低かった場合は、レピュテーションを高める「IPウォームアップ」を行う必要があります。IPレピュテーションのウォームアップや管理が面倒な場合は、サードパーティのメール送信サービスの利用をお勧めします。
IPウォームアップの方法については、以下の記事で詳しく解説しています。
IPウォームアップとは? IPレピュテーションを向上させるためのポイントと具体的な手順 | ベアメールブログ
送信ドメイン認証の設定
メールの送信を行うには、送信元の信頼性を証明するための「送信ドメイン認証」の設定が必要です。現在普及している送信ドメイン認証技術は、以下の3種類があります。
SPF(Sender Policy Framework)
SPFは、送信元IPアドレスを利用して送信元の認証を行う方式です。
送信SMTPサーバーのIPアドレスを、SPFレコードとしてDNSに設定するだけで導入可能です。
日本国内のドメイン(jpドメイン)における普及率は80%を超えており、メールを届けるためにはほぼ必須の設定です。
SPFの設定方法について詳しくはこちらの記事をご参照ください。
SPFレコードの書き方とは? 記述例を総まとめ | ベアメールブログ
DKIM(DomainKeys Identified Mail)
DKIMは、電子署名の仕組みを利用して送信元の認証を行う方式です。
送信SMTPサーバーに電子署名を行う仕組みと秘密鍵を設定し、ペアとなる公開鍵をDKIMレコードとしてDNSに設定する必要があります。サードパーティのメール送信サービスを利用する場合は、そのサービスが指定するDKIMレコードをDNSに設定することで利用可能です。
SPFのようにドメイン全体における普及率は明確になっていませんが、2023年時点でおよそ70%前後と推定されています。Gmailを始めとしたメールサービスプロバイダはSPFに加えDKIMによる認証も重視しており、こちらも現在ではほぼ必須の設定であると言えます。
DKIMについて詳しくはこちらの記事をご参照ください。
DKIMとは? 仕組み・メリット・設定の方法まで解説 | ベアメールブログ
DMARC(Domain-based Message Authentication, Reporting and Conformance)
DMARCは、メールソフト上で表示される送信元ドメイン(ヘッダFrom)と、SPF・DKIMで認証したドメインの一致を検証することで認証を行う方式です。
DMARCの導入自体は、DMARCレコードをDNSに設定するだけなので非常に簡単ですが、事前にSPFかDKIMの導入およびヘッダFromとの一致をクリアする必要があるので、DMARCの認証に合格するには意外と手間がかかる場合があります。
DMARCの普及率は2023年12月時点でおよそ10%となっており、まだまだ低い状況ですが、Gmailの送信者ガイドラインや政府のセキュリティガイドラインなどでも推奨されており、今後はDMARCの設定も必須となっていくと考えられます。
DMARCについて詳しくはこちらの記事をご参照ください。
DMARCとは? 仕組みやメリット、導入方法まで解説 | ベアメールブログ
大量送信の制限
大量のメールを一斉送信する場合、「IPスロットリング」に注意する必要があります。IPスロットリングとは、ISPなどが定めている上限数を超えるメールを受信した場合、対象の送信元IPアドレスを一時的にブロックする仕組みです。
IPスロットリングは基本的に時間の経過とともに自然に解除されますが、反対に言えばブロックされてしまった場合解除されるのを待つしかありません。
IPスロットリングを防ぐためには、一度に送信するメールを少量に絞ることや、複数のIPアドレスから分散して送信すること、IPレピュテーションを高い状態に保っておくことが挙げられます。IPレピュテーションが十分に高ければ、一度に大量のメールを送信してもブロックされにくくなります。
IPスロットリングについて詳しくは以下の記事で解説しています。
メールが届かない!「IPスロットリング」の原因・回避方法とは? | ベアメールブログ
バウンスメールの受信および対応
バウンスメールとは、メール配信にエラーが発生した際に送られる通知メールです。バウンスメールは、メールヘッダに記載されたReturn-Path(エンベロープFrom)に対して送信されるため、バウンスメールをきちんと受信できるよう準備しておく必要があります。
もしバウンスメールの宛先(受信メールサーバーおよびメールアドレス)が存在せず、バウンスメールが正常に送信できない場合、不審な送信者として迷惑メール判定されるリスクが高まるため、必ず受信の準備をするようにしましょう。
また、発生したバウンスメールに対する対応も必要です。特に「宛先が存在しない」などの恒久的なエラーについては、メールの送信リストから削除する必要があります。存在しない宛先にずっとメールを送信していると、レピュテーションへの悪影響や、ブラックリストに登録されるリスクが高まり、メールが届かなくなる恐れがあります。定期的にバウンスをチェックし、内容に応じた対処を行いましょう。
Return-Pathについて詳しくはこちらの記事をご参照ください。
Return-Pathとは? 到達率との関係や設定方法について解説 | ベアメールブログ
バウンスの発生原因と対処法は以下の記事で解説しています。
バウンスメールが発生する理由と対策方法 | ベアメールブログ
Google Cloudからのメール送信にはメールリレーサービスがお勧め
Google Cloudからメールを送信する際は、メール送信に特化したメールリレーサービスの利用をお勧めします。
送信ドメイン認証やバウンスメールの受信対応などについては自社で対応する必要がありますが、OP25B対応、IPウォームアップやIPレピュテーションの管理、大量配信への配慮などは不要になり、SMTPサーバーの構築・運用の負荷を軽減することができます。
Google Cloudの公式ドキュメント内では、Sendgrid、Mailgun、Mailjetが紹介されていますが、日本国内でのメール配信には国産のメールリレーサービスがお勧めです。ここではベアメール メールリレーサービスを例に、国産サービスならではのメリットを解説します。
国産メールリレーサービスのメリット
・日本国内のデータセンターとIPアドレス
ベアメールは、サービス基盤を国内のデータセンターに設置・管理しています。セキュリティポリシー上、サービス基盤が日本国内であることが必須条件という企業でも安心して利用できます。
また国内データセンターの場合、送信元IPアドレスが日本国内となるのも大きなメリットです。世界情勢などの影響からサイバー攻撃が発生し、海外IPから大量のスパムメールが送信されると、国内通信キャリアや国内ISPはサイバーセキュリティを強化し、国外IPアドレスからのメールが届きにくくなることがあります。そのため日本国内でのメール配信については、日本国内のIPよりメールを配信することが望ましいとされています。
・国内キャリアを考慮した配信アルゴリズム
国内通信キャリア・ISPに対して、受け入れてもらえる配信スピードやメールの流量などを考慮してサービスが設計されています。海外のサービスは日本国内の携帯キャリアやISPの制約を考慮した配信アルゴリズムになっていないため、メールがブロックされてしまったり、迷惑メールフォルダに振り分けられてしまう可能性があります。
・充実したサポート体制
導入の支援や、運用開始後のサポートも重要なポイントです。メール配信には思わぬトラブルがつきもので、遅延や不達が生じた場合、ノウハウがなければ原因の特定や解決は難しいケースも多いです。ベアメールは、お客さまの環境や要望に応じた最適な提案、トライアルの導入支援、運用開始後のサポートまで、丁寧で手厚いサポートが強みです。メール到達率改善のための支援も行なっているため、安心して利用することができます。
まとめ
Google Cloudでメール送信する際には、大きく3つの選択肢があります。Compute Engineのインスタンス上にSMTPサーバーを構築する方法、Google Workspaceを利用する方法、サードパーティのメール送信サービスを利用する方法です。メールを宛先に確実に届けるためには、送信ドメイン認証やIPレピュテーション、バウンスメールの受信など、対応しなくてはならない注意点があります。
サードパーティのメール送信サービスを利用することで、メール送信に関する設定や運用の負荷を軽減できます。特に日本国内でのメール配信であれば、国産のメールリレーサービスの利用がお勧めです。ベアメール メールリレーサービスもGoogle Cloudから連携可能ですので、お気軽にご相談ください。