Commit 3038335
Changed files (1)
lib
minbox
lib/minbox/client.rb
@@ -10,18 +10,10 @@ module Minbox
def mail_message
socket.puts "220"
-
- line = socket.gets
- process(line, socket)
-
- line = socket.gets
- until line.start_with?("DATA")
+ while (line = socket.gets)
process(line, socket)
- line = socket.gets
end
- process(line, socket)
socket.close
-
Mail.new(mail[:body].join)
end
@@ -34,6 +26,7 @@ module Minbox
when /^MAIL FROM/i then mail_from(line, socket)
when /^RCPT TO/i then rcpt_to(line, socket)
when /^DATA/i then data(line, socket)
+ when /^QUIT/i then quit(line, socket)
else
puts "***" * 10
puts line.inspect
@@ -42,6 +35,10 @@ module Minbox
end
end
+ def quit(line, socket)
+ socket.puts "221 Bye"
+ end
+
def data(line, socket)
socket.puts "354 End data with <CR><LF>.<CR><LF>"
line = socket.gets
@@ -50,7 +47,7 @@ module Minbox
line = socket.gets
end
socket.puts "250 OK"
- socket.puts "221 Bye"
+ quit(line, socket)
end
def rcpt_to(line, socket)