热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#用NetworkStream接收Email不同邮件服务器的邮件内容解码

最近在开发一个邮件管理模块,遇到了个非常棘手的问题,想在此向各位前辈请教。好吧,下面直接进入正题。

最近在开发一个邮件管理模块,遇到了个非常棘手的问题,想在此向各位前辈请教。好吧,下面直接进入正题。



在从服务器上把接收到的邮件抓取到自己的系统里,用C#的NetworkStream。可是在抓取的时候,发现不同邮件邮件服务器发送过来的邮件是邮件内容格式不一样,比如从126邮箱上抓取的,可是qq和gmail发过来的邮件内容格式是不一样的,编码也不一样。

比如:qq的



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
This is a multi-part message in MIME format.



------=_NextPart_541CD1E4_08F79BC0_6F260227

Content-Type: text/plain;

    charset="utf-8"

Content-Transfer-Encoding: base64



5q2j5paH4oCN



------=_NextPart_541CD1E4_08F79BC0_6F260227

Content-Type: text/html;

    charset="utf-8"

Content-Transfer-Encoding: base64



PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdsdWNpZGEgR3JhbmRlJywgVmVyZGFu

YSwgJ01pY3Jvc29mdCBZYUhlaSc7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5v

cm1hbDsgdGV4dC1hbGlnbjogcmlnaHQ7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGJhY2tncm91

bmQtY29sb3I6IHJnYigyMzksIDI0NSwgMjUxKTsiPuato+aWhzxzcGFuIGlkPSJfZWRpdG9y

X2Jvb2ttYXJrX3N0YXJ0XzEiIHN0eWxlPSJkaXNwbGF5OiBub25lOyBsaW5lLWhlaWdodDog

MHB4OyI+4oCNPC9zcGFuPjwvc3Bhbj48L2Rpdj4=



------=_NextPart_541CD1E4_08F79BC0_6F260227--

gmail的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--_470a4591-c5b7-402c-8312-0fc353ea79c1_

Content-Type: text/plain; charset="gb2312"

Content-Transfer-Encoding: base64



0ru49snxw9jXqNK1oaMgCQkgCSAgIAkJICA=



--_470a4591-c5b7-402c-8312-0fc353ea79c1_

Content-Type: text/html; charset="gb2312"

Content-Transfer-Encoding: base64



PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7

DQpwYWRkaW5nOjBweA0KfQ0KYm9keS5obW1lc3NhZ2UNCnsNCmZvbnQtc2l6ZTogMTJwdDsNCmZv

bnQtZmFtaWx5Os6iyO3RxbraDQp9DQotLT48L3N0eWxlPjwvaGVhZD4NCjxib2R5IGNsYXNzPSdo

bW1lc3NhZ2UnPjxkaXYgZGlyPSdsdHInPtK7uPbJ8cPY16jStaGjIAkJIAkgICAJCSAgPC9kaXY+

PC9ib2R5Pg0KPC9odG1sPg==



--_470a4591-c5b7-402c-8312-0fc353ea79c1_--

问题的重点是,我们可能会接收到各种不同的服务器邮件,特别是国外的,我又穷举不了。格式编码不同,我应该怎么样去解决这个问题,有没有谁遇到过同样的问题啊?


   



推荐阅读
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 你是否注意到,当你在高优先级下运行应用程序是,应用程序运行得特别快(这也视你运行什么样的应用程序而定)。拿WinRar做例子 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 如题如示,在网上查了下c#直接操作ppt的例子,但都只是很简单的写了下打开PPT插入标题插入一个图表等,但是都没有更具体的有如何可以直接更改PPT图表的数据源数据的例子。我现在的需求是,我有一个P ... [详细]
  • 1、运行npmrundev命令在cmd上面也不算报错输出一些东西看不懂什么意思。报错页: ... [详细]
author-avatar
kas8288408
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有