Sample code for 30+ languages & platforms
Unicode C

Send High Priority Email (SMTP, X-Priority header)

Demonstrates how to send high-priorty email (or lower priority email) by setting the X-Priority header field.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkMailManW.h>
#include <C_CkEmailW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailManW mailman;
    HCkEmailW email;

    success = FALSE;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // The mailman object is used for sending and receiving email.
    mailman = CkMailManW_Create();

    // Set the SMTP server (obviously, use your SMTP server, not chilkatsoft.com)
    CkMailManW_putSmtpHost(mailman,L"smtp.chilkatsoft.com");

    // Set the SMTP login/password (if required)
    CkMailManW_putSmtpUsername(mailman,L"myUsername");
    CkMailManW_putSmtpPassword(mailman,L"myPassword");

    // Create a new email object
    email = CkEmailW_Create();

    CkEmailW_putSubject(email,L"This is a test");
    CkEmailW_putBody(email,L"This is a test");
    CkEmailW_putFrom(email,L"Chilkat Support <support@chilkatsoft.com>");
    success = CkEmailW_AddTo(email,L"Chilkat Admin",L"admin@chilkatsoft.com");
    // To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.

    // To send high-priority email, 
    // add the X-Priority header field with the value "1" 
    // to indicate highest-priority.
    // A value of "3" is normal, which is the same as not setting
    // the X-Priority header at all, and "5" is the lowest. 
    // "2" and "4" are in-betweens.

    // Microsoft Outlook might add the following headers when
    // sending high-priority email.

    // X-Priority: 1 (Highest) 
    // X-MSMail-Priority: High 
    // Importance: High 

    // The X-Priority header alone is enough to make the email high-priority.

    CkEmailW_AddHeaderField(email,L"X-Priority",L"1");

    // Call SendEmail to connect to the SMTP server and send.
    // The connection (i.e. session) to the SMTP server remains
    // open so that subsequent SendEmail calls may use the
    // same connection.  
    success = CkMailManW_SendEmail(mailman,email);
    if (success != TRUE) {
        wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
        CkMailManW_Dispose(mailman);
        CkEmailW_Dispose(email);
        return;
    }

    success = CkMailManW_CloseSmtpConnection(mailman);
    if (success != TRUE) {
        wprintf(L"Connection to SMTP server not closed cleanly.\n");
    }

    wprintf(L"Mail Sent!\n");


    CkMailManW_Dispose(mailman);
    CkEmailW_Dispose(email);

    }