我在windows窗体中做了一个获取邮件附件的方法,下面是代码,但是问什么没有成功啊
string path = "";
//获取附件
foreach (MimeEntity entry in m.Attachments)
{
string fileName = entry.ContentDisposition_FileName; //获取文件名称
path = "E:\\jmail\\WindowsFormsApplication1\\Attch\\" + fileName;
if (File.Exists(path))
{
Random random = new Random();
int newfile = random.Next(1, 100000);
path = "E:\\jmail\\WindowsFormsApplication1\\Attch\\Attch" + newfile.ToString();
Directory.CreateDirectory(path);
path += "\\" + fileName;
}
byte[] data = entry.Data;
FileStream pFileStream = null;
pFileStream = new FileStream(path, FileMode.Create);
pFileStream.Write(data, 0, data.Length);
pFileStream.Close();
}
调试一下出什么异常呢?
什么都得不到啊,Attch文件夹倒是有啦
我又看了一下得到了这个文件:mail.eml
@待重逢: 这是outlook邮件格式呀
@田林九村: 是啊,我刚看到啦,现在要如何在页面显示出来啊
@待重逢: 这个要用outlook打开的呀
@田林九村: 怎么把附件在页面中显示出来,就像qq邮箱显示附件那样
@待重逢: 直接做成link就行了,比如:
<a href="http://myweb/mail.eml">mail.eml</a>
注:上面的url需要在iis中配置虚拟路径的,如何配置google一下
@田林九村: <a href="<%=fujain%>">mail.eml</a>我是这样写的,不过不行啊,fujian是我从数据库中读取的路径
@待重逢: 要在IIS配制虚拟路径的呀,fujian是本地磁盘,要转换为http路径的呀
检查一下路径
E:\\jmail\\WindowsFormsApplication1\\Attch\\这个路径在获取163邮箱的时候可以,但是在获取qq邮箱的时候就报错啦
关注,学习~