2017-09-28 3 views
1

IM은 IMAP 사서함에서 전자 메일을 수집하기 위해 asp mvc core에서 mailKit을 사용합니다. MailKit 보낸 사람 주소

나는이 메시지의 모든 결과를 반환 명령

var message = inbox.GetMessage(uid) 

를 사용하여 메시지를 반환합니다. 여기에서 보낸 사람 전자 메일 주소 (이름 제외)에 액세스하려고합니다. 위의 줄에 breakpointing 후 난, 변수 메시지가 intelisence 내 (다음 특성 그러나 주소가 표시되지

message 
-From 
--From(Array) 
---From(item) 
----Name (name of the sender) 
----Address(email of the sender) 

위의 난 이름을 수신 할 수 있어요 메시지를 사용하여 위의 참조

을 가지고 있음을 알 수 도 아니다)

var name = message.From[0].Name.ToString() 

이것은 변수의 속성으로 볼 수 있지만 코드를 통해 액세스 할 수없는 이유는 누구에게 아는가?

내가 단순히

var name = message.From[0].Name.ToString() 
+0

'GetMessage'는 동적 객체를 반환합니까? 이 코드를 시도 할 때 오류가 발생합니까? 'string' 유형의'Name' 속성입니까? – adiga

+0

Visual Studio에서 입력 할 때 오류가 없습니다. 하지만 중단 점을 보여 주며 메시지 변수를 검사합니다. – PowerMan2015

답변

1

MimeMessage.From 속성은 InternetAddressList (더 또는 덜 List<InternetAddress>)입니다합니다.

InternetAddressMailboxAddressGroupAddress에 대한 추상 기본 클래스로, 발견 한대로 Name 속성 만 포함되어 있습니다.

Address을 얻으려면 먼저 MailboxAddress ...으로 캐스팅해야하지만 실제로는 MailboxAddress 인 경우에만 전송 예외가 발생합니다.

InternetAddressList에는 Mailboxes이라는 편리한 속성이 있습니다.이 속성은 포함 된 MailboxAddress의 병합 된 목록을 반복하는 데 사용할 수 있습니다.

관련 문제