Expert Guide: How to Send Email from Access Database?

As we all know, Microsoft Access is a robust platform for managing databases, but did you know it can also streamline your email communication? Now, you must be eager to know how, right? Well, have patience! In this blog, I will show you how to send email from Access 2010/2013/2016/2019 in step-by-step methods, provided resolutions can save time and ensure consistency in your workflow.

Rated Excellent on Trustpilot
Free MS Access Database Repair Tool
Repair corrupt MDB and ACCDB database files and recover deleted database tables, queries, indexes and records easily. Try Now!
By clicking the button above and installing Stellar Repair for Access (14.8 MB), I acknowledge that I have read and agree to the End User License Agreement and Privacy Policy of this site.

Quick Navigation:

Can Microsoft Access Send Emails?

Yes, MS Access sends emails. With the help of VBA module code or a macro with the DoCmd. SendObject method, you can automate the process of sending emails directly from your Microsoft Access database.

How to Send Email from Access Database?

Whether you need to send reports, notifications, or updates to clients or team members, sending an email process can save time and ensure consistency. Well, in this section, you will find different ways to send email from Access database quickly.

How to Send Email from Access Database

Method 1: How to Send Email from MS Access Using Outlook VBA?

NOTE: The below-mentioned code doesn’t work properly if you haven’t installed the right Outlook E-mail Security Update depending on the version of Outlook you are currently been using.

Mainly there are six steps to send email from Access vba with Outlook. These are the things that you have performed in your Outlook mail.

  1. First of all, initialize the Outlook session.
  2. Make a new message.
  3. After that, add the recipients (CC, BCC, and To) and assign their names.
  4. Set all valid properties, like Body, Subject, and Importance.
  5. Add the attachments that you want to attach.
  6. Show or send the message.

Steps To Send Email From Access Using Outlook Programmatically

  1. Firstly you need to make one text file with the name Customers.txt right within your C:\My Documents folder.
  2. Now start your MS Access application and open your sample database eg: Northwind.mdb.

It’s time to create a module in your Access database. After that just type the line “Option Explicit” in the module Declarations section only if it’s not written there.

  1. From the Tools menu, tap to the References option.
  2. Now in the References box, tap to choose the Microsoft Outlook 16.0 Object Library Then hit the OK option.

how to send email from Access database

NOTE: Sometimes within the “Available References box”, you won’t get this “Microsoft Outlook 16.0 Object Library” option. Then in that case, browse your hard disk for “Msoutl9.olb” file, Msoutl9.olb.

If still you are unable to fetch that file then you need to run MS Outlook Setup program to install it. After that only you can proceed with the following procedure to send outlook email from Access.

  1. In the new module, you need to just type the following procedure:

Sub SendMessage(Optional AttachmentPath)
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

‘ Create the Outlook session.
Set objOutlook = CreateObject(“Outlook.Application”)

‘ Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
‘ Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add(“Nancy Davolio”)
objOutlookRecip.Type = olTo

‘ Add the CC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add(“Andrew Fuller”)
objOutlookRecip.Type = olCC

‘ Set the Subject, Body, and Importance of the message.
.Subject = “This is an Automation test with Microsoft Outlook”
.Body = “Last test – I promise.” & vbCrLf & vbCrLf
.Importance = olImportanceHigh  ‘High importance

‘ Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

‘ Resolve each Recipient’s name.
For Each objOutlookRecip In .Recipients
If Not objOutlookRecip.Resolve Then
End If

End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub

  1. For testing this procedure, type the following line in the immediate Window. After then make a press to the enter button from your keyboard:

SendMessage “C:\My Documents\Customers.txt”

If you want to send an email from access without attaching any attachments then remove the argument section while calling procedure, like this:


Method 2: How to Send Email From Access Using SendObject method or EMailDatabaseObject method

MS Access allows you to send emails using DoCmd.SendObject method in VBA module code. Well, this method works to send simple emails as it has some significant limitations.

Note: In the former version of the Access application like 2002/2003/2007 SendObject method was used for sending emails from MS Access. Whereas, from the beginning of Access 2010 this SendObject method was renamed to EMailDatabaseObject.

User can use the EMailDatabaseObject macro action in their respective Access databases application to attach an Access form, report, or module in e-mail messages. From where it can be easily viewed and then forwarded.

