问题标签 [mailkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18079 浏览

c# - MailKit 保存附件

我正在尝试保存邮件中的附件

文件已保存,但当我打开时出现错误文件已损坏或太大此文件的大小为 88 kb,但文件大小应等于 55 kb。

我认为在所有记录的消息文件中。

如何只记录附件?

MailKit v1.2.0.0 MimeKit 1.2.0.0

0 投票
1 回答
1097 浏览

c# - MailKit 和多个客户端在同一个邮件帐户上

您可以连接到一个邮件帐户的并发客户端数量是否有任何限制?

我有一个应用程序可以在每个请求上打开一个新的 ImapClient 。ImapClient 将打开 INBOX 和 FolderA,并通过 UID 将邮件从一个移动到另一个。多个客户端永远不会同时访问相同的邮件,但可能会同时移动同一帐户中的多个邮件。

一旦我使用 Exchange 同时击中大约 5 个以上的客户端,并以许多不同的错误作为响应,似乎就会发生错误:“IMAP 服务器以 'NO' 响应回复了 'COPY' 命令。” “IMAP 服务器以 'NO' 响应回复了 'EXPUNGE' 命令。”

当我移动邮件时,我执行以下顺序:

  1. 使用新的 ImapClient
  2. 连接并验证客户端
  3. 获取INBOX和FolderA的FolderAsync,然后等待响应
  4. 使用 OpenSync() 和 ReadWrite 打开收件箱,然后等待任务。
  5. 使用 FetchAsync() 获取 INBOX,遍历结果根据 MessageID 找到想要的 UID
  6. 调用 MoveToAsync() 将基于 uid 的邮件移动到 FolderA,并等待
  7. 具有新 UID 的 FolderA.SetFlagAsync(),并使用 SEEN 标记邮件
  8. 等待 6. 和 7.
  9. INBOX.SetFlagAsync() 使用之前的 UID,并用 DELETED 标记邮件,等待操作
  10. 使用 INBOX.CloseAsync 和 FolderA.CloseAsync 关闭 IMAP 文件夹
0 投票
1 回答
760 浏览

c# - 使用 MIMEKIT 的 DKIM

我正在尝试使用 MIMEKIT 对我的所有电子邮件进行 DKIM 签名,并且它对于较小长度的电子邮件正文完美无缺,但是当电子邮件正文的内容/大小增加时,DKIM 失败。我使用“BodyBuilder”生成身体。

以下是我对 MIMEKIT 的疑惑

正文/内容长度是否有任何限制?是否必须同时提供 DKIM 标志的文本和 html 格式的内容?

以下是我的代码供参考:

0 投票
2 回答
217 浏览

email - 在 MVC6 中发送电子邮件?

我曾尝试在各种框架中引用 system.net.mail:

我还尝试使用从 NuGet 安装的电子邮件包 MailKit 1.2.21。

如果我引用 MailKit 类,错误:“找不到命名空间的类型”。

如何在 MVC 6 中发送电子邮件?

0 投票
1 回答
1321 浏览

c# - Mimekit、IMapClient 获取附件信息而不下载整个消息

我正在使用以下代码来获取主题信息。

是否可以在不下载整个邮件的情况下知道电子邮件是否包含附件,或者更具体地说是 Excel 电子表格 (xls/xlsx)?

0 投票
1 回答
6696 浏览

c# - 如何在mailkit中获取uid?

我的代码是:

我想保存 uid 。如何获取消息的uid?

0 投票
1 回答
2109 浏览

c# - 每次在 c# 应用程序中从 mailinbox 接收新的未读邮件

我想实现与此相同的功能:

通知 C# 客户端,当 SMTP 服务器收到新电子邮件时

这工作正常。该方法“NewMessageReceived”在每次新邮件接收时成功调用。

但问题是我无法获取邮件。在这种方法中,我只得到了 INBOX 的总数。

此代码使用库:MailSystem.net

我的代码如下:

我找到了以下获取未读邮件的解决方案:

http://mailsystem.codeplex.com/discussions/651129

它说我使用MailKit库。由于我已经在使用MailSystem.net库,有没有什么方法可以通过只使用一个库来满足我的要求?

我也准备好使用任何其他库。

请给我建议。谢谢

0 投票
1 回答
372 浏览

c# - 如何创建列表类型的 MailKit 消息?

今天我正在使用这样的 Mime:

但后来在我的代码中我正在做:

但是我当然会遇到错误:

错误是:

错误 7 'System.Collections.Generic.List.Add(OpenPop.Mime.Message)' 的最佳重载方法匹配有一些无效参数

错误 8 参数 1:无法从“MimeKit.MimeMessage”转换为“OpenPop.Mime.Message”

我找不到仅 OpenPop 的 MailKit 消息,因此我无法创建所有 MailKit 消息类型的列表。

0 投票
0 回答
1385 浏览

asp.net-core - ASP.NET Core RC2 SMTP 客户端

新的 ASP.NET Core 框架不包括来自完整 .NET 框架的 System.Net.Mail 命名空间。RC1 版本确实支持 MailKit 和 MimeKit,因此可以使用发送电子邮件,但最近发布的 RC2System.Net.Security.SslStream不再包括AuthenticateAsClient(System.String, System.Security.Cryptography.X509Certificates.X509CertificateCollection, System.Security.Authentication.SslProtocols, Boolean)

并且对该函数的所有调用都应替换为AuthenticateAsClientAsync

这会导致 Mailkit 抛出一个MissingMethodException. Mailkit 可能很快就会更新,但我目前找不到使用新 RC2 版本发送电子邮件的方法。

所以我想知道有没有人找到另一个支持的 SmtpClient 实现ASP.NET Core RC2

0 投票
2 回答
5923 浏览

c# - 如何使用 MailKit 解析 html 消息正文?

直到现在我都使用 OpenPop,但现在更改为 MailKit 和这两个属性:FindFirstPlainTextVersion()并且FindFirstHtmlVersion()MailKit 不存在。

变量 allMessages 不是 OpenPop 但现在是List<MimeKit.MimeMessage>类型。

lvnf是一个 ListView 控件,当我单击一个项目时,它应该显示在 RichTextBox 中,我有我单击的消息的内容。但这两个属性在MailKit(MimeKit.MimeMessage).

到目前为止,我尝试的是创建一个新类HtmlPreviewVisitor并从 mailkit 站点添加类示例:

邮包

然后在中使用它form1

并像这样使用渲染:

但结果richTextBox1是我看到 html 内容而不是正文的文本。

例如: