2013-06-24 19 views
7

私はSMTPについて学び、telnetを使用してSMTP経由でメールを送信しようとしています。SMTP、Gmail、STARTTLSの使用

私はeasilly経由 Gmailアカウントにメールを送信することができました:

$ host gmail.com 
... 
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com. 
... 
$ telnet gmail-smtp-in.l.google.com 25 
Trying 74.125.142.27... 
... 
Connected to gmail-smtp-in.l.google.com. 
... 
HELO <[email protected]> 
... 

しかし、私はトラブル Gmailアカウントからを送信しましたよ。 SMTPについて私が理解したところでは、SMTPを使用して< [email protected]> から発信gmail SMTPサーバーにメールを送信する必要があります。SMTPサーバーはSMTPを使用して受信者の受信SMTPサーバーにメールを転送します。

しかし、私は困難を抱えています。私がtelnetsmtp.gmail.comにポート465(Gmailの発信smtpメールサーバcanonical)を入力した場合、私はすぐにHELO <[email protected]>で開始した後に切断されるか、STARTTLSに尋ねられます。私はどのように進めるかについての答えを見つけることができません。

何か助けていただければ幸いです。

サイドノート:現在、私はインターネットにアクセスするためにスターバックスの無料Wi-Fiを使用しています。実際に私のコンピュータから直接telnetにアクセスすることはできません(ホストエラーへのルートなし)。代わりに、私はssh私の学校のネットワーク上のリモートLinuxボックスに最初にしてからtelnetそこから動作します。これがなぜなのか?

ありがとうございます!

答えて

21

まず、間違ったポートを使用しているようです。 Gmailでは、SMTP経由でSSLの場合はポート465、STARTTLSの場合はSMTPの場合はポート587を公開します(documented here)。この2つの違いは、SSL経由のSMTPが最初に安全なSSL/TLS接続を確立し、その接続でSMTPを実行し、STARTTLSでSMTPが暗号化されていないSMTPで始まり、次にSSL/TLSに切り替わることです。これがあなたのHELOへの応答を得ない理由です。

$ telnet smtp.gmail.com 587 
Trying 74.125.25.108... 
Connected to gmail-smtp-msa.l.google.com. 
Escape character is '^]'. 
220 mx.google.com ESMTP fr1sm24834956pbb.26 - gsmtp 
HELO <[email protected]> 
250 mx.google.com at your service 
STARTTLS 
220 2.0.0 Ready to start TLS 

しかし、ポート587にtelnetしても、手作業でメールを送信することはできません。面白いことをするには、STARTTLSにする必要があり、SSL/TLS binary protocolを処理して暗号化をネゴシエートすることはできません。

+3

チェックアウトSwaks:また

$ openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf 

を、あなたはSMTPSポートに直接接続することができメールクライアント。 http://www.jetmore.org/john/code/swaks/ – Jed

+0

STARTTLSは機能しませんでした。文書587はTLSに使用され、465はSSLに使用されています:https://support.google.com/a/答え/ 176600?hl = en – flotto

15

テルネットクライアントは、TLSセッションをネゴシエートしません。 OpenSSLのs_clientなどの別のツールを使用する必要があります。あなたのための問題STARTTLSコマンドを次し、TLSネゴシエーション処理します。生のtelnetとの間のギャップを埋めるために

$ openssl s_client -connect smtp.gmail.com:465 -crlf 
関連する問題