summaryrefslogtreecommitdiff
path: root/lib/net/smtp.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/net/smtp.rb')
-rw-r--r--lib/net/smtp.rb32
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