зеркало из https://github.com/github/ruby.git
* 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
This commit is contained in:
Родитель
951d81cab8
Коммит
5eccd28bb3
|
@ -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 = $~
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче