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 SubPrivate 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 = "[email protected]"
        
        ' 是否要检查收件者有无存在于全域 (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 SubPrivate 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 SubPrivate Sub Command2_Click()MAPIMessages1.MsgIndex = 12 '指定电子邮件MsgBox MAPIMessages1.MsgSubject  '电子邮件主题MsgBox MAPIMessages1.MsgOrigDisplayName'电子邮件发信人姓名
MsgBox MAPIMessages1.MsgNoteText '电子邮件全文 '请在在这里添加检测 index=12时 此封邮件是否是未读邮件
各位梆梆meEnd Sub

解决方案 »

  1.   

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