Foxtable(狐表)用户栏目专家坐堂 → 按邮件主题查看邮件


  共有2153人关注过本帖树形打印复制链接

主题:按邮件主题查看邮件

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
按邮件主题查看邮件  发帖心情 Post By:2018/12/9 19:05:00 [只看该作者]

Dim pop3Server As String = ""
Dim pop3Port As Integer = "995"
Dim pop3UseSsl As Boolean = True
Dim username As String = ""
Dim password As String = ""

Using pop3 As New LumiSoft.Net.POP3.Client.POP3_Client()
pop3.Connect(pop3Server, pop3Port, pop3UseSsl)
pop3.Login(username, password )

Dim msgs As object = pop3.messages()

'获取某邮件信息
Dim messageBytes = msgs(4).MessageToByte  '这是按第几封邮件查看邮件,有没有办法按主题内容,因为是按月份收取,发送是主题为【XX月报表】,这样就有1-12月,接收的时候可以月份来查看邮件下载附件。。。
Dim mime_message = LumiSoft.Net.Mail.Mail_Message.ParseFromByte(messageBytes)
Dim str As String = ""
str &= "发送人:" & mime_message.From(0).DisplayName & vbcrlf
str &= "发送地址:" &  mime_message.From(0).Address & vbcrlf
str &= "主题:" & mime_message.Subject  & vbcrlf
str &= "日期:" & mime_message.Date  & vbcrlf
Dim fjs = mime_message.GetAttachments(False, False)
str &= "附件数:" & fjs.length  & vbcrlf
str &= vbcrlf & vbcrlf & mime_message.BodyHtmlText

e.Form.Controls("TextBox1").Text = str

For Each entity As object In fjs
    If entity.ContentType IsNot Nothing Then
        Dim fileName As String = entity.ContentType.Param_Name
        If Not String.IsNullOrEmpty(fileName) Then
            Dim dir As New io.DirectoryInfo("D:\email\")
            If Not dir.Exists Then
                dir.Create()
            End If
            
            Dim path__1 As String = io.Path.Combine(dir.FullName, fileName)
            Dim byteObj As object= entity.Body
            Dim decodedDataStream As io.Stream = byteObj.GetDataStream()
            Using fs As New io.FileStream(path__1, io.FileMode.Create)
            LumiSoft.Net.Net_Utils.StreamCopy(decodedDataStream, fs, 4000)
        End Using
        msgbox(fileName & "已经被下载到" & path__1)
    End If
End If
Next

End Using

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/12/9 19:10:00 [只看该作者]

或者说能不能获取邮件列表存入FT表格,然后可以在table去获取对应的邮件数

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 21:04:00 [只看该作者]

以下是引用fubblyc在2018/12/9 19:10:00的发言:
或者说能不能获取邮件列表存入FT表格,然后可以在table去获取对应的邮件数

 

所有邮件都在msgs变量里面,你遍历每一个获取,然后再获取里面的信息,不就好了?如果不满足或者之前已经获取过的了,那就跳出循环。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/12/9 21:11:00 [只看该作者]

甜老师,
Dim msgs As object = pop3.messages()

具体要怎么遍历呢。。

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/12/9 21:25:00 [只看该作者]

甜老师,是这样吗:
Dim msgs As object = pop3.messages()
'获取某邮件信息
Dim i As Integer
For i = 1 To 3
    Dim messageBytes = msgs(i).MessageToByte
    Dim mime_message = LumiSoft.Net.Mail.Mail_Message.ParseFromByte(messageBytes)
    Dim str As String = ""
    'str &= "发送人:" & mime_message.From(0).DisplayName & vbcrlf
    'str &= "发送地址:" &  mime_message.From(0).Address & vbcrlf
    str &= "主题:" & mime_message.Subject  & vbcrlf
    'str &= "日期:" & mime_message.Date  & vbcrlf
    'Dim fjs = mime_message.GetAttachments(True, True)
    'str &= "附件数:" & fjs.length  & vbcrlf
    'str &= vbcrlf & vbcrlf & mime_message.BodyHtmlText
    'Forms("pop协议").Controls("TextBox1").Text = str
    output.show(str)
Next
End Using

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 22:27:00 [只看该作者]

比如

 

Dim msgs As object = pop3.messages

For i=0 To msgs.count-1

 

next


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/12/9 22:29:00 [只看该作者]

好咧,谢谢甜老师!!

 回到顶部