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);

    }