How to: Programmatically Search for an E-Mail Address in Contacts
This example searches a contact folder for contacts that have the domain name example.com in their e-mail addresses.
Applies to: The information in this topic applies to application-level projects for Outlook 2013 and Outlook 2010. For more information, see Features Available by Office Application and Project Type.
Example
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
SearchForEmail("example.com")
End Sub
Public Sub SearchForEmail(ByVal partialAddress As String)
Dim contactMessage As String = String.Empty
Dim contacts As Outlook.MAPIFolder = Me.Application.ActiveExplorer().Session _
.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
For Each foundContact As Outlook.ContactItem In contacts.Items
If Not (foundContact.Email1Address Is Nothing) Then
If foundContact.Email1Address.Contains(partialAddress) Then
contactMessage = contactMessage & "New contact" _
& foundContact.FirstName & " " & foundContact.LastName _
& " Email Address is " & foundContact.Email1Address & _
". " & vbCrLf
End If
End If
Next
If contactMessage.Length > 0 Then
Else
contactMessage = "No Contacts were found."
End If
MsgBox(contactMessage)
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
SearchforEmail("example.com");
}
private void SearchforEmail(string partialAddress)
{
string contactMessage = string.Empty;
Outlook.MAPIFolder contacts = (Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderContacts);
foreach (Outlook.ContactItem foundContact in contacts.Items)
{
if (foundContact.Email1Address != null)
{
if (foundContact.Email1Address.Contains(partialAddress))
{
contactMessage = contactMessage + "New contact"
+ foundContact.FirstName + " " + foundContact.LastName
+ " Email Address is " + foundContact.Email1Address +
". \n";
}
}
}
if (!(contactMessage.Length > 0))
{
contactMessage = "No Contacts were found.";
}
MessageBox.Show(contactMessage);
}
Compiling the Code
This example requires:
- Contacts that have the domain name example.com in their e-mail addresses (for example, somebody@example.com), and that have first names and last names.
See Also
Tasks
How to: Programmatically Send E-Mail Programmatically
How to: Programmatically Access Outlook Contacts
How to: Programmatically Add an Entry to Outlook Contacts