Skip to content

Commit

Permalink
merge revision(s) 27374,27512:
Browse files Browse the repository at this point in the history
	* lib/net/smtp.rb (Net::SMTP#rcptto_list): continue when at least
	  one RCPT is accepted.  based on a patch from Kero van Gelder at
	  [ruby-core:26190].
	* lib/net/smtp.rb (Net::SMTP#rcptto_list): fixed typo.
	  [ruby-core:29809]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@28208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
shyouhei committed Jun 8, 2010
1 parent 35bb464 commit 0b1e932
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 6 deletions.
11 changes: 11 additions & 0 deletions ChangeLog
@@ -1,3 +1,14 @@
Tue Jun 8 15:15:18 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>

* lib/net/smtp.rb (Net::SMTP#rcptto_list): fixed typo.
[ruby-core:29809]

Tue Jun 8 15:15:18 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>

* lib/net/smtp.rb (Net::SMTP#rcptto_list): continue when at least
one RCPT is accepted. based on a patch from Kero van Gelder at
[ruby-core:26190].

Tue Jun 8 15:14:11 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>

* LEGAL: separated the section for parse.c. contributed by Paul
Expand Down
22 changes: 17 additions & 5 deletions lib/net/smtp.rb
Expand Up @@ -651,8 +651,7 @@ def do_finish
def send_message(msgstr, from_addr, *to_addrs)
raise IOError, 'closed session' unless @socket
mailfrom from_addr
rcptto_list to_addrs
data msgstr
rcptto_list(to_addrs) {data msgstr}
end

alias send_mail send_message
Expand Down Expand Up @@ -705,8 +704,7 @@ def send_message(msgstr, from_addr, *to_addrs)
def open_message_stream(from_addr, *to_addrs, &block) # :yield: stream
raise IOError, 'closed session' unless @socket
mailfrom from_addr
rcptto_list to_addrs
data(&block)
rcptto_list(to_addrs) {data(&block)}
end

alias ready open_message_stream # obsolete
Expand Down Expand Up @@ -830,9 +828,23 @@ def mailfrom(from_addr)

def rcptto_list(to_addrs)
raise ArgumentError, 'mail destination not given' if to_addrs.empty?
ok_users = []
unknown_users = []
to_addrs.flatten.each do |addr|
rcptto addr
begin
rcptto addr
rescue SMTPAuthenticationError
unknown_users << addr.dump
else
ok_users << addr
end
end
raise ArgumentError, 'mail destination not given' if ok_users.empty?
ret = yield
unless unknown_users.empty?
raise SMTPAuthenticationError, "failed to deliver for #{unknown_users.join(', ')}"
end
ret
end

def rcptto(to_addr)
Expand Down
2 changes: 1 addition & 1 deletion version.h
Expand Up @@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2010-06-08"
#define RUBY_VERSION_CODE 187
#define RUBY_RELEASE_CODE 20100608
#define RUBY_PATCHLEVEL 272
#define RUBY_PATCHLEVEL 273

#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
Expand Down

0 comments on commit 0b1e932

Please sign in to comment.