Используя почтовый гем (т. Е. Rails + ActionMailer), существует ли чистый способ получить отображаемое имя получателя?
Я могу получить адрес с помощью:
mail.to.first
И я могу получить отформатированное отображаемое имя + адрес с помощью:
mail.header_fields.select{ |f| f.name == "To" }.first.to_s
Но как мне получить только часть отображаемого имени (то есть до <
и >
).Я знаю, что кто-то собирается предложить Regex, но это не то, что я ищу, так как тогда мне придется анализировать любую кодировку, что, вероятно, уже делает Mail gem.Я являюсь автором популярной библиотеки Mailer на PHP и знаю о ловушках простого предположения, что бит до того, как <
и >
читаются человеком, в заголовках, когда в игру вступают 8-битные символы.
Я могу сделать это:
mail.header_fields.select{ |f| f.name == "To" }.first.parse.individual_recipients.first.display_name.text_value
Но должен быть лучший способ?:)