gpt4 book ai didi

.net - 从Windows SMTP服务读取EML文件。有什么理由不使用StreamReader?

转载 作者:行者123 更新时间:2023-12-01 19:09:19 25 4
gpt4 key购买 nike

我将要读取和解析由Microsoft SMTP服务删除的EML文件。我是使用各种流类的新手。我看到的解析这些文件的实现使用System.IO.Stream的一种变体来逐字节读取。但是,似乎这些文件只能是文本。使用StreamReader会更好吗?如果是这样,除了默认(UTF-8)编码之外,是否有任何其他原因需要使用?

最佳答案

它们应该是文本,但并非总是如此。

电子邮件可以是8位或二进制编码的。

StreamReader可以处理您要解析的电子邮件的大约99%。

但是,老实说,这不是最大的问题。

问题实际上是根据Mime规则解析和提取Mime内容,以及使用正确的字符集。

尽管UTF-8是一个非常大的字符集,并且可以用于解析大多数电子邮件,但是您仍然可以通过尝试解析具有该字符集的电子邮件来获取损坏的内容。

最好的方法是实际以二进制形式阅读电子邮件,提取字符集,然后切换为使用标题中指定的字符集阅读电子邮件。

关于.net - 从Windows SMTP服务读取EML文件。有什么理由不使用StreamReader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345378/

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