If you're in marketing, data management, or just need to sort through contacts, there will be a time when extracting all email addresses in Outlook 365 is necessary. Whether it's to back up contact details, send bulk communications, or migrate data to another platform, having an email address list can prove invaluable. Luckily, there are some free ways to do this, even without premium software or developer tools.

In this article, we'll walk you through free, real-world methods for extracting email addresses from Outlook 365, both from contacts and from received/sent emails.

________________________________________

1. Export Email Addresses from Contacts in Outlook 365

If you’ve saved people in your contacts list, this is the easiest way to extract their email addresses.

Step-by-Step Process:

1. Log in to your Outlook 365 account via a web browser.

2. Click the App Launcher (grid icon) in the top-left corner and choose People to access your contacts.

3. In the People tab, select Manage > Export Contacts.

4. Choose whether to export all contacts or just a specific folder.

5. Hit Export, and Outlook will save a CSV file.

This CSV file will have all the information you need, including names and email addresses. You can import the file into Excel or Google Sheets to sort and extract the email addresses as desired.

________________________________________

2. Extract Email Addresses from Sent or Received Emails

Occasionally, you want email addresses you don't have in your contacts but received in your inbox or sent mail. Doing them manually would be an eternity, but there's a better way to do it.

Method: Use Outlook Desktop with VBA Macro (Free)

If you can access the Outlook desktop application (which most Outlook 365 users can), then you can use a VBA macro to pull out email addresses.

Here's how:

1. Open Outlook Desktop.

2. Press ALT + F11 to launch the Visual Basic for Applications (VBA) editor.

3. Go to Insert > Module and insert the following macro:

vba

CopyEdit

Sub ExtractEmailAddresses()

   Dim ns As Outlook.Namespace

   Dim Inbox As Outlook.MAPIFolder

   Dim Mail As Outlook.MailItem

   Dim Folder As Outlook.MAPIFolder

   Dim i As Integer

   Dim EmailList As String

Dim ns As Application.GetNamespace("MAPI")

Dim Folder As MAPIFolder

Set ns = Application.GetNamespace("MAPI")

Set Folder = ns.PickFolder

If Folder Is Nothing Then Exit Sub

For i = 1 To Folder.Items.Count

   If Folder.Items(i).Class = olMail Then

       Set Mail = Folder.Items(i)

   End If

Next 'i

EmailList = EmailList & Mail.SenderEmailAddress & vbCrLf

       End If

   Next i

   ' Create a new text file on your desktop

   Dim FilePath As String

   FilePath = Environ("USERPROFILE") & "\Desktop\ExtractedEmails.txt"

   Open FilePath For Output As #1

Print #1, EmailList

Close #1

MsgBox "Emails extracted to: " & FilePath

End Sub

4. Execute the macro by pressing F5 or by going to the "Run" menu.

5. Choose the directory you wish to check (e.g., Inbox, Sent Items).

6. The macro will extract emails and print sender addresses to a file on your desktop.

Note: This technique captures sender addresses. To capture recipient addresses, change the macro to iterate through the Recipients of each mail.

______________________________________

3. Use Microsoft Power Automate (No Code Required)

Power Automate (previously Microsoft Flow) is a no-cost addition to most Office 365 subscriptions. It can automate processes, including reading and writing email information.

Steps:

1. Go to https://make.powerautomate.com.

2. Set up a new automated flow that runs when a new email is received.

3. Add an action to add the sender's email address to an Excel or OneDrive spreadsheet.

It creates a live history of all arriving email addresses over time.

It is slow to configure and only saves future emails — not historical ones — but it's a simple, free, no-code solution that works.

________________________________________

4. Copy-Paste Method with Excel (For Minor Tasks)

If you merely require a few addresses out of your inbox or sent box, you can:

1. Highlight several emails in Outlook.

2. Right-click > Copy.

3. Paste into Notepad or Word.

4. Apply Excel functionality (such as Text to Columns or regex in Google Sheets) to extract email addresses.

It is not scalable but is useful for fast one-off tasks.

________________________________________

Final Tips

• Deduplication: Employ Excel's "Remove Duplicates" functionality to de-duplicate your email list.

• Sorting & Filtering: To filter by domain or extract particular types of addresses, the assistant

• Privacy Caution: Never use or share gathered email addresses without consent — particularly in mass marketing.

________________________________________

Conclusion

Extracting email addresses from Outlook 365 doesn't have to be expensive. Whether extracting from contacts, inbox folders, or automating, several free techniques exist for power users and beginners. For one-time export, utilize the CSV from contacts. For bulk or historical extraction, the VBA macro approach is extremely effective. And for continuous automation, Power Automate is a no-code, free tool that keeps your list updated in real-time.

With the proper tools and an hour or two, you can mine, sort, and leverage your Outlook 365 email information efficiently and ethically without paying a dime.