Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

C++ Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Base64
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GMail REST API
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Google Sheets
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)
Java KeyStore (JKS)

Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
Upload
VoiceBase
Walmart
WebSocket
XAdES
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(C++) Send HTML Email with Attachments

Demonstrates how to send an HTML email with file attachments.

Chilkat C/C++ Library Downloads

MS Visual C/C++

Linux/CentOS C/C++

Alpine Linux C/C++

MAC OS X C/C++

armhf/aarch64 C/C++

C++ Builder

iOS C/C++

Android C/C++

Win Mobile 5.0/Pocket PC 2003

Solaris C/C++

FreeBSD C/C++

OpenBSD C/C++

MinGW C/C++

#include <CkMailMan.h>
#include <CkEmail.h>
#include <CkStringBuilder.h>

void ChilkatSample(void)
    {
    //  This example requires the Chilkat Email API to have been previously unlocked.
    //  See Unlock Chilkat MailMan for sample code.

    CkMailMan mailman;

    mailman.put_SmtpHost("smtp.my-starttls-mail-server.com");

    mailman.put_SmtpUsername("MY-SMTP-USERNAME");
    mailman.put_SmtpPassword("MY-SMTP-PASSWORD");

    mailman.put_StartTLS(true);
    mailman.put_SmtpPort(587);

    //  Create a new email object
    CkEmail email;
    email.put_Subject("Test SMTP API to Send HTML Email with Attachments");
    email.put_From("Joe Programmer <joe@my-starttls-mail-server.com>");
    email.AddTo("Chilkat Support","support@chilkatsoft.com");

    //  Add a plain-text alternative body, which will likely never be seen.
    //  (It is shown if the receiving email client is incapable of displaying HTML email.)
    email.AddPlainTextAlternativeBody("This is a plain-text alternative body...");

    //  Our HTML will include an image, so add the related image here.
    const char *contentIdStarfish = email.addRelatedFile("qa_data/jpg/starfish.jpg");
    if (email.get_LastMethodSuccess() != true) {
        std::cout << email.lastErrorText() << "\r\n";
        return;
    }

    //  The src attribute for the image tag is set to the contentIdStarfish:
    CkStringBuilder sbHtml;
    sbHtml.Append("<html><body><p>This is an HTML email with an embedded image.</p>");
    sbHtml.Append("<p><img src=\"cid:CONTENT_ID_STARFISH\" /></p></body></html>");
    int numReplacements = sbHtml.Replace("CONTENT_ID_STARFISH",contentIdStarfish);

    email.AddHtmlAlternativeBody(sbHtml.getAsString());

    //  Finally, add some attachments to the email.
    //  Add a file attachment.
    bool success = email.AddFileAttachment2("qa_data/pdf/fishing.pdf","application/pdf");
    if (success != true) {
        std::cout << email.lastErrorText() << "\r\n";
        return;
    }

    //  Add an attachment where the content is contained in a string.
    const char *content = "This is the content of the 2nd attached file.";
    email.AddStringAttachment("someText.txt",content);

    //  Send the HTML email.
    success = mailman.SendEmail(email);
    if (success != true) {
        std::cout << mailman.lastErrorText() << "\r\n";
        return;
    }

    success = mailman.CloseSmtpConnection();
    if (success != true) {
        std::cout << "Connection to SMTP server not closed cleanly." << "\r\n";
    }

    std::cout << "HTML email with attachments sent!" << "\r\n";
    }

 

© 2000-2016 Chilkat Software, Inc. All Rights Reserved.