Korzystanie z klejnotu poczty (np. Rails + ActionMailer), czy istnieje czysty sposób na wyświetlenie nazwy odbiorcy?Klejnot poczty. Wyodrębnij wyświetlaną nazwę odbiorcy i adres jako oddzielne wartości.
mogę uzyskać adres z:
mail.to.first
I mogę dostać sformatowaną nazwę wyświetlaną + adres z:
mail.header_fields.select{ |f| f.name == "To" }.first.to_s
Ale jak mogę uzyskać tylko nazwę wyświetlacz (czyli przed <
i >
). Wiem, że ktoś zasugeruje Regex, ale tego nie szukam, ponieważ będę musiał przetworzyć kodowanie, co jest prawdopodobnie klejnotem Mail. Jestem autorem popularnej biblioteki Mailer w PHP i mam świadomość pułapek, które zakładają, że bit przed <
i >
jest czytelny dla człowieka, w nagłówkach, gdy w grę wchodzą znaki 8-bitowe.
mogę to zrobić:
mail.header_fields.select{ |f| f.name == "To" }.first.parse.individual_recipients.first.display_name.text_value
Ale musi być jakiś lepszy sposób? :)
Twoja odpowiedź pomogła mi znaleźć sposób, aby utworzyć adres e-mail z nazwą wyświetlaną zawierających nawiasach kątowych i cytuje – tig
również: 'poczty [: do] .addrs.first .display_name' (może być przydatny, jeśli chcesz zachować relację nazwa-adres). –
Chciałbym wspomnieć, że przesłanie [: to] wcale nie jest tym samym co message.to - to jest zawstydzające !!! Zajęło mi to 2 godziny na wykopanie kodu źródłowego, żeby się dowiedzieć. – Konstantin