如何判断收件箱的邮件是未读取的还是以读取的!

moleboy 2005-02-17 01:31:34
Private Sub cmdAttachment_Click()
On Error Resume Next

With CommonDialog1
.DialogTitle = "Insert Attachment"
.Filter = "All Files (*.*)|*.*"
.ShowOpen

If Dir(.FileName) <> "" Then
txtAttachment.Text = .FileName

' 显示 Attachment 的 Icon
oleAttachment.SourceDoc = .FileName
oleAttachment.CreateEmbed .FileName
Else
MsgBox "Attachment is not available.", vbCritical
End If
End With
End Sub

Private Sub cmdSend_Click()
' 开始 MAPI Session
MAPISession1.SignOn

' 当 MAPI Session 建立后,
' Session 所产生的 Handle 会存于 SessionID 属性中
If MAPISession1.SessionID <> 0 Then

' 建立 MAPIMessages 与 MAPISession 间之有效关联
MAPIMessages1.SessionID = MAPISession1.SessionID

' 建立新的 E-Mail Message
MAPIMessages1.Compose

' 收件者 (Recipient's Name)
'MAPIMessages1.RecipDisplayName = "moleboy"

' 收件者的 E-Mail Address
MAPIMessages1.RecipAddress = "moleboy@263.net"

' 是否要检查收件者有无存在于全域 (Global) 或个人 (Personal) 通讯簿里
MAPIMessages1.AddressResolveUI = True

' 检查收件者有无存在于全域 (Global) 或个人 (Personal) 通讯簿里
MAPIMessages1.ResolveName

' E-Mail 的主旨
MAPIMessages1.MsgSubject = "测试1"

' E-Mail 的内文
MAPIMessages1.MsgNoteText = "123123jier"

' 设定 Attachment (附件)
' If Dir(txtAttachment.Text) <> "" Then
MAPIMessages1.MsgNoteText = MAPIMessages1.MsgNoteText & vbCrLf
MAPIMessages1.AttachmentPosition = Len(MAPIMessages1.MsgNoteText) - 1
MAPIMessages1.AttachmentPathName = "f:\2.txt"
'End If
' 传送 E-Mail 且不显示"邮件对话盒" (直接传送)
MAPIMessages1.Send True
End If



' 结束 MAPI Session
MAPISession1.SignOff
End Sub

Private Sub cmdExit_Click()
End
End Sub


Private Sub Command1_Click()



MAPISession1.DownLoadMail = True

MAPISession1.SignOn

MAPIMessages1.SessionID = MAPISession1.SessionID

MAPIMessages1.FetchUnreadOnly = False

MAPIMessages1.Fetch

Text1.Text = MAPIMessages1.MsgCount

Text2.Text = 0

For i = 1 To MAPIMessages1.MsgCount

MAPIMessages1.MsgIndex = Val(i - 1)

List1.AddItem MAPIMessages1.MsgSubject

Text2.Text = MAPIMessages1.MsgNoteText

Next
MAPIMessages1.MsgIndex = 12
Text2.Text = MAPIMessages1.MsgNoteText
End Sub

Private Sub Command2_Click()

MAPIMessages1.MsgIndex = 12 '指定电子邮件

MsgBox MAPIMessages1.MsgSubject '电子邮件主题

MsgBox MAPIMessages1.MsgOrigDisplayName

'电子邮件发信人姓名
MsgBox MAPIMessages1.MsgNoteText '电子邮件全文

'请在在这里添加检测 index=12时 此封邮件是否是未读邮件
各位梆梆me



End Sub
...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sgxsgx 2005-02-17
  • 打赏
  • 举报
回复
根据小信封的颜色就可辨出.
sgxsgx 2005-02-17
  • 打赏
  • 举报
回复
根据小信封的颜色.
cindytsai 2005-02-17
  • 打赏
  • 举报
回复
接收邮件

本例是读取用户收件箱中所有未读邮件,如果要读取收件箱中所有的邮件,那么只需在执行Fetch方法之前,将MAPI消息控件的FetchUnreadOnly属性设置为False。具体接收的邮件是否已经读过,可以通过MsgRead属性来判别。如果邮件的正文或附件曾经被浏览过,那么该邮件就会自动标记为已读,不过只浏览邮件的主题不会标记该邮件已读。
详见:
http://search.csdn.net/Expert/topic/2261/2261574.xml?temp=.1567957

7,763

社区成员

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

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