问题标签 [mimekit]

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 投票
2 回答
148 浏览

xamarin.ios - 在 Xamrain.IOS 中使用 MimeKit 时发生崩溃

将 Mime Kit 和 MailKit 安装到 xamrion.IOS 的 packages 文件夹中,并尝试使用它们发送电子邮件。它可以工作,但是在运行 new MimeMessage()时出现崩溃 如何解决此问题。我是 IOS 和 Xamarin 的超级初学者,非常感谢您的帮助。

大约 6 或 7 行无法定位程序集“I18N”(文化:“”)

日志: 2017-07-27 16:18:05.103 AAAA.iOS[523:215341] Xamarin.iOS:无法找到程序集 'I18N'(区域性:'')</p>

0 投票
1 回答
666 浏览

c# - 尝试连接到没有任何邮件服务器的主机名时出现奇怪的超时行为

我开发了一个自定义类,它使用 MailKit 和 MimeKit 与 IMAP4 邮件服务器进行交互。它就像一种魅力,但我最近注意到一些让我感到有点不舒服的事情:

看起来如果你具体一个存在但没有邮件服务器的主机,它会尝试连接大约 30 秒,最后抛出一个异常,这里引用了。感觉就像它正在尝试搜索邮件服务器,但由于没有人回复它,它有点“丢失”。

我将Timeout属性设置为,5000ms但看起来它只是在连接后才应用。

问题是......有没有办法通过.NET本身在一个高级“层”中控制它,或者这应该被视为MailKit错误吗?

呼叫连接:

异常堆栈跟踪:

0 投票
1 回答
1455 浏览

c# - 哑剧套件。是否可以阅读多部分/相关内容?

我正在尝试读取 sharepoint 中文档的内容,并且我正在重用名为 cellstorage.csv/CellStorageService 的 Web 服务

响应是多部分的,包含一个 XML 部分和一个二进制部分。

我想阅读二进制部分。

内容类型为:

返回的内容是:

因为我已经在这个项目中使用了 MimeKit,所以我尝试将它加载到 Mimekit 中,以便它可以解析它:

当我在调试器中查看结果时,3 个实体(entiy、entity1 和 entity3)看起来都一样,似乎只解析了 xml 内容。

我无法获得二进制部分。

您能否告诉我 MimeKit 是否可用于解析此类内容,以及我是否正确解析?

非常感谢

吉尔斯

0 投票
1 回答
81 浏览

oauth-2.0 - 没有 ServiceAccount 的 Gmail OAUTH 2.0

我正在尝试使用 OAUTH 2.0 身份验证发送一封电子邮件,如下所示:

但是,当我运行此代码时,我得到了 TokenResponseException:“客户端未经授权无法使用此方法检索访问令牌。” 我需要授权我的客户是否正确,只有 G Suit 帐户才有可能?所以我必须为管理员帐户付费或删除 OAUTH?

0 投票
1 回答
129 浏览

c# - 使用 Mimekit 签名时 DKIM 签名的小问题

虽然使用 Mimekit 进行 DKIM 签名非常有效,但我对实际签名有两个小问题。

1)由于某种原因,标题子字符串从“h =”开始并以“;”结尾 不保留大小写,因此“content-type:”应该是“Content-Type:”

2) "content-type:"前面好像多了一个空格,怎么去掉?。

0 投票
2 回答
10270 浏览

c# - 通过 C# Mailkit / Mimekit 发送电子邮件但出现服务器证书错误

0 Visual Studio 2015 中的代码

1 我正在使用 Mailkit 最新版本 (1.18.1.1) 从我自己的电子邮件服务器发送电子邮件。

2 电子邮件服务器具有自签名证书,该证书不受信任。

3 我在代码中添加了以下两行,以忽略 SERVER CERTIFICATE 错误:

4 但我的程序仍然崩溃。

5 在电子邮件服务器日志中显示错误:

来自未知 [xxx.xxx.xxx.xxx] 的 SSL_accept 错误:对等方重置连接

我猜这是因为服务器证书问题。因为在 Wireshark 捕获中,一旦我获得 SERVER 证书,连接就会终止。

6 我还在我的系统中安装了电子邮件服务器的 UNTRUSTED 证书,但问题仍然存在。

7 以下是错误的详细截图 在此处输入图像描述

