Skip to content

Commit 05133ee

Browse files
committed
Merge pull request #46643 from ghiculescu/mail-28
Fix CI for Mail 2.8+
1 parent a4dbb15 commit 05133ee

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

actionmailbox/lib/action_mailbox/mail_ext/addresses.rb

+15-4
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,38 @@
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
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
2626
Array(header[:x_original_to]).collect { |header| Mail::Address.new header.to_s }
2727
end
28+
29+
private
30+
def address_list(obj)
31+
if obj&.respond_to?(:element)
32+
# Mail 2.8+
33+
obj.element
34+
else
35+
# Mail <= 2.7.x
36+
obj&.address_list
37+
end
38+
end
2839
end
2940
end

0 commit comments

Comments
 (0)