如何从Outlook 2003中的邮件中获取电子邮件地址

时间:2011-02-07 19:12:56

标签: vb6 outlook

Sub GetALLEmailAddresses()

Dim objFolder As Folders
Set objFolder = Application.ActiveExplorer.Selection



Dim dic As New Dictionary
Dim strEmail As String
Dim strEmails As String

Dim objItem As MailItem
For Each objItem In objFolder.Items

strEmail = objItem.SenderEmailAddress
If Not dic.Exists(strEmail) Then
strEmails = strEmails + strEmail + ";"
dic.Add strEmail, ""
End If

Next

Debug.Print strEmails
End Sub

我使用此代码从邮件正文中获取电子邮件地址。我不是vb中的优秀。有什么可以帮助如何从Outlook 2003中的消息中获取电子邮件地址?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我认为没有任何内置内容,因此我建议您不要使用SenderEmailAddress,而只需离开Body,然后搜索电子邮件地址的文本。这会有点复杂,因为可能很难分辨出电子邮件地址的哪一部分,哪些部分没有。

最简单的开始是在文本中查找任何@,然后在@的任一侧搜索下一个空格,并获取这些空格之间的所有内容。但是要考虑很多问题。如果用户因其他原因键入@,或者电子邮件中包含The first email is xxx@test.com.The second email is xxx2@test.com之类的内容(请注意.The之间缺少的空格),该怎么办?应用可能会认为该电子邮件应为xxx@test.com.The

编辑,因为我的回答是基于对问题的完全误解。