あなたは私たちが議論しようとしているもののすべての詳細を理解していることを確認するには、SMTPが何であり、何がそれでテストすることができるかを定義してみましょう。
SMTP(Simple Mail Transfer Protocol)は、インターネット上の電子メールワークフローの背後にある方法論です。 人々はおそらく電子メールが彼らの行先にいかに得るか疑問に思っている。 SMTPはそれを完全にカバーし、封筒に実際の手紙を配達するメカニズムに似たものを実装します。 SMTPサーバー、またはSMTPを実行しているコンピュータだけは、インターネットのメールキャリアの略です。 メッセージはこのサーバーに直接送信され、その結果、受信者にメールが配信されます。 かなり便利ですよね。
特定のSMTPサーバーにtelnetingするだけで、さまざまなことがテストできます:
- サーバーは動作していますか?
- 通信をブロックするファイアウォールですか?
- メールサーバーは、特定のドメインまたはメールアドレスの中継を許可していますか?
- メールサーバーはどのSMTPコマンドをサポートしていますか?
- サーバーが応答するのにどれくらいの時間がかかりますか?
- サーバーは正しいホスト名で応答しますか?
手動telnetセッションでSMTPサーバーをテストするには?
まず、telnetクライアントがサーバー上にインストールされているかどうかを確認する必要があります。 次に、ログインするメールサーバーを検索する必要があります。 続行するには、特定のドメインのDNS MXレコードが必要になります。 次のコマンドに似たものを使用できます。
Windows:
nslookup -type=mx mailtrap.io
リナックス:
nslookup -type=mx mailtrap.ioNon-authoritative answer:Server:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:mailtrap.iomail exchanger = 10 aspmx2.googlemail.com.mailtrap.iomail exchanger = 10 aspmx3.googlemail.com.mailtrap.iomail exchanger = 1 aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt1.aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt2.aspmx.l.google.com.
使用するIPには、DNS PTRが必要です。 このためには、インターネットが私たちを持っていると見なしているIPアドレスから始める必要があります。 このようなサイトhttp://whatismyipaddress.com/この場合、完璧な解決策になる可能性があります。
IPアドレスがわかったら、次のコマンドを実行し、T.T.T.TがIPアドレスを表します。
:
nslookup -type=ptr T.T.T.T
リナックス:
nslookup -type=ptr A.B.C.DServer:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:212.235.118.46.in-addr.arpaname = SOL-FTTB.212.235.118.46.sovam.net.ua.
railswareのMXレコードという二つの基本的な要件があります。使用するIPのcomとPTR。 この時点で、SMTPサーバーにログインできます。 それを行うには、次のコマンドを使用します:
telnet mail.railsware.com 25
次のコードのようなものが表示されます:
Trying 45.55.56.249...Connected to mail.railsware.com (45.55.56.249).Escape character is '^]'.220 mail.railsware.com (PowerMTA(TM) v4.0) ESMTP service readyThe first command to issue to the mail server is going to be EHLO or HELO, which is a basic greeting that initiates the communication between the SMTP server and the telnet client.EHLO server.example.com
次のようなものが返されます:
250-mail.railsware.com says hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN
MAIL FROMコマンドは次の問題になります。 このコマンドは、バウンスが配信されるアドレスを定義します。 “From”ヘッダーは似たようなものではありません(電子メールクライアントに表示される電子メールアドレス)。
MAIL FROM: <[email protected]>250 2.1.0 MAIL ok
MAIL FROMコマンドが送信されたので、RCPT TOコマンドを送信できます。 RCPT TOコマンドは、メッセージを誰に送信するかを決定します。 これは”TO”ヘッダーに似ていますが、”TO”ヘッダーとは異なります。
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> okBefore starting the body of the message, you should run the DATA command. This command "explains" that all the other content, aside from previous, is the body of the message, including the headers.DATA354 send message
以下を含むメールサーバーの一部mail.rsilsware.com、パイプライン処理をサポートします。 これは、EHLOコマンドの後に他のコマンドに応答する前に、DATAコマンドが発行されるまでSMTPメールサーバーが待機することを意味します。 この場合、応答を待つ前に、MAIL FROM、RCPT TO、およびDATAコマンドを入力します。
無料でMailtrapを試してみてください
SMTPサーバーをテストするためのオンラインサービス
最初に、SMTPサーバーのアドレスを定義する必要があります。 Ns lookupコマンドを使用してそれを行うか、オンラインサービスの一部をhttps://mxtoolbox.com/SuperTool.aspx?action=mx#として使用することができます。
SMTPチェックサービスには、サーバー DNSブラックリストの状態の確認、MXレコードの確認、中継設定、PTRレコード、メールアドレスの確認など、いくつかの段階が含まれます。 私たちはあなたがSMTPサーバーを調べるのを助けることができるいくつかのオンラインサービスを持っています:
https://mxtoolbox.com/diagnostic.aspx
MX Toolboxは、以下の簡単なテストを実行する無料のサービスです:
- SMTP Dnsの逆引き不一致
- SMTP有効なホスト名
- SMTPバナーチェック
- SMTP TLS
- SMTP接続時間
- SMTPオープンリレー
- SMTPトランザクション時間
しかし、ポー テストの数も限られています。
https://www.wormly.com/test_smtp_server
WormlyはあなたのSMTPサーバーをチェックするための無料トライアルを提供しますが、ポートまたはパスワードを定義することはできません、安全な接続も利用
http://smtper.nanogenesis.fr/
SMTPerは確かにポートを定義することができ、安全な接続と承認をユーザーに提供する最も便利なソリューションです。 また、送信者と受信者の両方のフォームに記入することもできます。
test-smtp.com
http://www.test-smtp.com/
テストSMTPは、中継テストを実行するためにSMTPサーバーに要求を送信するだけです。 このサービスには、適切なSMTP検査のための十分なツールキットがありません。
testsmtp.tcsoftware.net
http://testsmtp.tcsoftware.net/
チェックSMTPは、プロセスの特定の部分で動作しますが、適切な検査には十分ではありません。 安全な接続を提供しません。
チェックSMTPは、次のテストを実行します:
- サーバーのDNSブラックリストの状態を確認する
- MXレコードを確認する
- リレー構成
- PTRレコード(逆引き)
- メールアドレスを確認する
追加のリソース
あなたのインフラのためにアップ? ここであなたのガイドを見つける:
- PHPでメールを送信する
- PHPMailerでメールを送信する
- Laravelでメールを送信する
- Symfonyでメールを送信する
- NodeJSでメールを送信する
- Nodemailerでメールを送信する
- Nodejsでメールを送信する
- Nodemailerでメールを送信する
- java
- pythonで電子メールを送信する
- djangoで電子メールを送信する
- Goで電子メールを送信する
- Rubyで電子メールを送信する
- Aspで電子メールを送信する。Net C#
- Angularアプリからのメールの送信
- Reactアプリからのメールの送信
- React Nativeアプリからのメールの送信