大家好,我C#.net(.NET Framework 2.0)中做一个邮件接收的程序。
利用里面的命名空间:
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Net.Sockets;
using System.IO;
using System.Threading;还使用了这些:
……
TcpClient tcpcnt= new TcpClient(txtPop3Server.Text, 110);
……
NetworkStream ns = null;
ns = tcpcnt.GetStream();
StreamReader sr = new StreamReader(ns);
……
现在遇到了问题,请大家来帮我看看。我通过POP3中的RETR指令从我自己的邮箱([email protected])中接收里面
的邮件。
我的邮件里的内容是:
邮件的主题是:attachment
邮件的内容是:This is txt attachment.
邮件的附件是一个文本文件(ERR.txt),
文本文件里面的内容是:-ERR Unable to log on以下是我邮件接收返回的信息:
+OK 2773 octets
Received: from mu-out-0910.google.com (unknown [209.85.134.191])
by mx15 (Coremail) with SMTP id wKjSpLDb7_LgJ+FFePnUEA==.40756S2;
Sun, 25 Feb 2007 14:08:33 +0800 (CST)
Received: by mu-out-0910.google.com with SMTP id g7so877445muf
for <[email protected]>; Sat, 24 Feb 2007 22:08:29 -0800 (PST)
DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed;
d=gmail.com; s=beta;
h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type;
b=R22Hv9U/n2fRhBbb/cMdNqp8eW80Q75Gir/xQON0UU1QpXi3iRLYX6ibHyItAQ/MQG4QBrfKj6PcbtcUTQ23TYRSHT8CacRXO0OY2uN+FkF51SMSdKWwVqSPtk+obZn+V4zjqFn1W3sU41pQ4kzLekPDhhRmJGJO6Z9sv8LXHvY=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=beta;
h=received:message-id:date:from:to:subject:mime-version:content-type;
b=kZEGW9fKxQLYjlL7VMI/WzpcZOY54q4IfVI7IWezg96dARAtpAj3fpl/NuySfuDhE3GOPxv7Tv79ClOKrKzwALURE4oJhoDEY/oyl7PeOldFYJzzk0oB3/ZXAJz6oOyvBfzXcUAN0F6q/AlFClV0cMLqB576uD0aV3/NaKDKmhI=
Received: by 10.82.135.13 with SMTP id i13mr1228808bud.1172383708921;
Sat, 24 Feb 2007 22:08:28 -0800 (PST)
Received: by 10.82.189.3 with HTTP; Sat, 24 Feb 2007 22:08:28 -0800 (PST)
Message-ID: <[email protected]>
Date: Sun, 25 Feb 2007 14:08:28 +0800
From: "=?GB2312?B?wr3R7g==?=" <[email protected]>
To: [email protected]
Subject: attachment
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_49134_11090661.1172383708899"
X-Coremail-Antispam: 1U3Yxn0WfASr-VFAUDIcSsGvfJT3xCjnVCjjxCrMxkI7II2jI
8vz4v_Cr0_Zr1lYx0Ex4A2jsIE14v26r4UJVWxJr1l6VACY4xI67k04243AwACY4xI67k0
4243AVC20s07MxkFs20EbsIEYx1lYx0E2Ix0cI8IcVAFwI0_Jrv_JF1lc2xSY4AK6IIF6r
47M7AC8VAFwI0_Jr0_Gr1l7I0Y6sxI4wAYFVCjjxCrM7CIcVAFz4kK6r1j6r18Mc02F40E
4c8EcI0Er2xKeI8DMc02F40EFcxC0VAKzVAqx4xG6I80ewAYjsxI4VWUJjkaLaAFLSUrUU
UUUjvjm3AaLaJ3UjIFyTuYvjxUUjg4DUUUUUAaLaJ3U------=_Part_49134_11090661.1172383708899
Content-Type: multipart/alternative;
boundary="----=_Part_49135_5869753.1172383708899"------=_Part_49135_5869753.1172383708899
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inlineThis is txt attachment.------=_Part_49135_5869753.1172383708899
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inlineThis is txt attachment.------=_Part_49135_5869753.1172383708899--------=_Part_49134_11090661.1172383708899
Content-Type: text/plain; name="ERR.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ERR.txt"
X-Attachment-Id: f_eyl2zd46LUVSUiBVbmFibGUgdG8gbG9nIG9u
------=_Part_49134_11090661.1172383708899--请问,我应该怎么样做,才能实现接收回来的邮件内容的正常显示,
邮件附件的正确接收?
利用里面的命名空间:
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Net.Sockets;
using System.IO;
using System.Threading;还使用了这些:
……
TcpClient tcpcnt= new TcpClient(txtPop3Server.Text, 110);
……
NetworkStream ns = null;
ns = tcpcnt.GetStream();
StreamReader sr = new StreamReader(ns);
……
现在遇到了问题,请大家来帮我看看。我通过POP3中的RETR指令从我自己的邮箱([email protected])中接收里面
的邮件。
我的邮件里的内容是:
邮件的主题是:attachment
邮件的内容是:This is txt attachment.
邮件的附件是一个文本文件(ERR.txt),
文本文件里面的内容是:-ERR Unable to log on以下是我邮件接收返回的信息:
+OK 2773 octets
Received: from mu-out-0910.google.com (unknown [209.85.134.191])
by mx15 (Coremail) with SMTP id wKjSpLDb7_LgJ+FFePnUEA==.40756S2;
Sun, 25 Feb 2007 14:08:33 +0800 (CST)
Received: by mu-out-0910.google.com with SMTP id g7so877445muf
for <[email protected]>; Sat, 24 Feb 2007 22:08:29 -0800 (PST)
DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed;
d=gmail.com; s=beta;
h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type;
b=R22Hv9U/n2fRhBbb/cMdNqp8eW80Q75Gir/xQON0UU1QpXi3iRLYX6ibHyItAQ/MQG4QBrfKj6PcbtcUTQ23TYRSHT8CacRXO0OY2uN+FkF51SMSdKWwVqSPtk+obZn+V4zjqFn1W3sU41pQ4kzLekPDhhRmJGJO6Z9sv8LXHvY=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=beta;
h=received:message-id:date:from:to:subject:mime-version:content-type;
b=kZEGW9fKxQLYjlL7VMI/WzpcZOY54q4IfVI7IWezg96dARAtpAj3fpl/NuySfuDhE3GOPxv7Tv79ClOKrKzwALURE4oJhoDEY/oyl7PeOldFYJzzk0oB3/ZXAJz6oOyvBfzXcUAN0F6q/AlFClV0cMLqB576uD0aV3/NaKDKmhI=
Received: by 10.82.135.13 with SMTP id i13mr1228808bud.1172383708921;
Sat, 24 Feb 2007 22:08:28 -0800 (PST)
Received: by 10.82.189.3 with HTTP; Sat, 24 Feb 2007 22:08:28 -0800 (PST)
Message-ID: <[email protected]>
Date: Sun, 25 Feb 2007 14:08:28 +0800
From: "=?GB2312?B?wr3R7g==?=" <[email protected]>
To: [email protected]
Subject: attachment
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_49134_11090661.1172383708899"
X-Coremail-Antispam: 1U3Yxn0WfASr-VFAUDIcSsGvfJT3xCjnVCjjxCrMxkI7II2jI
8vz4v_Cr0_Zr1lYx0Ex4A2jsIE14v26r4UJVWxJr1l6VACY4xI67k04243AwACY4xI67k0
4243AVC20s07MxkFs20EbsIEYx1lYx0E2Ix0cI8IcVAFwI0_Jrv_JF1lc2xSY4AK6IIF6r
47M7AC8VAFwI0_Jr0_Gr1l7I0Y6sxI4wAYFVCjjxCrM7CIcVAFz4kK6r1j6r18Mc02F40E
4c8EcI0Er2xKeI8DMc02F40EFcxC0VAKzVAqx4xG6I80ewAYjsxI4VWUJjkaLaAFLSUrUU
UUUjvjm3AaLaJ3UjIFyTuYvjxUUjg4DUUUUUAaLaJ3U------=_Part_49134_11090661.1172383708899
Content-Type: multipart/alternative;
boundary="----=_Part_49135_5869753.1172383708899"------=_Part_49135_5869753.1172383708899
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inlineThis is txt attachment.------=_Part_49135_5869753.1172383708899
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inlineThis is txt attachment.------=_Part_49135_5869753.1172383708899--------=_Part_49134_11090661.1172383708899
Content-Type: text/plain; name="ERR.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ERR.txt"
X-Attachment-Id: f_eyl2zd46LUVSUiBVbmFibGUgdG8gbG9nIG9u
------=_Part_49134_11090661.1172383708899--请问,我应该怎么样做,才能实现接收回来的邮件内容的正常显示,
邮件附件的正确接收?
可以在网上搜下openpop.net,一个开源项目,看看对你会有帮助
谢谢你们的参与!
对于BASE64编码,如:LUVSUiBVbmFibGUgdG8gbG9nIG9u
我知道了怎么样了,可在一封邮件里(如,我上面发贴的那封邮件),我什么知道邮件附件的BASE64编码的开始和结束?cangwu_lee(橙子),说
这是 base64 编码,其中下面的行是分隔符
------=_Part_49135_5869753.1172383708899—可以要什么去定位,才能实现邮件附件的解码?
boundary="----=_Part_49134_11090661.1172383708899"这段说明此邮件可能包括附件、内嵌资源、纯文本、超文本,数据段之间用----=_Part_49134_11090661.1172383708899分割。
即括号中的那一句:
(LUVSUiBVbmFibGUgdG8gbG9nIG9u)
------=_Part_49134_11090661.1172383708899--我什么定位?
都(Framework 2.0啦)
Content-Type: text/plain; name="ERR.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ERR.txt"
X-Attachment-Id: f_eyl2zd46LUVSUiBVbmFibGUgdG8gbG9nIG9u
------=_Part_49134_11090661.1172383708899--
这是一个段。
必须找到这个段 段头信息和段体信息之间,有一个空行。
头信息说明,这是一个附件。内容是文本型,附件名为ERR.txt 传输编码是base64
头信息必须解析,不然不能正确解析附件体