<Python> SMTPサーバ

デバック用途のローカルで動くSMTPサーバは下記呪文を唱えればいいらしい。

winpty python -m smtpd -n -c DebuggingServer localhost:1025

msys2の場合、winptyをくっつける。

で、別のターミナルから、telnetでアクセスしてみる。

[1:hage@hage:UTF-8:~]> telnet localhost 1025
Trying ::1...
Connection failed: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 hage.hage.com Python SMTP proxy version 0.3    
HELO 127.0.0.1                                      # アクセス開始
250 hage.hage.com
MAIL FROM: aaa@example.com                          # 送る人のメールアドレス投入
250 OK
RCPT TO: bbb@example.com                            # 受け取る人のアドレス投入
250 OK
DATA                                                # 本文開始を唱える
354 End data with <CR><LF>.<CR><LF>
hello!                                              # 本文
.                                                   # 本文終わり
250 OK
QUIT                                                # ばいばーい。
221 Bye
Connection closed by foreign host.
[2:hage@hage:UTF-8:~]>

すると、smtp側は、

[9:hage@hage:UTF-8:~]> winpty python -m smtpd -n -c DebuggingServer localhost:1025
---------- MESSAGE FOLLOWS ----------
hello!
------------ END MESSAGE ------------

と返す。

ふーん、、、なるへそ。

参考。

d.hatena.ne.jp