Outlook 2019 Regex email addresses from body

JunJieW

Member
Outlook version
Outlook 2019 64-bit
Email Account
Office 365 Exchange
Hi,

New to this forum and been finding solution to make my work easier.

Issue:
I need to forward system auto generated email to users in email body.

eg.
Related email: ABC.ZXC@gmail.com, QWE234@yahoo.com.au

I found @Diane Poremsky post on "find a code in the message body, then forward" and changed Regex pattern to suit my need

With Reg1
.Pattern = "(Related email:\s*([\w-\.]*\@[\w-\.]*)\s*)\.\s*([\w-\.]*\@[\w-\.]*)\s*)"
.IgnoreCase = True
.Global = False

However the result forward recipients is only the first email address. ie. ABC.ZXC@gmail.com. What i need is all email addresses after the word "related to: "

What is the correct pattern to regex those email addresses


Thank you in advance
JJ
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Is it all on one line /one sentence, nothing else on the line, with the address separated by colons or semicolons?

If so, this should work - if not try with just \r or \n at the end.
(Related email:\s*(.*)\r\n)

If not, how are they formatted in the line?
 

JunJieW

Member
Outlook version
Outlook 2019 64-bit
Email Account
Office 365 Exchange
Is it all on one line /one sentence, nothing else on the line, with the address separated by colons or semicolons?

If so, this should work - if not try with just \r or \n at the end.
(Related email:\s*(.*)\r\n)

If not, how are they formatted in the line?
Hi Diane,

Addresses are separated by comma in one sentence.

eg.
Related email: ABC.ZXC@gmail.com, QWE234@yahoo.com.au


My code below:

Sub FWNew(Item As Outlook.MailItem)

Dim Reg1 As Object
Dim M1 As Object
Dim M As Object
Dim strAddress As String

Set Reg1 = CreateObject("VBScript.RegExp")

With Reg1
.Pattern = "(Related email:\s*([\w-\.]*\@[\w-\.]*)\s*)\.\s*([\w-\.]*\@[\w-\.]*)\s*)"
.IgnoreCase = True
.Global = False
End With

If Reg1.test(Item.Body) Then

Set M1 = Reg1.Execute(Item.Body)
For Each M In M1
strAddress = M.SubMatches(1)
Next
End If

Set myForward = Item.Forward
myForward.Recipients.Add strAddress

myForward.Display
 

JunJieW

Member
Outlook version
Outlook 2019 64-bit
Email Account
Office 365 Exchange
Hi @Diane Poremsky,

I managed to get the email addresses as my forward email recipients but encounter another error.

Run-time error '-2147467259 (80004005)': Outlook does not recognize one or more names.

However the recipients email address become send-able if I leave it awhile which I believe outlook manage to find in address books.

Been googling and check forums but seems like there is no solution to this issue. I have tried the followings
1. Disable check names
2. Custom order of checking address lists in starting with the list with most address.

Any workaround?

Thank you in advance
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Try changing this

myForward.Recipients.Add strAddress


to this (the Dim line can go at the top of the macro)

Dim objRecip As Recipient
Set objRecip = myForward.Recipients.Add(strAddress)
objRecip.Type = olTo ' olCC or olBCC
objRecip.resolve
 

JunJieW

Member
Outlook version
Outlook 2019 64-bit
Email Account
Office 365 Exchange
Try changing this

myForward.Recipients.Add strAddress


to this (the Dim line can go at the top of the macro)

Dim objRecip As Recipient
Set objRecip = myForward.Recipients.Add(strAddress)
objRecip.Type = olTo ' olCC or olBCC
objRecip.resolve
Hi Diane,

Your resolve solution does not solve the error.

I notice if strAddress is only one email address no issue at all but I will have at least two email addresses.
 

JunJieW

Member
Outlook version
Outlook 2019 64-bit
Email Account
Office 365 Exchange
Hi Diane,

Your resolve solution does not solve the error.

I notice if strAddress is only one email address no issue at all but I will have at least two email addresses.
Hi Diane,

How about adding a code to "Tab" olTo? This seems to work when I manually "Tab" To field in myForward.Display.
 
