Telnet で SMTP


  概要



SMTP は 「Simple Mail Transfer Protocol」 の略で、ホスト間でメールを転送するためのプロトコルの名前です。いわゆるメールサーバとは、このSMTP のサービスと、実際のメールデータを一時保存しておくメールボックスの機能を持つ POP サービスの両方の機能を持つサーバの事を言います。

SMTP は送信側主体のプロトコルであり、断続的にしかネットワークに接続されない端末宛への送信に対しては有効な働きをしません。そのため POPサーバを用意し、ユーザ別のメールボックスに保存しておきます。そうしておけば、送信先のユーザは必要なときに POP サーバに接続して自分宛てのメールを POP サーバから受信する事ができます。

SMTP は、TCP/IP プロトコルの ポート 25 番を使用します。サーバにしても、クライアントのメーラにしてもこの値を変更する事はできますが、特殊な事情でも無いかぎり各ソフトのデフォルトである 25 番を使用します。




  対話コマンド




SMTP クライアントはサーバと簡単な対話処理を行っています。この時 SMTP はいくつかのコマンドを使用
しますが、以下の五つのコマンドで基本的な操作を行うことができます。

※ 現在では、HELO では無く、EHLO を使用する

コマンド意味
HELO通信を開始する
MAIL FROM:メールの送り主
RCPT TO:メールの宛先
DATAヘッダを含むメールの本体を送信する
QUIT通信を終了する


参考リンク

  Telnet による送信テスト

Windows 2000(XP)では、DOS窓で行います。

  

>telnet 

で、telnet が開始されます。
Windows 2000 では、>unset local_echo
Windows XP では、>unset localecho

>open サーバー名 25
  

一つ一つコマンドを入力気して応答を確認するのも良いですが、以下を貼り付ける事によって一括して実行可能です

SMTP 認証が無い場合
  

EHLO localhost
MAIL FROM: lightbox@localhost
RCPT TO: lightbox@localhost
DATA
From: lightbox@localhost
Subject: test Mail

ABCD0123XYZ
.
QUIT
  
※ 但し、POP before SMTP が必要の場合は、メールクライアントで受信処理を実行しておきます

  SMTP 認証無し

本文に Shift_JIS の日本語を指定するには こちら で JIS に変換して赤い部分と差し替えて下さい

  

EHLO localhost
MAIL FROM: lightbox@localhost
RCPT TO: lightbox@localhost
DATA
From: lightbox@localhost
Subject: test Mail

$BF|K\8l(B
.
QUIT
  

Subjectに Shift_JIS の日本語を指定するには こちら で 先ほど JIS に変換した文字列を、
base64_encode を行って赤い部分と差し替えて下さい

  

EHLO localhost
MAIL FROM: lightbox@localhost
RCPT TO: lightbox@localhost
DATA
From: lightbox@localhost
Subject: =?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?=

$BF|K\8l(B

.
QUIT
  

  PLAIN で SMTP 認証

サーバーが AUTH コマンドに対応している必要があります。
( ※ EHLO コマンドの応答の中に AUTH エントリがあれば使用可能です )

こちら で \0ユーザー\0パスワード
という文字列を base64_encode_bin で変換して赤い部分と入れ替えて下さい

  

EHLO localhost
AUTH PLAIN AGxpZ2h0Ym94AHBhc3N3b3Jk
MAIL FROM: lightbox@localhost
RCPT TO: lightbox@localhost
DATA
From: lightbox@localhost
Subject: =?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?=

$BF|K\8l(B

.
QUIT
  

  LOGIN で SMTP 認証

赤い部分は、上から ユーザー、パスワードとなるので base64_encode した文字列と置き換えて下さい

  

EHLO localhost
AUTH LOGIN
bGlnaHRib3g=
cGFzc3dvcmQ=
MAIL FROM: lightbox@localhost
RCPT TO: lightbox@localhost
DATA
From: lightbox@localhost
Subject: =?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?=

$BF|K\8l(B

.
QUIT
  

  CRAM-MD5 で SMTP 認証

このメカニズムでは、一括で行う事ができません。
また、エンコードも PHP を使用する必要があるので、以下のようにして行って下さい

  

EHLO localhost
AUTH CRAM-MD5
↓応答( 毎回違います )
NTMzOTcxNzUwMTk3Mjc4NEBsb2NhbGhvc3Q=
↓base64 デコード
5339717501972784@localhost

<?
print hash_hmac( "md5", "5339717501972784@localhost", "password" )
?>

↓上記結果
42098626e455d9aaedf8e37c493cab19
↓前に、ユーザーとスペースを付加
lightbox 42098626e455d9aaedf8e37c493cab19
↓base64 エンコード
bGlnaHRib3ggNDIwOTg2MjZlNDU1ZDlhYWVkZjhlMzdjNDkzY2FiMTk=
↑上記文字列を送る
  




yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[tcpip]
CCBot/2.0 (https://commoncrawl.org/faq/)
18/12/15 16:34:28
InfoBoard Version 1.00 : Language=Perl

BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube