【问题标题】:Show only attachment link in mailkit imap在 mailkit imap 中仅显示附件链接
【发布时间】:2016-05-04 08:59:28
【问题描述】:

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

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

有没有办法做到这一点?

【问题讨论】:

    标签: c# .net imap gmail-imap mailkit


    【解决方案1】:

    MailKit 不提供任何这样做的方式,因为它不是 IMAP 支持的东西。

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

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

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

    您可以随时使用 MailKit 的 ImapFolder.GetBodyPart() API 在用户请求时下载单个 MIME 部分,而不是尝试重新创建 GMail 的下载链接。

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

    您可以查看https://github.com/jstedfast/MailKit/blob/master/samples/ImapClientDemo/ImapClientDemo/MainWindow.cs,了解如何使用从Fetch 请求返回的MessageSummary.Bodyproperty。

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 1970-01-01
      • 2018-10-18
      • 2021-12-19
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多