2022/05/6

AWSのメールサービスAmazon SESでSMTPを活用する方法

 
  

SMTPとは何か

AWSでは、Eメールを簡単に利用できるサービスとして、Amazon SESを利用できます。もちろん、Amazon EC2でサーバーを設定し、そこにメールサーバーを設定することも可能です。しかし、SMTPはいろいろ問題があり、そのような利用方法はおすすめできません。 まずは、Eメールの仕組みを知ってもらうため、SMTPプロトコルについて解説します。

SMTPプロトコルの基本

SMTPは、Simple Mail Transfer Protocolの略で、インターネットを介して電子メールを転送するためのプロトコルです。 なお、SMTPが電子メールの転送方法として標準化されたのは1982年と古く、当時はまだインターネットが今ほど普及していませんでした。 その後、インターネットの普及に合わせて改訂されてはいますが、基本的な仕様は1982年当時の古い仕様のままで、その仕様が今でも使われています。 そのため、日本語や添付データを扱う場合の処理が複雑になったり、サーバー間の通信が暗号化されていない、また、コンピュータウィルスやフィッシングメールなどの犯罪に利用されやすい、といった問題が指摘されています。

SMTPはバケツリレー方式

SMTPは、「バケツリレー方式」と言われるように、途中、何台ものメールサーバーに中継されて、あて先のサーバーに届ける方式です。 この方法は、 宛て先のメールサーバーに直接接続できなくても、Eメールを送れる便利な方法です。 しかし、途中に入るメールサーバーは、何もチェックせずに転送するだけなので、コンピューターウェルスの拡散や、フィッシングメールなどに利用されやすい、といった問題もあります。 そのため、大量のメールを受信するプロバイダでは、メールの送り先のURLと送信元のサーバーが一致していないとEメール配信をブロックしたり、大量のメールを送信するメールサーバーからのメールの受け取りを拒否することもあります。

メールサーバーの構築は面倒

先ほど説明したように、SMTPのバケツリレー方式の弱点を利用することで、Eメールはコンピュータウィルスやフィッシングメールなどの犯罪に利用されてきました。そのため、商用目的でメールサーバーを運用する際には、多くの制限が課せられます。 例えば、ドメインを取得し、メールサーバーにそのドメインを設定しなければなりません。さらに、Eメールの踏み台にされないように、アクセス可能なEメール送信元をIPアドレスなどで制限するなど、細かなセキュリティ対策が必要です。 その点、AWSのメールサービスであるAmazon SESを利用することで、設定の手間を大幅に省略でき、しかもセキュリティを確保したEメール送信環境を利用できます。もし、Eメールを利用したビジネスを考えている方は、ぜひ、Amazon SESによるSMTPを利用してください。

AWSでEメールを送信するには

AWSでは、Eメールを扱うサービスとして、Amazon SES(Amazon Simple Email Service)を利用できます。そして、このサービスを利用することで、先ほど紹介したSMTPによる安全で確実なEメール送信が可能です。 次から、Amazon SESについて紹介します。

Amazon SESの概要

先ほど説明したように、SMTPは多くの問題を抱えており、犯罪にも利用されることから、送信先に確実に届くとは限りません。その点、Amazon SESでは、Eメールが送信先に届く可能性を高める対策を施し、さらに、セキュリティにも配慮したメールサービスです。 さらに、AWSでは、大量にメールを受け取るプロバイダと協力し、利用者の送信したメールが送信先に届くように、積極的に対応しています。そのため、Amazon SESの利用者はEメールの問題点を気にすることなく、送信先に確実に届くEメールを利用できます。

Amazon SESの認証

SMTPには認証の仕組みはありませんが、先ほど解説したように、SMTPはコンピュータウィルスやフィッシングメールなどの犯罪にも利用されます。 Eメールサーバーを設定したら、悪用されない仕組みが必須です。そのため、Amazon SESでは、SMTPを受け付けるサーバーに認証の仕組みを設定しています。 Amazon SESを介してEメールを送信するには、Eメールソフトなどから直接SMTPで受け付けるケースと、AWS SDKを利用するケースがありますが、どちらも認証が必要です。

Amazon SESでSMTPを利用する方法

Amazon SESでは、多くのプロバイダのように、メールソフトを利用したSMTPメールの発信をサポートしています。また、AWSには、サーバーサイドのプログラムから、各サービスのAPIを利用するSDKを提供していますが、Amazon SESにもAPIがあり、SDKから利用できます。 次から、AWSのEメールサービス、Amazon SESを利用し、SMTP経由、または、AWS SDKを利用してSDEメールを送信する方法について解説します。

Fromに記載するEメールアドレスを準備する

Amazon SESを利用するには、EメールのFromに記載するEメールアドレスが必須です。しかも、そのEメールアドレスは、実在のEメールアドレスでなければなりません。 なお、Fromに記載するEメールアドレスは、Amazon SESのサービスコンソールから登録します。そして登録の際にチェックが行われるので、必ず実在のEメールアドレスを指定してください。 また、Fromに記載するEメールアドレスのドメインも、DNSから検索できなければなりません。Amazon SESのサービスコンソールには、ドメインの登録メニューもあるので、Eメールアドレスと同時に登録してください。

メール用アプリを利用する

普段、Eメールの送受信にメール用アプリを利用されている方も多いでしょう。大抵のメール用アプリは、Eメールの発信にSMTPを利用できます。 Amazon SESでEメールを送信する場合も、メール用アプリが利用できます。ただし、Amazon SESのSMTPにEメールを送信する場合、不正利用されないように認証が必要です。Amazon SESのコンソールから、SMTP経由で送信する際に必要な、アカウントとパスワードを作成してください。 さらに、メール用アプリの設定で必要になるので、SMTP送信に使用するサーバー名とポート番号を、Amazon SESのコンソールでチェックしておきましょう。

AWS SDKから利用する場合

Amazon SESでEメールを送信する場合、SDKを介してAmazon SES API経由で送信するプログラムを作成するケースがよくあります。そのような場合は、AWSアクセスキーが必要です。 AWS SDKを利用する場合は、Amazon SESのコンソールを利用して、AWSアクセスキーとシークレットアクセスキーを入手してください。 そして、AWS SDKを用意し、その認証設定を追加したうえで、Eメールを送信するプログラムを記述してください。なお、AWSでは、プログラムに合わせてEメールを送信するプログラムの例を紹介しているので、参考にすると良いでしょう。

ビジネスでEメールを活用するならAWSで

これまで解説したように、AWSでEメールを利用する場合、Amazon EC2でサーバーを設定するよりも、Amazon SESを利用した方が便利です。 それは、Eメールの送信に利用されるSMTPは、多くの問題を抱えているためで、Amazon SESを利用することで、そのデメリットを回避できます。 もし、AWSを活用し、Eメールを利用したビジネスを検討されているのであれば、今回紹介したようにメリットの多い、Amazon SESを活用してください。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】