diff options
Diffstat (limited to 'lib/net/smtp.rb')
-rw-r--r-- | lib/net/smtp.rb | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/lib/net/smtp.rb b/lib/net/smtp.rb index b2ac287c06..a1a2f5370f 100644 --- a/lib/net/smtp.rb +++ b/lib/net/smtp.rb @@ -121,33 +121,44 @@ Net::Protocol def initialize( sock ) super - check_reply SuccessCode + critical { + check_reply SuccessCode + } end def helo( fromdom ) - getok sprintf( 'HELO %s', fromdom ) + critical { + getok sprintf( 'HELO %s', fromdom ) + } end def ehlo( fromdom ) - getok sprintf( 'EHLO %s', fromdom ) + critical { + getok sprintf( 'EHLO %s', fromdom ) + } end def mailfrom( fromaddr ) - getok sprintf( 'MAIL FROM:<%s>', fromaddr ) + critical { + getok sprintf( 'MAIL FROM:<%s>', fromaddr ) + } end def rcpt( toaddrs ) toaddrs.each do |i| - getok sprintf( 'RCPT TO:<%s>', i ) + critical { + getok sprintf( 'RCPT TO:<%s>', i ) + } end end def data + return unless begin_critical getok 'DATA', ContinueCode end @@ -155,16 +166,19 @@ Net::Protocol def write_mail( mailsrc = nil, &block ) @socket.write_pendstr mailsrc, &block check_reply SuccessCode + end_critical end alias sendmail write_mail - private + def quit + critical { + getok 'QUIT' + } + end - def do_quit - getok 'QUIT' - end + private def get_reply |