Send email using CDO

Send HTML formatted mail using the free Microsoft mail component CDO
Updated 30 Nov 2010

View License

CDO stands for Collaboration Data Objects which ships with Windows 2000, Windows XP, and Windows Server 2003.

Find below different scenarii in which using emailtool_nodisplay may be interesting .

% Usage 1 :

emailtool_nodisplay can be used to monitor usage of softwares in your company.
Example in a GUI you can add these lines in the openingfcn:

% username = getenv('USERNAME');
% if isempty(username)
% str = '!whoami';
% username = deblank(evalc(str));
% end
% if ispc
% try %#ok<TRYNC>
% emailtool_nodisplay([mfilename ''],'','','',['used by ' username])
% end
% end

You will receive in your Microsoft Oulook Inbox an email letting you know that someone has started your software.

% Usage 2 :

emailtool_nodsiplay can be used to receive notifications if a
code/simulation fails in a try-catch statement for example
You could make the exception message caught in the body message.

% Usage 3 :
Can be used at the end of a successful compilation invoking MATLAB Compiler to automatically send a notification to your peers that a new code has been compiled.
You could send the verbose of mcc -mv in the body message.

% Usage 4 :

can be used to send emails from another sender (not advised except for joking!)

% Usage 5 :
can be used to send anonymous emails (idem not advised!)

- emailtool_nodisplay can send HTML messages.
- Messages can be sent to several recipients.

All the different syntaxes to run emailtool_nodisplay are documented in the header of M-file.

Example (shown in the screenshot) :
To receive an HTML email in both my Microsoft Outlook Inbox and my Yahoo Mail , I just typed:
>> from = '';
>> to = '';
>> CC = '';
>> subject = ['Mail sent via ' version('-release')];
>> attachments ={which('support'),which('why')};
>> messageHTML= ['<html>Please find enclosed the code of support .<br>' char(10),...
'<b>This email has been sent by a MATLAB code created by Aurelien!!</b></html>'];
>> emailtool_nodisplay(from,to,CC,'',subject,messageHTML,attachments,1)

When running the above code , I receive an email with 2 attached files (see screenshot) . The last input argument of emailtool_nodisplay tells my code that I want to send an HTML message . It allows to have the last line of body message in bold in this example.

Cite As

Aurelien Queffurust (2024). Send email using CDO (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

I 've just changed the title (was the M-file name before)

Add a screenshot

Adding some comments in description about implemented features and syntax.