Objective To Use SendObject Method

  • The SendObject command allows you to email messages along with the option to attach reports, module data, tables, forms, queries, and forms. Well, this attachment can be in any of these formats Excel, text, HTML, PDF, rich text, XPS, etc.
  • This specific SendObject command makes use of Microsoft Outlook or another email application that is based on MAPI (Mail Applications Programming Interface) to release your email. It will create an issue because Windows security interrupts each MAPI message and sends a confirmation prompt box.

HELPFUL ARTICLE: How To Import Outlook Email Into Access Database?

Syntax of the SendObject Method

Here is the syntax to use the SendObject Method:

DoCmd.SendObject ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile

Macro Syntax

Choose SendObject like action and assign its arguments.


Each parameter has some meaning and all the above-mentioned parameters in the syntax are optional.

Example of Sending Email From Access Using SendObject method

In the below example, I have included an Employee table within a mail in MS Excel format. After then specifying the mail message necessary points like To, Cc, and Subject. The email will be immediately sent, without any editing.

DoCmd.SendObject acSendTable, “Employees”, acFormatXLS, _  “Nancy Davolio; Andrew Fuller”, “Joan Weber”, , _  “Current Spreadsheet of Employees”, , False 

Method 3: MS Access Send Email Macro

In the third and last method, we will learn to send mail through access macro.

  • Open your MS Access application.
  • Open the database that you want to use.
  • Tap to the “Create” tab and then on the “Macro” group.

MS Access Send Email Macro

  • Now you will see the action catalog on the right-hand side corner of the Access application Window.

how to send email from Access database

  • Choose the “Send Object” option from the drop-down box of “Action”.
  • You need to complete every step present within the Action Argument. For Object Type, choose “Report” and for an object name (it is the report name that needs to be mailed) choose “Open Issues”. For the output format choose the “PDF Format (*.pdf)”.

Now you have to enter the report recipient’s email addresses, email subject, and email text.

If you need to edit the email message before sending it then choose the “Yes” option otherwise choose the “No” option. For attaching the HTML files, you need to assign the path of the template.

  • Tap to the disk icon to save up the Macro.
  • Now it’s time to give a name to your macro and then tap on the “OK” option.
  • To run the macro you need to hit the exclamation point.
  • Hit on the “Allow” option to order the program for sending email. The report is sent through Outlook.
  • For opening up the Navigation Pane tap to the double arrows.
  • To automatically email the Access report make a double-click on your saved macro.
  • Make a check whether the email has been sent or not by opening up your mail.

Related FAQs:

What Is the Email Format for Access?

The email format for Microsoft Access is [first]. [last].

Is VBA Difficult to Learn for Email Automation in Access?

Yes, it can be difficult to learn and perform VBA at first, but with regular practice, you can master the basics of automating email sending in MS Access.

Does Microsoft Access Work with Outlook?

Yes, Microsoft Access and Outlook work together to export data to the destination tables in your database.

How Do I Collect Data from Email in Access 365?

To collect data from email in Access 365, navigate to the “External Data” tab >> in the Collect Data group, you have to click Create E-mail. After that, right-click on the table or query >> click Collect and Update Data via E-mail.

Which Option Is Used for Sending Bulk Emails?

Mail Merge is generally used for sending bulk emails.

Time to Conclude

Sending emails from Access database offers a suitable way to streamline communication & automate repetitive tasks. However, by following the step-by-step methods discussed in this guide, you can send reports, notifications, or updates to clients or team members to enhance your email workflow & improve productivity.

Thanks for reading!

tip Still having issues? Fix them with this Access repair tool:

This software repairs & restores all ACCDB/MDB objects including tables, reports, queries, records, forms, and indexes along with modules, macros, and other stuffs effectively.

  1. Download Stellar Repair for Access rated Great on Cnet (download starts on this page).
  2. Click Browse and Search option to locate corrupt Access database.
  3. Click Repair button to repair & preview the database objects.

Pearson Willey is a website content writer and long-form content planner. Besides this, he is also an avid reader. Thus he knows very well how to write an engaging content for readers. Writing is like a growing edge for him. He loves exploring his knowledge on MS Access & sharing tech blogs.