我在asp核心中使用mailKit从IMAP邮箱收集电子邮件。
我使用命令返回消息
var message = inbox.GetMessage(uid) 这将返回消息的所有结果。从这里我想访问发件人的电子邮件地址(不包括姓名)。在上面的行断点之后,我可以看到变量消息具有以下属性
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()发布于 2017-09-29 02:10:23
MimeMessage.From属性是一个InternetAddressList (或多或少是List<InternetAddress>)。
InternetAddress是MailboxAddress和GroupAddress的一个抽象基类,正如您已经发现的那样,它只包含一个Name属性。
为了获得Address,首先需要将其转换为MailboxAddress.但是,只有当它实际上是一个MailboxAddress,否则您将得到一个强制转换异常。
InternetAddressList有一个名为Mailboxes的方便属性,它可以用于迭代包含在其中的MailboxAddresses的扁平列表。
发布于 2020-12-10 14:49:52
您可以使用此代码块。
message.From.OfType<MailboxAddress>().Single().Address;
https://stackoverflow.com/questions/46474030
复制相似问题