gpt4 book ai didi

c# - 在 mailkit imap 中仅显示附件链接

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:45 26 4
gpt4 key购买 nike

我只是想在邮件正文中显示要下载的附件链接,而不是一开始就下载附件。因为我不想每次都下载附件并将其保存在我的服务器上。

当用户单击该链接时,我想从 gmail 服务器(“https://mail-attachment.googleusercontent.com/attachment/u/1/?xxxx-xxxx”)下载该特定附件

有什么办法吗?

最佳答案

MailKit 不提供任何执行此操作的方法,因为它不是 IMAP 支持的东西。

也就是说,有可能弄清楚如何根据 MIME 附件的属性构造 URL。

根据检查我自己的一封电子邮件中的下载链接,Google 似乎使用他们的 X-Attachment-Id header 值来构建 realattid 部分网址。它们可能还有其他变量,但很难确切知道其他值的来源。

下载 url 中的 attid 值似乎是树中 MIME 附件的位置值,类似于 MailKit 的 BodyPart.PartSpecifier 字符串。

与其尝试重新创建 GMail 的下载链接,不如使用 MailKit 的 ImapFolder.GetBodyPart()用于在用户请求时下载各个 MIME 部分的 API。

为了利用此 API,您需要调用 ImapFolder.Fetch()使用 MessageSummaryItems.BodyStructure

可以看看https://github.com/jstedfast/MailKit/blob/master/samples/ImapClientDemo/ImapClientDemo/MainWindow.cs查看如何使用从 Fetch 请求返回的 MessageSummary.Body 属性。

关于c# - 在 mailkit imap 中仅显示附件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35036855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com