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

...全文
400 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
萌新学计算 2021-03-06
  • 打赏
  • 举报
回复
我写了小总结,发在了博客。
萌新学计算 2021-02-22
  • 打赏
  • 举报
回复
读取多个附件的时候可以修改那几行。不过读取出来还是有问题,有多余的附件。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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