この記事の目次
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メールを送信するには

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を利用する方法

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で

この記事の監修者・著者

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