首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MailKit地址

MailKit地址
EN

Stack Overflow用户
提问于 2017-09-28 16:26:23
回答 2查看 10.4K关注 0票数 5

我在asp核心中使用mailKit从IMAP邮箱收集电子邮件。

我使用命令返回消息

代码语言:javascript
运行
复制
var message = inbox.GetMessage(uid) 

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

代码语言:javascript
运行
复制
message
-From
--From(Array)
---From(item)
----Name (name of the sender)
----Address(email of the sender)

当使用消息引用上述内容时,我能够接收到名称,但是地址没有列出(在智能范围内,也不会生成)。

代码语言:javascript
运行
复制
var name = message.From[0].Name.ToString()

有谁知道为什么这将是可见的变量的属性,但不能通过代码访问?

我只是想

代码语言:javascript
运行
复制
var name = message.From[0].Name.ToString()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-29 02:10:23

MimeMessage.From属性是一个InternetAddressList (或多或少是List<InternetAddress>)。

InternetAddressMailboxAddressGroupAddress的一个抽象基类,正如您已经发现的那样,它只包含一个Name属性。

为了获得Address,首先需要将其转换为MailboxAddress.但是,只有当它实际上是一个MailboxAddress,否则您将得到一个强制转换异常。

InternetAddressList有一个名为Mailboxes的方便属性,它可以用于迭代包含在其中的MailboxAddresses的扁平列表。

票数 21
EN

Stack Overflow用户

发布于 2020-12-10 14:49:52

您可以使用此代码块。

message.From.OfType<MailboxAddress>().Single().Address;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46474030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档