我现在自己在用asp做一个web邮件处理程序,就和网上263,163的web电子邮箱。
我在制作自己的web邮件系统的时候,使用的是网上很流行的asp邮件处理组件aspmail和jmail分别作web邮件的发件和收件程序,现在的问题就是我在用我做的web收件程序收一个带有附件的邮件的时候,下载下来的附件会被损坏(比如说:我在邮件中粘贴一个50k大小的jpg图片附件,但用web程序收下来的时候图片大小就变成40k的了,并且图片打开后看不到东西),我原先是以为jmail这个收邮件组件本身有Bug,但我又用了其他的用在asp里的收邮件组件,还是老样子。
另外需要说明的是邮件本身没问题,我用邮件客户端软件收这个邮件时都没问题。
下面是我的程序的一个demo,不知道你有没有这方面的编程经验,帮我解决这个问题。
1 @LANGUAGE=VBSCRIPT
1
2Set pop3 = Server.CreateObject( "JMail.POP3" ) '创建对象
3pop3.Connect "pzhou", "pzhou", "10.157.11.42" '连接服务器 pop3.connect user,password,host
4Response.Write( "You have " & pop3.count & " mails in your mailbox!
<br/>
<br/>
1" )
2set msg=server.CreateObject("jmail.message")
3if pop3.count > 0 then
4Set msg = pop3.Messages.item(1)
5separator = ", "
6Function getAttachments() '获得附件
7Set Attachments = msg.Attachments
8separator = ", "
9Response.Write "
<br/>
1"&msg.size&"
<br/>
1"
2For i = 0 To Attachments.Count - 1
3If i = Attachments.Count - 1 Then
4separator = ""
5End If
6Set at = Attachments(i)
7at.SaveToFile( "e:\" & at.Name )
8getAttachments = getAttachments & "
<a "="" &="" &"""="" at.name="" href="">" &_
at.Name & "(" & at.Size & " bytes)" & "</a>
1" & separator
2Next
3End Function
1<html>
2<body>
3<table>
4<tr>
5<td>Subject</td>
6<td>```
7= msg.Subject
8```</td>
9</tr>
10<tr>
11<td>From</td>
12<td>```
13= msg.FromName
14```</td>
15</tr>
16<tr>
17<td>Attachments</td>
18<td>```
19= getAttachments
20```</td>
21</tr>
22<tr>
23<td>Body</td>
24<td><pre>```
25= msg.Body
26```</pre></td>
27</tr>
28</table>
29</body>
30</html>
1
2end if
3pop3.Disconnect