From 5eccd28bb30b5ebdc57ded504a27fbf488a65050 Mon Sep 17 00:00:00 2001 From: aamine Date: Sat, 1 Jul 2000 18:28:24 +0000 Subject: * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.25. * lib/net/protocol.rb (each_crlf_line): beg = 0 is needed in adding{} * lib/net/smtp.rb: allow String for to_addr of SMTP#sendmail git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/net/protocol.rb | 6 +++--- lib/net/smtp.rb | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/net/protocol.rb b/lib/net/protocol.rb index f234371a69..f438a86c77 100644 --- a/lib/net/protocol.rb +++ b/lib/net/protocol.rb @@ -64,7 +64,7 @@ module Net class Protocol - Version = '1.1.24' + Version = '1.1.25' class << self @@ -664,10 +664,10 @@ module Net end def each_crlf_line( src ) - str = m = nil - beg = 0 + str = m = beg = nil adding( src ) do + beg = 0 buf = @wbuf while buf.index( /\n|\r\n|\r/, beg ) do m = $~ diff --git a/lib/net/smtp.rb b/lib/net/smtp.rb index bc346d3138..57e4116f2e 100644 --- a/lib/net/smtp.rb +++ b/lib/net/smtp.rb @@ -38,11 +38,15 @@ Net::Protocol If account and password are given, is trying to get authentication by using AUTH command. "authtype" is :plain (symbol) or :cram_md5. +: send_mail( mailsrc, from_addr, to_addrs ) : sendmail( mailsrc, from_addr, to_addrs ) This method sends 'mailsrc' as mail. SMTPSession read strings from 'mailsrc' by calling 'each' iterator, and convert them into "\r\n" terminated string when write. + from_addr must be String. + to_addrs must be Array of String, or String. + Exceptions which SMTP raises are: * Net::ProtoSyntaxError: syntax error (errno.500) * Net::ProtoFatalError: fatal error (errno.550) @@ -91,13 +95,14 @@ module Net attr :esmtp - def sendmail( mailsrc, fromaddr, toaddrs ) - do_ready fromaddr, toaddrs + def send_mail( mailsrc, from_addr, to_addrs ) + do_ready from_addr, to_addrs @command.write_mail mailsrc, nil end + alias sendmail send_mail - def ready( fromaddr, toaddrs, &block ) - do_ready fromaddr, toaddrs + def ready( from_addr, to_addrs, &block ) + do_ready from_addr, to_addrs @command.write_mail nil, block end @@ -105,9 +110,10 @@ module Net private - def do_ready( fromaddr, toaddrs ) - @command.mailfrom fromaddr - @command.rcpt toaddrs + def do_ready( from_addr, to_addrs ) + to_addrs = [to_addrs] if String === to_addrs + @command.mailfrom from_addr + @command.rcpt to_addrs @command.data end -- cgit v1.2.3