Send & Receive Issues

Fix Microsoft Access SendObject Error with Thunderbird

Khadija KhanKhadija Khan Nov 2, 2026 869 views

Question details

Users are unable to send emails via Microsoft Access using the DoCmd.SendObject command when Thunderbird or Windows 10 Mail is the default email client, often resulting in Error 2046.

Fix Microsoft Access SendObject Error with Thunderbird
Product
Microsoft Access
Device & OS
Windows 10
Scenario
Executing a VBA script in Microsoft Access to automatically draft or send an email through a third-party email client without Outlook installed.
Observed behavior
The application fails to open an email draft or throws Error 2046 ("The command or action 'SendObject' isn't available now"), particularly on systems using the Access Runtime or Windows 10 Mail.
Before you start

Ensure that Mozilla Thunderbird is fully installed on your computer and that you have administrator privileges to modify the default Windows application settings.

Solution 1Recommended

Configure Thunderbird as the Default MAPI Client

Microsoft Access strictly requires a MAPI-compatible email client to be set as the system default. Forcing Windows to recognize Thunderbird as the default MAPI handler resolves the core communication issue.

The DoCmd.SendObject function interacts directly with the Windows Messaging Application Programming Interface (MAPI). If the default client lacks full MAPI support, Access cannot pass the email data to the client.

1
Open Windows Settings

Click the Start menu and select the gear icon to open Windows Settings, then click on 'Apps'.

2
Navigate to Default Apps

Select 'Default apps' from the left-hand sidebar menu.

3
Set Default Email Client

Under the 'Email' section, click on the current default application (e.g., Windows 10 Mail) and select 'Mozilla Thunderbird' from the drop-down list.

4
Verify Protocol Association

Scroll down and click 'Choose default apps by protocol'. Find the 'MAILTO' protocol in the list and ensure it is also mapped directly to Mozilla Thunderbird.

Configure Thunderbird as the Default MAPI Client
Restart Required: After changing the default MAPI client, completely close and reopen Microsoft Access or your Access Runtime database to ensure the new MAPI configuration is loaded.
Free Microsoft Office alternative

Switch to WPS Office for a Hassle-Free Productivity Experience

If you are frustrated by Microsoft Office's strict dependencies and MAPI configuration errors, consider switching to WPS Office. It provides a lightweight, highly compatible alternative for all your document, spreadsheet, and presentation needs without complex setup hurdles.

  1. 1. Download the Installer: Visit the official WPS Office website and download the free installer for Windows.
  2. 2. Install the Software: Run the setup file and follow the quick on-screen instructions to install the suite on your computer.
  3. 3. Open Your Office Files: Simply double-click your existing Office documents to open them natively in WPS Office without losing any formatting.
Fully compatible with Microsoft Word, Excel, and PowerPoint formats (.docx, .xlsx, .pptx)Free and lightweight installation that runs smoothly on any Windows PCFamiliar user interface requiring no steep learning curve for Office usersBuilt-in PDF toolkit for seamless editing, splitting, and format conversion
microsoft office alternative - wps office

Frequently Asked Questions

Why does SendObject work on a PC with Outlook but fail with Access Runtime?

Outlook natively registers all required MAPI components that SendObject relies on during its installation. When using Access Runtime without Outlook, the system relies strictly on the default email client's MAPI integration, which may be incomplete or improperly configured in third-party clients like Thunderbird.

Can I use the Windows 10 Mail app with Microsoft Access SendObject?

No. The standard Windows 10 Mail application is not a full MAPI-compatible email client. You must install a classic desktop MAPI-compliant client, such as Mozilla Thunderbird or Microsoft Outlook, to successfully use the SendObject command.

How should I format email addresses in the SendObject VBA code?

You should pass only the raw email address as text in the 'To' argument (e.g., 'user@example.com'). Do not include the 'mailto:' prefix; doing so will prevent the MAPI client from parsing the address correctly, causing the VBA script to throw an error.

What does Error 2046 mean in Microsoft Access?

Error 2046 indicates that 'The command or action isn't available now.' In the context of SendObject, this typically means Access cannot find a valid MAPI connection to hand off the email data, usually because the default email client is incompatible or not set up correctly.