C# 邮箱地址

C# 邮箱地址,c#,asp.net-mvc,mailkit,C#,Asp.net Mvc,Mailkit,Im使用asp mvc核心中的mailKit从IMAP邮箱收集电子邮件 我使用命令返回消息 var message = inbox.GetMessage(uid) 这将返回消息的所有结果。我想从这里访问发件人的电子邮件地址(不包括姓名)。在上面的一行中断之后,我可以看到变量消息具有以下属性 message -From --From(Array) ---From(item) ----Name (name of the sender) ----Address(email of the sende

Im使用asp mvc核心中的mailKit从IMAP邮箱收集电子邮件

我使用命令返回消息

var message = inbox.GetMessage(uid) 
这将返回消息的所有结果。我想从这里访问发件人的电子邮件地址(不包括姓名)。在上面的一行中断之后,我可以看到变量消息具有以下属性

message
-From
--From(Array)
---From(item)
----Name (name of the sender)
----Address(email of the sender)
当使用信息引用上述内容时,我能够收到姓名,但地址未列出(在intelisence中,也不会生成)

有人知道为什么它可以作为变量的属性显示,但不能通过代码访问吗

我只是想

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

MimeMessage.From
属性是一个
InternetAddressList
(或多或少
List

InternetAddress
MailboxAddress
GroupAddress
的抽象基类,它只包含您发现的
Name
属性

要获取
地址
,首先需要将其转换为
邮箱地址
。。。但前提是它实际上是一个
邮箱地址
,否则您将得到强制转换异常


InternetAddressList
有一个名为
Mailboxes
的便利属性,可用于迭代包含在中的
MailboxAddress
的扁平列表。

您可以使用此代码块


message.From.OfType().Single()地址

是否
GetMessage
返回动态对象?您在尝试此代码时是否出现错误?属性
Name
的类型是
string
?没有错误,只是在visual studio中键入时不可用。但显示ehn i断点并检查消息变量var EmailAddress=message.From.mailboxs.FirstOrDefault().Address;
var name = message.From[0].Name.ToString()