8 完整代码:

使用 (var client = new SmtpClient(new ProtocolLogger("logging.log")))

0 投票
1 回答
339 浏览

c# - MimeKit 意外退出

我试图让 MimeKit 检索 IMAP 服务器上的未读电子邮件列表

这是我的代码

运行此行时该方法意外存在且没有任何错误消息

“消息”变量永远不会被填充

然而,收件箱变量被填充(仅在 getmessage 调用之后)并包含一个结果视图,其中包含来自电子邮件服务器的所有消息。

这向我保证连接信息是有效的。但是,如果没有错误消息,我就被卡住了。MimeKit 还有一个 Async 方法,我与 await 一起调用了它,以防结果需要时间返回。

更新下面是从上面生成的 imap.log 文件

堆栈跟踪如下

0 投票
0 回答
165 浏览

imap - BODYSTRUCTURE 中的语法错误。意外的令牌:[qstring:“多部分消息”]

大约 2 年前,我发表了这篇文章。 Mailkit Fetch“IMAP 响应中的意外令牌:[qstring:“Multipart message”]”

在此期间,我选择 GetMessage 而不是 Fetch。现在,我正在测试 SignalR,只是为了在检查邮箱期间显示一个 ProgressBar 并重新访问一些线程,我决定更改我的代码以使用 Fetch 而不是 GetMessage,获得我需要的所有信息的时间差是巨大的。

但是,即使将 Mailkit 升级到最新版本,我又回到了同样的问题,但这次错误消息更改为 BODYSTRUCTURE 中的语法错误。意外的令牌:[qstring:“多部分消息”]

在我提到的线程中,结论是邮件服务器中的问题,而不是特定消息。我同意什么。

现在我确定这是outlook.office365.com的问题 这是获取触发异常的日志部分

S: * 56961 FETCH (ENVELOPE ("Fri, 22 Sep 2017 14:05:47 +0000" "=?iso-8859-1?Q?Not_Fara_0000276_s=E9rie_1___-_Ped_int_0032?= =?iso-8859-1?Q? 3__Ped_cli_313?=" ((NIL NIL "workflow" "kermoklast.com")) NIL NIL ((NIL NIL "fiscal" "genera.com") (NIL NIL "nfe" "kermoklast.com") (NIL NIL "kjkilber ""gmail.com") (NIL NIL "ven" "kermoklast.com") (NIL NIL "prod" "kermoklast.com") (NIL NIL "vennac" "kermoklast.com")) NIL NIL NIL "<20170922140643 .FF5ED40100B@proxy.email-ssl.com>") BODYSTRUCTURE (("text" "html" ("charset" "iso-8859-1") NIL NIL "Quoted-Printable" 7170 95 NIL NIL NIL NI

顺便说一句,上面的字符串以“NI”结尾

0 投票
1 回答
1320 浏览

c# - 如何使用 mailkit/mimekit IMAP 下载/保存所有收件箱/发送的电子邮件?

我已成功使用 MAILKIT/MIMEKIT api 发送/接收电子邮件。现在,我正在使用 IMAP 功能来下载 INBOX 和 SENT 邮件并将它们存储在本地?我应该使用什么数据库?或者我应该如何进行?

0 投票
1 回答
1770 浏览

c# - Mailkit - 在没有完整的 mime 消息的情况下获取 HTML 和文本部分

我想从 mime 消息中下载文本和 html 部分并将其存储在数据库中,然后如果需要下载附件。我需要这个,因为我不想将附件存储在我的数据库中以节省磁盘空间和带宽。稍后将按需下载它们。我不确定我是否可以这样做并且仍然能够使用 MimeKit 中的 MimeParser

我打算这样做:

  1. 获取消息正文结构并找到文本和 html 部分
  2. 使用 ImapFolder.GetStream 下载文本和 html 正文部分,并通过保存部分名称和标题将其存储在数据库中,以保留 mime 树结构。不会下载附件

稍后我想在 UI 中显示消息,但我想延迟解析,直到邮件消息需要在 UI 中显示。

这是我到目前为止的进步

不幸的是,流不包含 mime 部分标头,无法解析,我看不到像这样在 GetStream 方法中请求标头的选项

获取 1 (BODY.PEEK[2.MIME] BODY.PEEK[2])

有什么建议么?