MailKit发件人地址
MailKit From Address
我在 asp mvc 核心中使用 mailKit 从 IMAP 邮箱收集电子邮件。
我return消息使用命令
var message = inbox.GetMessage(uid)
这return是消息的所有结果。从这里我想访问发件人电子邮件地址(不包括名称)。在上面的行上设置断点后,我可以看到变量消息具有以下 属性
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()
MimeMessage.From
属性 是一个 InternetAddressList
(或多或少 List<InternetAddress>
)。
InternetAddress
是 MailboxAddress
和 GroupAddress
的抽象基础 class,正如您所发现的,它仅包含 Name
属性 .
为了获得 Address
,您首先需要将其转换为 MailboxAddress
...但前提是它实际上是 MailboxAddress
,否则您将获得转换异常。
InternetAddressList
有一个方便的 属性 称为 Mailboxes
,可用于迭代包含在其中的 MailboxAddress
es 的扁平化列表。
您可以使用此代码块。
message.From.OfType<MailboxAddress>().Single().Address;
我在 asp mvc 核心中使用 mailKit 从 IMAP 邮箱收集电子邮件。
我return消息使用命令
var message = inbox.GetMessage(uid)
这return是消息的所有结果。从这里我想访问发件人电子邮件地址(不包括名称)。在上面的行上设置断点后,我可以看到变量消息具有以下 属性
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()
MimeMessage.From
属性 是一个 InternetAddressList
(或多或少 List<InternetAddress>
)。
InternetAddress
是 MailboxAddress
和 GroupAddress
的抽象基础 class,正如您所发现的,它仅包含 Name
属性 .
为了获得 Address
,您首先需要将其转换为 MailboxAddress
...但前提是它实际上是 MailboxAddress
,否则您将获得转换异常。
InternetAddressList
有一个方便的 属性 称为 Mailboxes
,可用于迭代包含在其中的 MailboxAddress
es 的扁平化列表。
您可以使用此代码块。
message.From.OfType<MailboxAddress>().Single().Address;