jmail下载邮件不能全部下载,保存附件名称不全
萌新学计算 2021-02-21 05:53:06 各位前辈好!
本人新学控件,想写一段代码用于下载邮箱里的附件,但是遇到几个问题。
1邮箱中有邮件一千多封,但是下载的邮件只有43封。
2从下载的邮件里下载附件,发现部分附件的文件名无法正常读取,只能读取前面一部分。
3实际上没有重名的附件由于附件文件名读取错误误判成重名文件。
4部分附件的文件拓展名丢失。
5收取大于1个附件的时候文件名错误
代码如下
Private Sub Form_load()
Dim jmail
Dim pop3 As New jmail.pop3
Dim mailMessage As New jmail.Message
Dim msg As New jmail.Messages
Dim atts As jmail.Attachments
Dim att As jmail.Attachment
Dim m, n As Integer
Set jmail = CreateObject("JMAIL.Message")
pop3.Connect "zhangxiaoxuan05@163.com", "password", "pop3.163.com"
pop3.DownloadMessages
'Response.Write ("You have " & pop3.Count & " mails in your mailbox!<br><br>")
Set att = New jmail.Attachment
If pop3.Count > 0 Then
For m = 1 To pop3.Count
Set atts = pop3.Messages.Item(m).Attachments
mailMessage.Charset = "GB2312"
mailMessage.Encoding = "Base64"
mailMessage.ISOEncodeHeaders = False
Dim strAttName As String
n = 0
strAttName = ""
For n = 0 To atts.Count - 1 '附件
If n <> 0 Then strAttName = strAttName & ","
Set att = atts(n)
strAttName = strAttName & att.Name
If Dir(App.Path & "\rar\" & strAttName) = "" Then '判断文件是否存在,如果存在就删除后保存
att.SaveToFile (App.Path & "\rar\" & strAttName)
Else
Kill App.Path & "\rar\" & strAttName
MsgBox "文件存在" & n
att.SaveToFile (App.Path & "\rar\" & strAttName)
End If
Next n
Next m
Else
MsgBox "没有邮件"
End If
End Sub