Similar threads
Thread starter Title Forum Replies Date
shrydvd Highlight found RegEx pattern Outlook VBA and Custom Forms 3
A How to assign the value returned by the regex execute function to a variable? Using Outlook 1
G regex to search for link in attachments? Outlook VBA and Custom Forms 2
R Roadrunner Email Problems | Roadrunner Technical Service Number Outlook VBA and Custom Forms 0
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
R Roadrunner Email Settings | Contact Roadrunner Customer Support Outlook VBA and Custom Forms 0
D Gmail mail is being delivered to a different email inbox in Outlook App 2021 Using Outlook 2
Albert McCann Outlook 2021 Outlook Display of HTML Email from two senders is glitchy Using Outlook 0
A How Do I Setup My Optonline.Net Email Account? Outlook VBA and Custom Forms 1
H Preventing the 'email address fetch from Exchange' crashing email reading code Exchange Server Administration 0
D multiple email accounts - why do I have to choose the "from" account address?? Using Outlook 2
Wotme create email only data file Using Outlook 1
F Outlook 2016 Email with attachments not being received Using Outlook 2
D Prompt to prefix subject line whenever sending an email Outlook VBA and Custom Forms 3
J Quick steps delete original email and move reply/sent email to folder Using Outlook 2
C Wishlist Extract or scan new email addresses from out of office replies. Leads from OOO replies Using Outlook 1
T External email warning banner Outlook VBA and Custom Forms 0
A Links in email getting error message about group policy Using Outlook 4
richardwing Auto forward email that is moves into a specific outlook folder Outlook VBA and Custom Forms 5
J Recommendations for Outlook Duplicate Email Remover Using Outlook 6
Geldner Tweak Junk Email Reporting tool to default to particular email on send? Using Outlook 3
S Outlook 365 Can I change the possible range of highlighting colours when writing an Outlook email? Using Outlook 1
V Can one change the formatting of email title blocks? Using Outlook 0
P default font when sending email from browser Using Outlook 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
B IMAP server rejects sent email - cannot deliver messages Using Outlook 2
TedSch Small vba to kill political email Outlook VBA and Custom Forms 3
X Open Hyperlinks in an Outlook Email Message (Help with Diane's solution) Outlook VBA and Custom Forms 3
e_a_g_l_e_p_i Email notifications changed with Outlook 2021 Using Outlook 8
glnz How to retrieve or redo Verizon.net email password without affecting Outlook connection? Using Outlook 1
Z Copy specific email body text Outlook VBA and Custom Forms 0
D ISOmacro to extract active mail senders name and email, CC, Subject line, and filename of attachments and import them into premade excel spread sheet Outlook VBA and Custom Forms 2
M Outlook 365 refuses to send email Using Outlook 1
B Search and Find Email by Folder Name Outlook VBA and Custom Forms 2
K Closing external IMAP email... Outlook 2013 Using Outlook 0
L Capture email addresses and create a comma separated list Outlook VBA and Custom Forms 5
C Email bomb processing Outlook VBA and Custom Forms 1
O What would be the recommended way to change an email address (family member)? Using Outlook 0
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
L Checking Sender Email Address for trusted domain from list on intranet Outlook VBA and Custom Forms 4
J How do you disable address search box when typing @ in body of email? Using Outlook 0
S HTML Code Embedded in String Within Open Outlook Email Preventing Replace(Application.ActiveInspector.CurrentItem.HTMLBody From Working Outlook VBA and Custom Forms 4
Victor.Ayala Automated way to check the option "Show this folder as an email Address Book" Outlook VBA and Custom Forms 2
D Wrong email address in Outlook 2003 "From" tab in new outgoing emails Using Outlook 4
D Forwarding email based on the attachment file type and specific text found on the attachment file name Outlook VBA and Custom Forms 1
F Forward incoming email with 4 embedded images in the body without original sender Outlook VBA and Custom Forms 22
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
D Create advanced search (email) via VBA with LONG QUERY (>1024 char) Outlook VBA and Custom Forms 2
C Outlook 2007 Removing then adding account restores junk email processing Using Outlook 0
G Place jpg in body of email Outlook VBA and Custom Forms 1

Similar threads

Top