2011-02-07 2 views
-1
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?Как получить адрес электронной почты от сообщений в Outlook 2003

ответ

1

В этом случае я не думаю, что в нем что-то встроено, поэтому я бы посоветовал вам не беспокоиться о SenderEmailAddress, а вместо этого просто выйти из Body, а затем искать текст для адресов электронной почты. Это будет несколько усложнено, поскольку, возможно, будет трудно определить, что является частью адреса электронной почты, а что нет.

Проще всего начать с того, чтобы просто искать в тексте @, а затем искать следующие пробелы по обе стороны от @ и получать все между этими пробелами. Но есть много вопросов, о которых стоит подумать. Что делать, если пользователь набрал @ по какой-либо другой причине или если письмо содержит что-то вроде The first email is [email protected] second email is [email protected] (обратите внимание на недостающее место между . и The), где ваше приложение может подумать, что письмо должно быть [email protected].

Отредактировано, так как мой ответ основывался на полном непонимании вопроса.

+0

Уважаемый, у меня есть большое количество писем в моей папке. Я хочу получить список идентификаторов электронной почты, написанных внутри тела электронной почты – saint

+0

@saint: обновленный ответ. –

Смежные вопросы