このチュートリアルではまず、OutlookのSMTPとは何か、(実践的な例を含む)OutlookのSMTPの設定方法、ユースケースと制限事項について説明いたします。その後、メール送信能力に優れていて、かつ信頼できる代替ツールであるMailtrapについてもご紹介していきます。
OutlookのSMTPサーバーとは?
Simple Mail Transfer Protocol (SMTP)は、インターネットを介したメール通信のための標準プロトコルです。具体的には、一連のコマンドを通じてメールサーバーが送信者と受信者の間でメールを送受信し、リレー(中継)する方法を定義する形で動作するため、メール配信プロセスの主要な部分を占めます。つまり簡単にいうと、SMTPはメール通信の送信部分を担当します。
詳細はSMTPの基本についてのブログ記事をご覧ください。OutlookのSMTPサーバーはMicrosoftにより提供されており、MicrosoftのメールサービスOutlook.com(旧Hotmail)を使ってメールを送信するためのプロトコルです。ただし、アプリケーションやメールクライアント(Mozilla Thunderbird、Yahoo Mail、Mac Mailなど)でメールを送信する際にも使えます。
なお、OutlookのSMTPは無料で使えます。Microsoftが提供する有料オプションであるOffice 365 SMTPと混同しないようご注意ください。Office 365 SMTPには追加機能が備わっており、送信制限が緩和されています。
OutlookのSMTPポート
- ポート587 (推奨) これはSTARTTLS暗号化と共に使われ、OutlookのSMTP経由でメッセージを送信するための標準ポートです。送信中にメールが不正な第三者によって読み取られたり傍受されたりするのを防げます。
- ポート25 (代替) こちらはもともと暗号化をサポートしていず、傍受に対して脆弱なのです。よって、スパムを減らすために多くのISPやクラウドサービスプロバイダーによってブロックされています。通常、管理された環境内でのSMTPリレーに使われます(例: サーバー間でメッセージがリレーされる内部ネットワーク)。
さまざまなSMTPポートについて詳しくお知りになりたい場合は、このトピックについての記事、または動画をご覧ください。
OutlookのSMTPサーバーの用途
OutlookのSMTPサーバーには多岐にわたる機能があり、次のようなことに役立ちます 。
- トランザクションメールの送信 中程度の量のパーソナライズされたトランザクションメール(購入確認、パスワードリセットなど)を送信するのに最適です。
- 自動通知の実装 OutlookのSMTPサーバーを活用すると、アプリケーションに関連する更新、リマインダー、またはその他の詳細についてユーザーに通知する自動通知を送信できます。
- Outlookアドレスで異なるクライアントからメールを送信 ThunderbirdやYahoo Mailなどのメールアプリケーションを使っている場合でも、Outlookを直接使っているかのようにメールを送信するよう設定できます。
- カスタムアプリにメール送信機能を追加 (ブランディングまたは認証目的で)アプリケーションからメッセージを送信する際に会社のメールアドレスをお使いになりたい場合、OutlookのSMTPサーバー経由でメッセージを送信するよう設定できます。
OutlookのSMTPサーバーを使うべき理由
開発者であれプロダクトマネージャーであれ、OutlookのSMTPサーバーを使い始める前に、その利点をよく理解することは重要です。
以下は、当社のメール到達率エキスパートのヤロスラフによるOutlookのSMTPの利点の概要説明です。
- 設定が簡単 この記事の後半で詳しく解説しますが、OutlookのSMTPの設定は非常に簡単です。必要手順は、資格情報をコピーしてメールクライアントまたはアプリケーションの設定に貼り付けるだけです。
- Microsoftサービス連携 OutlookのSMTPを使うと、メール関連の作業をMicrosoft Outlook 365、SharePoint、OneDriveなどの他のMicrosoftサービスとシームレスに同期できます。
- 安全なメール送信 Secure Password Authenticationは必要ありませんが、OutlookはSTARTTLSをサポートしています。つまり、メール通信は暗号化された接続を通じて保護されるので、送信中に機密情報が傍受されるのを防げます。
- 信頼性の高いインフラストラクチャ Microsoftは信頼性の高いインフラストラクチャを備えているため、メールサービスの信頼性と稼働時間が保証されています。送信制限を超えない限り、メールが送られなかったり遅延したりするリスクは最小限に抑えられます。
- 幅広い互換性 OutlookのSMTPは非常に柔軟で、ほとんどのメールプログラムやソフトウェア開発キット(SDK)と互換性があります。
- 開発者フレンドリー アプリケーションとOutlookのSMTPを統合するための広範なドキュメントはありませんが、開発者はMicrosoft Tech Communityフォーラムで多くの役立つ情報を見つけられるでしょう。(なおサポートページは情報満載です)
特に個人ユーザーや小規模アプリケーションにとっては様々なメリットがある実用的な無料ツールですが、Outlookには制限もある旨、ご留意ください。これについては以下のセクションで説明いたします。
OutlookのSMTPサーバーの構成方法
基本事項についてご理解いただけたと思いますので、これからはWebアプリケーションや様々なメールクライアントからOutlookのSMTP経由でメールを送信するための設定方法について解説していきます。
ステップ1. 2段階認証を有効にする
まず最初に、OutlookのSMTPに必要な「アプリパスワード」を生成するために、2段階認証を有効にする必要があります。
やり方は次のとおりです。
- Microsoftセキュリティページでアカウントにサインインします。
- 「高度なセキュリティオプション」または「2段階認証」を選択します。
- 「追加のセキュリティ」セクションの「2段階認証」で「有効にする」をクリックします。
- アプリ、代替メールアドレス、または電話番号で本人確認を行います。
ステップ2. アプリ固有のパスワードを生成する
次に、アプリパスワードを生成します。
- Microsoftセキュリティページにアクセスしてサインインします。
- 「アプリ パスワード」セクションの「新しいアプリ パスワードの作成」をクリックします。
- 生成されたアプリパスワードをメモしておきます。ページを離れたり閉じたりすると二度と表示されません。
- ヒント アプリパスワードはを何回でも生成できるので、紛失されても心配はご無用です。
ステップ3. 必要なOutlookのSMTP設定を入力する
OutlookのSMTP経由でメールを送信するには、アプリまたはメールクライアントに以下の設定を入力します。
- SMTPサーバー名: smtp-mail.outlook.com
- SMTPポート: 587
- SMTP暗号化: STARTTLS
- ユーザー名: 完全なOutlook メールアドレス(例: john.doe@hotmail.com または jane.doe@live.com)
- パスワード: 先ほど生成したアプリパスワード
設定例
デモンストレーションとして、次のセクションではWordPress、Python、ThunderbirdでOutlookのSMTPを設定する場合の具体的な手順をご紹介します。
WordPressでOutlookのSMTPを設定する方法
WordPressの場合、WP Mail SMTPやPost SMTPなどのプラグインを使ってMicrosoft OutlookのSMTPサーバーを設定できます。ここではWP Mail SMTPを使用します。
手順は次のとおりです。
- WordPressアカウントにログインします。
- ダッシュボードからWP Mail SMTPプラグインをインストールします。
- WP Mail SMTP → Settingsに移動します。
- メーラーとして「Other SMTP」を選択します。
- OutlookのSMTP設定を入力します。
PythonでOutlookのSMTPを設定する方法
Pythonベースのアプリケーションで作業されている場合、OutlookのSMTP資格情報でコードスニペットを変更してプレーンテキストメールを送る方法は次のとおりです。
import smtplib
from email.mime.text import MIMEText
subject = "メールの件名"
body = "これはテキストメッセージの本文です"
sender = "sender@hotmail.com" # あなたのOutlookメールアドレス
recipients = ["recipient1@gmail.com", "recipient2@gmail.com"] # 受信者のメールアドレス
password = "password" # あなたのアプリ固有のパスワード
def send_email(subject, body, sender, recipients, password):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = ', '.join(recipients)
with smtplib.SMTP('smtp-mail.outlook.com', 587) as smtp_server:
smtp_server.ehlo() # 省略可能
smtp_server.starttls() # 接続を保護
smtp_server.ehlo() # 省略可能
smtp_server.login(sender, password)
smtp_server.sendmail(sender, recipients, msg.as_string())
print("メッセージ送信完了!")
send_email(subject, body, sender, recipients, password)
ThunderbirdでOutlookのSMTPを設定する方法
Thunderbirdを使ってOutlookのSMTPサーバー経由でメールを送信するには、次の手順に従います。
- Thunderbird メールクライアントを起動します。
- ウィンドウの右上隅にある「アカウント設定」 (Account Settings) をクリックします。
- ドロップダウンメニューの下部にある「送信サーバー(SMTP)」 (Outgoing Server (SMTP)) を選択します。
- OutlookのSMTP設定を入力します。
この例ではThunderbirdバージョン115.0を使いました。古いバージョンのThunderbirdをお使いの場合、「アカウント設定」へのアクセスが若干異なる場合があります。
OutlookでPOP3を構成する方法
これでOutlookのSMTPでメールを送る方法もご理解いただけたかと思います。それでは次に、メッセージを取得するための受信プロトコル、Post Office Protocol 3 (POP3)を設定してみましょう。
POP3を使うと、TCP/IP接続を介してOutlookアカウントからローカルコンピュータまたはデバイスにメールをダウンロードできます。POP3を使うと、ダウンロード後にメッセージをオフラインで表示できるため、インターネット接続が常時ない場合や、メールをローカルにバックアップしたい場合に便利です。
ステップ1. Outlookの設定でPOPアクセスを有効にする
- MicrosoftアカウントでOutlook.comにサインインします。
- ページ右上の歯車アイコンをクリックして設定を開きます、
- Select ‘Sync email’ under the ‘Mail’ section
- Tick the ‘Let devices and apps use POP’ option
- 終了する前に「保存」をクリックして設定を保存します。
ステップ2. 必要なPOP情報を入力する
POP3を構成するには、アプリまたはメールクライアントに次のPOP設定を入力します。
- POPサーバー: outlook.office365.com
- POPポート: 995
- 暗号化方法: TLS
- ユーザー名: 完全なOutlook メールアドレス(例: john.doe@hotmail.com)
- パスワード: 先ほど生成したアプリパスワード
OutlookでIMAPを構成する方法
Internet Message Access Protocol (IMAP)は、メールの取得用に使えるもうひとつのプロトコルです。POP3をお使いになりたくない際には、こちらをご利用ください。
サーバーからローカルデバイスにメッセージをダウンロードするPOP3とは対照的に、IMAPはすべてのデバイス間でメールを同期します。基本的にメッセージはメールサーバーに保存され、そこで受信トレイを管理したり、メールのコピーをダウンロードしたりできます。
そのため受信トレイをより詳細に制御でき、どのデバイスからでもメールにアクセスして整理できるため、柔軟性が向上します。
OutlookでIMAPを構成する
OutlookはデフォルトでIMAPを使うため、メール設定で有効にする必要はありません。代わりに次のIMAPアカウント情報が必要になります。
- IMAPサーバー名: outlook.office365.com
- IMAPポート: 993
- 暗号化方法: TLS
- ユーザー名: 完全なOutlook メールアドレス(例 : john.doe@hotmail.com)
- パスワード: 先ほど生成したアプリパスワード
POP3とIMAP: 各プロトコルの適切な使用時期
POP3とIMAPについてですが、どちらのプロトコルが受信メールサーバーに適しているかは、個人のニーズと要件によるでしょう。
再度、当社の到達率エキスパートのヤロスラフに聞いたところ、以下の回答がありました。
- POP3
セキュリティ上の理由からローカルデバイスにメールを保存したい場合、またはインターネット接続が限られていてメールをダウンロードする必要がある場合は、POP3をお使いください。
単一のデバイスで便利にメールメッセージを取得したい場合、または大量のメールの受信が予想されているけれどもクラウドストレージの容量が限られている場合にもPOP3は役に立つはずです。
- IMAP
クラウドメールを好み、ノートパソコンやスマホなど異なるデバイス間でメッセージを同期する予定がある場合、またはデータ損失などの問題を避けるためにクラウドにバックアップしたい場合は、IMAPをお使いください🤕。
また、安定したインターネット接続があり、いつでもメールアカウントにアクセスできる場合は、IMAPをお勧めします。
最後に、一部のメールを削除しなくても、メールを保存するための十分なスペースがサーバーにある場合(または時々一部のメールを削除しても構わない場合)は、確実にIMAPが良いでしょう。
OutlookのSMTPサーバーエラーのトラブルシューティング
Stack Overflowや他のコミュニティフォーラムで見かけた、最も一般的なOutlookのSMTP関連のエラーは以下の通りです。
- #5.5.0 smtp;553 sorry, that domain isn’t in my list of allowed rcpthosts(訳: そのドメインは私の許可されたrcpthostsリストにありません) (#5.7.1)
このエラーメッセージは、受信者のメールサーバーがあなたからの受信メールをブロックしていることを意味します。この場合、受信者に連絡するか、別の送信メールサーバーを使って新しいメールを送信する必要があります。
- 553 5.7.1 Sender address rejected: not owned by user(訳: 送信者アドレスが拒否されました。ユーザーにより所有されていません)
このエラーメッセージは、SMTPサーバー設定に間違いがあることを意味します。修正するには、単に設定を確認するか、別のアカウントからメッセージを送信してみてください。
- タスク: Sending reported error(訳: 送信中にエラーが報告されました)(0x80042109): Outlook cannot connect to your outgoing (SMTP) e-mail server.(訳: Outlookは送信(SMTP)メールサーバーに接続できません)
この長いエラーメッセージが表示された場合は、OutlookのSMTP設定にポート番号のタイプミスがあるか、ファイアウォールまたはアンチウイルスがメッセージをブロックしている可能性があります。ファイアウォールとアンチウイルスを一時的に無効にしてみて、メッセージが最終的に通過するかどうかをご確認ください。
- エラー 0x800CCC0F
上のエラーメッセージと同様に、アンチウイルススキャナーがOutlookのSMTPをブロックしているためエラーが発生している可能性があります。修正するには、メールスキャンを無効にするか、アンチウイルスソフトウェアのタイムアウト設定を増やしてみてください。そして、ファイアウォールがアンチウイルススキャナーのインターネット接続を許可していることを確認してください。
- エラー 0x800CCC7D
このエラーメッセージは、SMTP設定で代替のポート番号25を選択した場合に表示される可能性があります。ポート番号25はSSL(Secure Sockets Layer)で動作するので、このエラーは基本的にSSLエラーであることを示しています。修正するには、単により安全なポート587に変更し、STARTTLSをお使いください。
- Error 0x800CCC78
これはより一般的なタイプミスのエラーの1つで、問題の根本は「From」フィールドにあります。修正するには、アドレスに誤ってダブルスペースが入力されていないか、または小文字と大文字の間違いなどのタイプミスがないかをご確認ください。
- エラー 0x80040119またはUnknown error(訳: 不明なエラー)(814441)
これは厳密には送信エラーではありませんが、Outlookでメールを読んだり、受信したり、削除したりしようとするときに発生するエラーです。修正するには、Outlookのデータにアクセスできるアプリケーションまたはメールクライアントを無効にしてからコンピュータを再起動した後に、再度有効にしてみてください。
エラーが続く場合は、受信トレイ修復ツール(SCANPST.exe)でOutlookデータファイル(PSTまたはOST)を修復するか、Outlookアドインに潜在的な問題がないかご確認ください。
OutlookのSMTPの制限事項: Microsoft OutlookをSMTPサーバーとして使わない場合
先に述べたようにOutlookのSMTPには特定の制限事項があるので、利用が理想的ではないケースもあるでしょう。
具体的には、以下のような制限があります。
- 送信制限 迷惑メールを防ぐために、Microsoftは1日あたりメール送信は300通という制限を設けています。各メールは最大100人の受信者に送信できます。この制限を超えると、メールがブロックされて、迷惑メールとして判断されるリスクがあります。
- メールの一斉送信には理想的ではない 送信制限を考慮すると、メールニュースレターテンプレートを使って作成されたメールキャンペーンや、多数の受信者へのプロモーションメッセージの送信には、OutlookのSMTPは最適ではありません。
- 添付ファイルのサイズ制限 OutlookのSMTPで送信できる添付ファイルのサイズは最大25MBです。これより大きなファイルを共有する唯一の方法は、上限が2GBのOneDriveです。
- テクニカルサポートなし 有料版のMicrosoft Office 365はカスタマーサポートがありますが、無料のOutlookのSMTPサービスにはありません。したがって、エラーメッセージを解決するにはコミュニティフォーラム、またはもちろんこの記事などに頼る必要があります🛠️🙂。
- 高度な機能の欠如 Mailtrapなど一部のSMTPサービスプロバイダーと比較すると、Outlookではかなり限られた機能しか提供されていません。配信レポート、迷惑メールレポート、その他の重要なデータはOutlookのSMTPでは利用できません。
- カスタマイズと統合の不足 設定とセットアップは非常に簡単ですが、OutlookのSMTPには基本的なメール送信機能しかありません。よって、CRMシステムとの統合、メールヘッダーのカスタマイズ、特定のセキュリティプロトコルの実装などをしたい場合には向いていないでしょう。
- コンプライアンスとセキュリティ要件 残念ながらOutlookのSMTPは、例えばGDPRなどの特定のコンプライアンスおよびセキュリティ要件を満たしていません。もっとカスタマイズされている、セキュリティに準拠したSMTPサービスをお探しの場合は、他のメールプロバイダーのご検討をお勧めします。
OutlookのSMTPの代替ツール: Mailtrap SMTP
OutlookのSMTPには制限があるため、別のツールをお求めの方のために、SMTPサービスを提供するメール配信プラットフォームであるMailtrapをご紹介いたします。Mailtrapはメールを時間通りに配信するよう設計されているシステムです。
OutlookのSMTPとは異なり、MailtrapのSMTPサービスは全体像を把握できるダッシュボードおよび詳細な分析機能を備えています。具体的にはバウンス率、開封率、クリックスルー率、その他メールインフラストラクチャを微調整するために必要な多くの重要な統計をご利用いただけます。
さらにMailtrapを使うと、専門の一斉メール送信機能を用いて、一度に多数の受信者にマーケティングまたはプロモーションメールを送信できます。
またMailtrapはGDPRに完全に準拠しており、TLS/SSL暗号化などの安全なメール送信プラクティスに従っているため、セキュリティについて心配する必要はありません。
加えて、専用IP、自動IPウォームアップ、抑制リスト、その他メール到達率の向上に役立つ機能もご利用いただけます。
メールの到達率に関連する話になりますが、メールのテストはメール送信に不可欠なプロセスであり、業界のベストプラクティスといえるでしょう。特にHTMLメールに関しては、クライアントを途中で失ってしまうことなく適切にレンダリングすることが重要です。
その点、Mailtrapのメール送信テスト機能は最適です。Mailtrapメール配信システムの一環であるこの機能を使えば、スパムスコアの確認、HTML/CSSの検査・検証を行い、コードが受信者の受信トレイに届く前に完璧であることを確認できます。
簡単にいうと、Mailtrapメール配信システムを使えば、メールのテストと送信およびメールインフラストラクチャの制御を1か所で行えるのです。
使い方の概要は、以下のとおりです。
- Mailtrapでアカウントを作成します。
- Sending Domains(送信ドメイン)に移動し、ドメインを追加します。
- Mailtrapが提供するDNSレコードをドメインプロバイダーのDNSに追加して、ドメインを検証します。
- ドメインが検証されたら、Sending Domains(送信ドメイン)の下にあるSMTP/API Settings(SMTP/API設定)タブに移動し、希望するSMTPストリームを選択します。
- Mailtrapが提供するSMTP設定を使い、アプリケーションまたはメールクライアント内の機能を統合します。
- テストメールを送信して、すべてが正しく設定されていることを確認します。
まとめ
OutlookのSMTPサーバーを導入するかどうかはあなた次第です。もしOutlookの制限が気にならず、機能が若干不足していても構わないなら、決断も難しくないでしょう。
一方で、アプリケーションにメール送信機能を追加したいとお考えなら、より信頼性できる多目的なソリューションとしてMailtrapをお勧めします。
本記事を最後までお読みいただきありがとうございます。それではメール送信をお楽しみください!