Разобрать адрес электронной почты

Я пишу код VBA в Outlook 2007, чтобы извлечь адрес электронной почты из электронных писем.

Я могу прочитать тело целиком через переменную

Как извлечь адрес электронной почты из переменной?


person VIRUS Hunter    schedule 21.01.2010    source источник


Ответы (2)


Один из методов описан здесь.

sString = "[email protected] xxx [email protected] yyy [email protected]"
asString = Split(sString, " ")
For i = 0 To UBound(asString)
    If asString(i) Like "*@*.*" Then
        sEmail = sEmail & "," & asString(i)
    End If
Next

MsgBox Mid(sEmail, 2)
person niton    schedule 05.04.2015

Почему тело? Вы просмотрели коллекцию MailItem.Recipients (Recipient.Address) и свойство MailItem.SenderEmailAddress?

person Dmitry Streblechenko    schedule 05.04.2015
comment
Я считаю, что адреса являются частью тела почты. Не получатели. - person niton; 06.04.2015
comment
Это то, что имеет в виду оригинальный постер? Я пытаюсь понять, почему нужно обрабатывать тело, а не получателей. А если данные находятся в теле сообщения, то кто их туда поместил? Это в особом формате? - person Dmitry Streblechenko; 06.04.2015
comment
Тело письма находится в переменной. OP хочет проанализировать переменную. Будущие искатели могут обнаружить, что это ответ на их вопрос. - person niton; 07.04.2015
comment
Вы упускаете мою мысль: OP анализирует тело сообщения, потому что он / она не знает о других свойствах сообщения? Или потому, что сообщение было отправлено каким-то автоматизированным процессом, который заполняет тело адресами электронной почты? - person Dmitry Streblechenko; 07.04.2015