используя рельсы 3 почты - PullRequest
2 голосов
/ 09 мая 2011

Как вы получаете часть имени из переднего поля электронного письма, используя новую почту rails 3?

В фактическом электронном письме есть поле from, подобное этому:

<From: rogger rabbit <roggerrabbit@hotmail.com>>

Если я делаю mail.from.first, я получаю roggerrabbit@hotmail.com часть, но как это получить бит имени, т.е. кролик-роугер?

спасибо большое Rick

Ответы [ 3 ]

2 голосов
/ 10 мая 2011

Глядя на mail-2.2.17 / lib / mail / elements / address.rb я нашел это:

a = Address.new('Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>')
a.format       #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'
a.address      #=> 'mikel@test.lindsaar.net'
a.display_name #=> 'Mikel Lindsaar'
a.local        #=> 'mikel'
a.domain       #=> 'test.lindsaar.net'
a.comments     #=> ['My email address']
a.to_s         #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'

Попробуйте что-то вроде mail [: from] .addrs.collect {| a |a.display_name}

0 голосов
/ 13 июня 2012

После того, как я все время рвал на себе волосы, я наконец-то начал работать с этим:

message[:from].display_names.first

Где "message" - это почтовый объект, через который вы можете перебираться.

Осторожно:Если у отправителя нет отображаемого имени, это будет ноль.

0 голосов
/ 10 мая 2011

Возможно, вы захотите попробовать метод decoded:

mail.from.first.decoded
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...