Skip to content

Commit ade27e5

Browse files
authored
Merge pull request rails#46643 from ghiculescu/mail-28
Fix CI for Mail 2.8+
2 parents 9361b70 + 9e443a8 commit ade27e5

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

actionmailbox/lib/action_mailbox/mail_ext/addresses.rb

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33
module Mail
44
class Message
55
def from_address
6-
header[:from]&.address_list&.addresses&.first
6+
address_list(header[:from])&.addresses&.first
77
end
88

99
def recipients_addresses
1010
to_addresses + cc_addresses + bcc_addresses + x_original_to_addresses + x_forwarded_to_addresses
1111
end
1212

1313
def to_addresses
14-
Array(header[:to]&.address_list&.addresses)
14+
Array(address_list(header[:to])&.addresses)
1515
end
1616

1717
def cc_addresses
18-
Array(header[:cc]&.address_list&.addresses)
18+
Array(address_list(header[:cc])&.addresses)
1919
end
2020

2121
def bcc_addresses
22-
Array(header[:bcc]&.address_list&.addresses)
22+
Array(address_list(header[:bcc])&.addresses)
2323
end
2424

2525
def x_original_to_addresses
@@ -29,5 +29,16 @@ def x_original_to_addresses
2929
def x_forwarded_to_addresses
3030
Array(header[:x_forwarded_to]).collect { |header| Mail::Address.new header.to_s }
3131
end
32+
33+
private
34+
def address_list(obj)
35+
if obj&.respond_to?(:element)
36+
# Mail 2.8+
37+
obj.element
38+
else
39+
# Mail <= 2.7.x
40+
obj&.address_list
41+
end
42+
end
3243
end
3344
end

0 commit comments

Comments
 (0)