From 40ed06d20bad7c827b08505aa5ff6beaaf69a0b1 Mon Sep 17 00:00:00 2001 From: TOMITA Masahiro Date: Mon, 14 Aug 2023 23:44:23 +0900 Subject: [PATCH] The mailfrom method's arguments restored. --- lib/net/smtp.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/net/smtp.rb b/lib/net/smtp.rb index 892faac..8c16d05 100644 --- a/lib/net/smtp.rb +++ b/lib/net/smtp.rb @@ -768,7 +768,8 @@ def any_require_smtputf8(addresses) def send_message(msgstr, from_addr, *to_addrs) to_addrs.flatten! raise IOError, 'closed session' unless @socket - mailfrom from_addr, any_require_smtputf8(to_addrs) + from_addr = Address.new(from_addr, 'SMTPUTF8') if any_require_smtputf8(to_addrs) && capable?('SMTPUTF8') + mailfrom from_addr rcptto_list(to_addrs) {data msgstr} end @@ -823,7 +824,8 @@ def send_message(msgstr, from_addr, *to_addrs) def open_message_stream(from_addr, *to_addrs, &block) # :yield: stream to_addrs.flatten! raise IOError, 'closed session' unless @socket - mailfrom from_addr, any_require_smtputf8(to_addrs) + from_addr = Address.new(from_addr, 'SMTPUTF8') if any_require_smtputf8(to_addrs) && capable?('SMTPUTF8') + mailfrom from_addr rcptto_list(to_addrs) {data(&block)} end @@ -890,8 +892,8 @@ def ehlo(domain) end # +from_addr+ is +String+ or +Net::SMTP::Address+ - def mailfrom(from_addr, require_smtputf8 = false) - addr = if require_smtputf8 || requires_smtputf8(from_addr) + def mailfrom(from_addr) + addr = if requires_smtputf8(from_addr) raise SMTPUTF8RequiredError, "Message requires SMTPUTF8 but server does not support that" unless capable? "SMTPUTF8" Address.new(from_addr, "SMTPUTF8") else @@ -1128,7 +1130,7 @@ def initialize(address, *args, **kw_args) @address = address @parameters = [] end - @parameters = (parameters + args + [kw_args]).map{|param| Array(param)}.flatten(1).map{|param| Array(param).compact.join('=')} + @parameters = (parameters + args + [kw_args]).map{|param| Array(param)}.flatten(1).map{|param| Array(param).compact.join('=')}.uniq end def to_s