Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    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 := chilkat.NewMailMan()

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

    // Set the SMTP login/password (if required)
    mailman.SetSmtpUsername("myUsername")
    mailman.SetSmtpPassword("myPassword")

    // Create a new email object
    email := chilkat.NewEmail()

    email.SetSubject("This is a test")
    email.SetBody("This is a test")
    email.SetFrom("Chilkat Support <support@chilkatsoft.com>")
    success = email.AddTo("Chilkat Admin","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.

    email.AddHeaderField("X-Priority","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 = mailman.SendEmail(email)
    if success != true {
        fmt.Println(mailman.LastErrorText())
        mailman.DisposeMailMan()
        email.DisposeEmail()
        return
    }

    success = mailman.CloseSmtpConnection()
    if success != true {
        fmt.Println("Connection to SMTP server not closed cleanly.")
    }

    fmt.Println("Mail Sent!")

    mailman.DisposeMailMan()
    email.DisposeEmail()