SMTPのはじめかた(自作 VS. サービス利用)
- 2023年10月12日
- by SendGrid
- Category: ベストプラクティス 技術ネタ
この記事は How to Setup a Free SMTP Server (Buying vs. DIYing) の抄訳です。
SMTPサーバはメール送信にかかせませんが、自前で構築するのか、外部のSMTPリレーサービスを使うのか、どちらにするか悩んだことがある人も多いのではないでしょうか。
この記事では、SMTPサーバを準備する際に考慮すべきことや、メール配信サービスのTwilio SendGridを使って簡単にセットアップする方法をご説明します。
SMTPサーバ導入の基礎知識
SMTPサーバは、送信元と宛先の間でメールの送受信や中継を行うためのアプリケーションです。メッセージを受け取ると、SMTPサーバはどのサーバにメッセージを中継させるか判断します。その後、受信側のプロバイダがメールのコンテンツをダウンロードし、受信トレイに届けます。
SMTPサーバを自作する場合、Postfixのようなソフトウェア(MTA)を利用する方法が一般的です。Windows 10、macOS、LinuxでシンプルなSMTPサーバを構築することもできますが、これらは拡張が難しく到達率が低い場合が多いため、通常はテスト目的でしか使われません。
SMTPサーバを自作するべき?
SMTPサーバの自作には大きなメリットとデメリットがあります。
時間と労力を費やして自前で準備する価値があるかどうかは、コスト、スケーラビリティ、およびサポートの観点から判断しましょう。
自作のメリット、デメリット
メリット:
- システムや設定を細かく制御できる
- 送信を監視し、到達率向上のための調整を行える
- 独自の認証プロトコルを設定できる
デメリット:
- メールの到達状況は刻々と変化するため、常にサーバをメンテナンスしなければいけない
- メンテンナンスやトラブルでシステムが長時間停止し、ビジネスに悪影響を与える恐れがある
- 認証などの設定がうまくいかない場合でも、自身で解決する必要がある
費用、時間
SMTPリレーサービスを契約する場合、導入時のコストは自作するより高くなる可能性がありますが、SMTPサーバは構築すれば終わりではなく、維持にも工数がかかります。 サーバを常に管理しながら、ハードウェアやソフトウェアを更新したり、トラブルシューティングを行ったりする必要があります。
メールサービスプロバイダ(ESP)であるSendGridは99.99パーセントの稼働率を実現していますが、この数字を達成するまでには数年をかけて微調整してきました。自作する場合、前述のとおり、プログラムの調整や拡張に伴ってシステムを停止せざるを得ないことがあります。メールの停止が企業に与えるコストは膨大なものになるため、その点も考慮が必要です。
スケーラビリティ
一度に数百通規模のメール送信ができれば十分で、数千~数万通を送れるようサーバを拡張する必要がない場合は、自作するのが良いでしょう。
一方、今後メールの送信規模が大きくなり、数十~数百万人もの顧客に定期的に送信する可能性がある場合に、自前のサーバを拡張させるのはとても大変です。
また、メールプログラムが成長してくると、到達率だけではなく、今度はメールが受信者にどう扱われているかを知りたいと思うはずです。SendGridでは、ダッシュボードで配信メトリクスを把握することもできます。
サポート
Twilio SendGridを使う場合は、メールプログラムで問題に直面した際、サポートチームに頼れるメリットがあります。
一方、自作したSMTPサーバのプログラムで何か問題が発生した場合は、社内開発者やメール有識者などを頼りつつ自力で解決するしかありません。
また、サーバの拡張を必要としない小規模な送信であれば自分で構築する方が適しているように思えますが、その場合でもサーバの管理や保守をする人員は必要です。つまり、総合的に見れば、ほとんどの企業にとって外部のSMTPサービスを利用するほうが適していると言えます。 信頼性やコストパフォーマンスが高く、作業工数も減らせるので、ビジネスを成長させることに注力できます。
Twilio SendGridのSMTPサーバを使う方法
ここまで、それぞれの調達方法の特徴を見てきました。次は、SendGridでSMTPサーバの設定を行う方法を紹介します。
1.Telnetでテスト送信する
X-SMTPAPIヘッダの使い方に慣れるため、まずはTelnetでテストメールを送信してみましょう。テスト送信には、以下の準備が必要です。
- Twilio SendGridアカウントの作成
- APIキーの作成(メール送信(Mail Send)権限を持つAPIキーが必要です)
準備が整ったら、ターミナルを開いてこちらの手順を参考に送信してみましょう。
2.Twilio SendGridを自社サービスと連携させる
SMTPサーバの設定に、SendGridのSMTP接続情報を指定しましょう。
この際、使用するポートは587を推奨します。ポート25では送信ができないサーバもあるためです。詳細はこちらの記事をご覧ください。
3.X-SMTPAPIヘッダを使ってメールを作成する
件名や宛先、スケジュール設定など、メールの具体的な内容を作成しましょう。X-SMTPAPIヘッダを使えば、置換タグでコンテンツをパーソナライズするなど、メールを簡単にカスタマイズすることができます。
もし送信エラーになる場合は、こちらを参考にしてください。
早速SendGridを試してみましょう!
Twilio SendGridを使えば、自社システムと簡単に連携し、サーバ管理の心配をすることなくメール送信ができます。SendGridには無料で使えるプランも用意されているので、まずはアカウントを作成してみましょう!
外部サービスを使うか自前でSMTPサーバを準備するか、さらに詳しく検討したい方は、お役立ち資料もぜひダウンロードしてご覧ください。
<参考>