邮件接收问题,大家都来看看!

风中的猴尾巴 2004-08-12 01:17:53
请问我接收邮件的时候,如何接收邮件的正文,也就是说我需要想pop服务器发送什么命令它传来的才是邮件的正文。如果没有这种命令,pop服务器传来的是邮件的全文,包括发信人,标题等等,那么我如何判断那一部分是邮件的正文。还有就是有些标题是mime加密的,而正文是没有加密的,那么我如何才能判断它的正文是否加密了。有些正文解码出来是html格式,那么我如何才能将中间的内容读出来,也就是是说我只要中间寄信人写的文字,如解出来是<html><body>啊啊阿<body></html>,那么我只要"啊啊啊"这三个字,这个应该如何做。
先发50分,分不够再加。最后给过C#写的例子。
...全文
168 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
风中的猴尾巴 2004-08-16
  • 打赏
  • 举报
回复
为什么没有人回答啊
宏正 2004-08-16
  • 打赏
  • 举报
回复
邮件协议 MIME 的是 RFC 2045 2046
其他的你看 RFC 822

如果邮件从底层看书解析,必须看一下协议,
风中的猴尾巴 2004-08-14
  • 打赏
  • 举报
回复
没有人回答吗?
风中的猴尾巴 2004-08-13
  • 打赏
  • 举报
回复
看过了,都没有涉及到这些方面,大家帮忙啊!
zjw19 2004-08-12
  • 打赏
  • 举报
回复
呵呵....在csdn上搜一下以前都发过了。
风中的猴尾巴 2004-08-12
  • 打赏
  • 举报
回复
能不能把解析正文的源码贴出来看看,附件的就不用了。是不是不管是那个服务器发送的邮件,不管正文有没有编码,都能把正文读出来?
seafarer777 2004-08-12
  • 打赏
  • 举报
回复
我正在写个邮件接收程序,邮件标题,时间,正文都能获取到(包括中文处理),小的附件也能正常还原,但在大附件的处理上有点问题。不知哪位有这方面的经验?
风中的猴尾巴 2004-08-12
  • 打赏
  • 举报
回复
请问如果没有mime编码,那么从那里开始是正文?
seafarer777 2004-08-12
  • 打赏
  • 举报
回复
在贴个带附件的
Received: from hztrasin-seafar(218.108.191.186) by trasin.net(218.108.245.7);12 AUG 2004 00:15:58 +0800
X-Sender: yy@trasin.net
Date: Thu, 12 Aug 2004 00:12:24 +0800
From: "=?gb2312?B?0KGwrA==?=" <yy@trasin.net>
To: "yy" <yy@trasin.net>
Subject: =?gb2312?B?dHMgtPO7sA==?=
X-mailer: Foxmail 5.0 [cn]
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="=====001_Dragon336134315732_====="

This is a multi-part message in MIME format.

--=====001_Dragon336134315732_=====
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64

eXmjrMT6usOjoQ0KDQoJICAgZGZkICAgIMT6usPE+rrDxPq6ww0KxPq6w8T6usPE+rrDxPq6ww0K
DQqhoaGhoaGhoaGhoaGhoaGh1sINCsDxo6ENCiAJCQkJDQoNCqGhoaGhoaGhoaGhoaGhoaHQobCs
DQqhoaGhoaGhoaGhoaGhoaGheXlAdHJhc2luLm5ldA0KoaGhoaGhoaGhoaGhoaGhoaGhoaEyMDA0
LTA4LTEyDQo=
--=====001_Dragon336134315732_=====
Content-Type: application/octet-stream;
name="work.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="work.txt"

Ni43LS0tLTYuMTMNCjEud2FwIDIuMCDNvMHlo6zH6bCu0afMw6Os1NrP37XjuOi1xL+qt6INCjIu
ssrQxbXEv6q3og0KMy7Ns7zGxr3MqLXEzerJxg0KNC62r7ut0rXO8bXEv6q3og0KNS7Sxravsqm/
zbXEv6q3og0KDQq2/srWvbvS1w0KDQoxLrLK0MXN+NW+DQoyLtLGtq93YXDStc7xDQozLrj3tdi1
xM2zvMa8sMGsvdO1xMztvNMovfi2yMjnus4pDQo0LjEwMTk4teO46Mfpv/ajqMHQse2jrLXjuOjN
qLXAo6kNCjUuwffDvczlo78NCg0KDQoxLsz416rSs8PmDQoyLrr+sbG8xrfRDQozLnB1c2gNCjQu
dW5pLXdpc2UNCjUutOa0orn9s8wNCjYutKW3osb3

--=====001_Dragon336134315732_=====--

以boundary="=====001_Dragon336134315732_====="为分割标记
风中的猴尾巴 2004-08-12
  • 打赏
  • 举报
回复
那里有邮件协议啊,我找到的都比较简单,帮帮我解决一下这些问题啊!
seafarer777 2004-08-12
  • 打赏
  • 举报
回复
给你贴个简单的
Received: from hztrasin-seafar(211.90.238.115) by trasin.net(218.108.245.7);11 AUG 2004 13:47:00 +0800
X-Sender: yy@trasin.net
Date: Wed, 11 Aug 2004 13:43:26 +0800
From: "=?GB2312?B?0KGwrA==?=" <yy@trasin.net>
To: "yy" <yy@trasin.net>
Subject: test
X-mailer: Foxmail 5.0 [cn]
Mime-Version: 1.0
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64

eXmjrMT6usOjoQ0KDQoJDQogICAgICAgICAgIHNldGV0ZWVlZWVlZXINCqGhoaGhoaGhoaGhoaGh
oaHWwg0KwPGjoQ0KIAkJCQkNCg0KoaGhoaGhoaGhoaGhoaGhodChsKwNCqGhoaGhoaGhoaGhoaGh
oaF5eUB0cmFzaW4ubmV0DQqhoaGhoaGhoaGhoaGhoaGhoaGhoTIwMDQtMDgtMTANCg==
.

从Content-Transfer-Encoding: base64开始就是邮件的正文了
用indexof,substring截取这段字符串,在按base64解码
Ginger547 2004-08-12
  • 打赏
  • 举报
回复
这个问题 好象有人提过 你可以查查
www.baidu.com 看看去
要不然 狗狗 也可以
风中的猴尾巴 2004-08-12
  • 打赏
  • 举报
回复
为什么没有人来,难道没有人写过这个吗?
mars131 2004-08-12
  • 打赏
  • 举报
回复
学习...
Octer 2004-08-12
  • 打赏
  • 举报
回复
这个问题你要想完全理解好象需要查阅邮件协议
bs5303 2004-08-12
  • 打赏
  • 举报
回复
up

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