Commit 64202f6
Changed files (3)
spec
minbox
lib/minbox/client.rb
@@ -8,7 +8,7 @@ module Minbox
@socket = socket
end
- def mail_message(&block)
+ def handle(&block)
write "220"
while connected? && (line = read)
case line
@@ -61,6 +61,7 @@ module Minbox
_ehlo, _client_domain = line.split(" ")
write "250-#{host}"
#write "250 AUTH PLAIN LOGIN"
+ write "250-ENHANCEDSTATUSCODES"
write "250 OK"
end
lib/minbox/server.rb
@@ -22,7 +22,7 @@ module Minbox
def handle(socket, &block)
logger.debug("client connected: #{socket.inspect}")
- Client.new(host, socket, logger).mail_message(&block)
+ Client.new(host, socket, logger).handle(&block)
end
def shutdown!
spec/minbox/server_spec.rb
@@ -75,6 +75,25 @@ RSpec.describe Minbox::Server do
specify { expect(result).to be_success }
specify { expect(result.status.to_i).to eql(250) }
end
+
+ context "with html part" do
+ let(:result) do
+ mail = create_mail do |x|
+ x.text_part do
+ body 'this is plain text'
+ end
+ x.html_part do
+ body '<h1>this is html</h1>'
+ end
+ end
+ Net::SMTP.start(host, port) do |smtp|
+ smtp.send_message(mail.to_s, Faker::Internet.email, Faker::Internet.email)
+ end
+ end
+
+ specify { expect(result).to be_success }
+ specify { expect(result.status.to_i).to eql(250) }
+ end
end
end
end