메일 보석 (예 : Rails + ActionMailer)을 사용하면받는 사람의 표시 이름을 가져올 수있는 깨끗한 방법이 있습니까?메일 보석. 받는 사람 표시 이름과 주소를 별도의 값으로 추출하십시오.
내가 가진 주소를 얻을 수 있습니다 :
mail.to.first
를 내가 가진 형식의 표시 이름 + 주소를 얻을 수 있습니다 :
mail.header_fields.select{ |f| f.name == "To" }.first.to_s
을하지만 어떻게 난 그냥 표시 이름 부분을 얻을 수 있습니다 (즉, 전 <
및 >
). 나는 누군가가 Regex를 제안 할 것이라는 것을 알고있다. 그러나 나는 그것이 무엇인지를 파싱해야하기 때문에 내가 찾고있는 것이 아니다. 그것은 메일 젬이 아마도 이미하고있는 어떤 인코딩을 파싱해야하기 때문이다. 필자는 PHP에서 인기있는 메일러 라이브러리의 저자이며, 8 비트 문자가 재생 될 때 머리글에서 <
및 >
이 사람이 읽을 수있는 비트로 가정한다는 함정을 인식하고 있습니다.
mail.header_fields.select{ |f| f.name == "To" }.first.parse.individual_recipients.first.display_name.text_value
을하지만 더 나은 방법이 있어야합니다 :
나는이 작업을 수행 할 수 있습니까? :)
당신의 대답은 나를 표시 이름이 포함 꺾쇠 괄호와 이메일 주소를 만들 수있는 방법을 찾아야 도움도 – tig
을 인용 : '메일 [을 님] .addrs.first .display_name' (이름 - 주소 관계를 유지하려는 경우 편리 할 수 있습니다). –
나는 메시지 [: to]가 메시지와 같은 것이 아니라는 것을 언급하고자한다. 그것은 당황 스럽다! 찾기 위해 2 시간 동안 소스 코드를 파고 들었다. – Konstantin