Send Email using Hotmail/Live/Outlook/Office365 in Managed C++/CLI

In previous section, I introduced how to send email using Yahoo account. In this section, I will introduce how to use your Hotmail/MSN Live/Outlook.com/Office365 account to send email in Managed C++.

Introduction

Hotmail/Live/Outlook.com SMTP server address is smtp.live.com. It requires explicit SSL (TLS) connection to do user authentication, and you should use your Hotmail/Live/Outlook.com email address as the user name for ESMTP authentication. For example: your email is myid@hotmail.com, and then the user name should be myid@hotmail.com.

Server Port SSL/TLS
smtp.live.com 25, 587 TLS

Note

Remarks: All of samples in this section are based on first section: A simple Managed C++/CLI project. To compile and run the following example codes successfully, please click here to learn how to create the test project and add reference of EASendMail to your project.

[Managed C++/CLI Example - Send email using Hotmail/MSN Live account over TLS connection]

The following example codes demonstrate how to send email using Hotmail/MSN Live account.

Note

To get the full sample projects, please refer to Samples section.

#include "stdafx.h"

using namespace System;
using namespace EASendMail;

int main(array<System::String ^> ^args)
{
    try
    {
        SmtpMail ^oMail = gcnew SmtpMail("TryIt");
        // Your Hotmail email address
        oMail->From = "liveid@hotmail.com";
        // Set recipient email address, please change it to yours
        oMail->To = "support@emailarchitect.net";

        // Set email subject
        oMail->Subject = "test email from Managed C++ with Hotmail account";
        // Set email body
        oMail->TextBody = "this is a test email sent from Managed C++ project with Hotmail";

        // Hotmail SMTP server address
        SmtpServer ^oServer = gcnew SmtpServer("smtp.live.com");
        // Hotmail user authentication should use your
        // email address as the user name.
        oServer->User = "liveid@hotmail.com";
        oServer->Password = "yourpassword";

        // set 587 port
        oServer->Port = 587;

        // detect SSL/TLS automatically
        oServer->ConnectType = SmtpConnectType::ConnectSSLAuto;

        Console::WriteLine("start to send email with SSL connection...");

        SmtpClient ^oSmtp = gcnew SmtpClient();
        oSmtp->SendMail(oServer, oMail);

        Console::WriteLine("email was sent successfully!");
    }
    catch (Exception ^ep)
    {
        Console::WriteLine("failed to send email with the following error:");
        Console::WriteLine(ep->Message);
    }

    return 0;
}

Send Email using Office 365

First of all, you should go to Office 365 “Outlook” -> “Options” -> “See All Options” -> “Account” -> “My Account” -> “Settings for POP, IMAP, and SMTP access”. You will get your Office 365 SMTP server address and port. Then you can use your Office 365 SMTP server, port, user/password in the codes.

By default, Office 365 SMTP server uses 587 port and explicit SSL (TLS) connection.

Server Port SSL/TLS
smtp.office365.com 25, 587 (recommended) TLS

[C++/CLI - Send Email using Office 365 over Explicit SSL (TLS) on 587 Port - Example]

The following example codes demonstrate how to send email using Office 365 in C++/CLI over TLS 587 port.

Note

To get the full sample projects, please refer to Samples section.

#include "stdafx.h"
using namespace System;
using namespace EASendMail;

int main(array<System::String ^> ^args)
{
    try
    {
        SmtpMail ^oMail = gcnew SmtpMail("TryIt");
        // Your office365 email address
        oMail->From = "yourid@yourdomain";
        // Set recipient email address, please change it to yours
        oMail->To = "support@emailarchitect.net";

        // Set email subject
        oMail->Subject = "test email from Managed C++ with office365 account";
        // Set email body
        oMail->TextBody = "this is a test email sent from Managed C++ project with office365";

        // Office365 SMTP server address
        SmtpServer ^oServer = gcnew SmtpServer("smtp.office365.com");
        // office365 user authentication should use your
        // email address as the user name.
        oServer->User = "yourid@yourdomain";
        oServer->Password = "yourpassword";

        // Use 587 port
        oServer->Port = 587;

        // detect SSL/TLS automatically
        oServer->ConnectType = SmtpConnectType::ConnectSSLAuto;

        Console::WriteLine("start to send email with SSL connection...");

        SmtpClient ^oSmtp = gcnew SmtpClient();
        oSmtp->SendMail(oServer, oMail);

        Console::WriteLine("email was sent successfully!");
    }
    catch (Exception ^ep)
    {
        Console::WriteLine("failed to send email with the following error:");
        Console::WriteLine(ep->Message);
    }

    return 0;
}

Next Section

At next section I will introduce how to send email without specified SMTP server.

Appendix

Comments

If you have any comments or questions about above example codes, please click here to add your comments.