SMTPの例
require 'socket'
host='pevw.nagano.ac.jp'
port='smtp'
from='nobu@nagano.ac.jp'
# 自分のメールアドレスに変更されたし
to='hiraoka@nagano.ac.jp' # 同上
TCPSocket.open(host,port) do |s|
s.puts 'HELO nagano.ac.jp'
s.puts "MAIL from: #{from}"
s.puts "RCPT to: #{to}"
s.puts "DATA"
s.puts gets(nil)
s.puts '.'
puts s.gets(nil)
end
起動すると、入力待ち状態になります( gets(nil) での読み込みを行うため)ので、
適当に何行か、文字を入力してみて下さい。
最後に(前に解説したように、入力終了のしるしとして)
Ctrl-Z Enter
を押す。と、通信が行われます。
もしかしたらプログラムが完了せずに引っかかった状態になることもあります、そのときは、
Ctrl-C
で強制終了してかまいません。
ここで何が起きてるか、については、例えば 「telnetでSMTP」 というようなページを参考にして下さい。