Sample code for 30+ languages & platforms
PureBasic

Send Email using smtp-mail.outlook.com with Password Authentication

See more SMTP Examples

Demonstrates how to send an email using smtp-mail.outlook.com using password authentication.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"
IncludeFile "CkMailMan.pb"

Procedure ChilkatExample()

    success.i = 0

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

    mailman.i = CkMailMan::ckCreate()
    If mailman.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkMailMan::setCkSmtpHost(mailman, "smtp-mail.outlook.com")
    CkMailMan::setCkSmtpPort(mailman, 587)
    CkMailMan::setCkStartTLS(mailman, 1)

    ; Set the SMTP login/password
    CkMailMan::setCkSmtpUsername(mailman, "OFFICE365_USERNAME")
    CkMailMan::setCkSmtpPassword(mailman, "OFFICE365_PASSWORD")

    ; Create a new email object
    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkEmail::setCkSubject(email, "This is a test")
    CkEmail::setCkBody(email, "This is a test")
    CkEmail::setCkFrom(email, "My Name <my_office365_email@outlook.com>")
    success = CkEmail::ckAddTo(email,"Chilkat Admin","admin@chilkatsoft.com")

    success = CkMailMan::ckSendEmail(mailman,email)
    If success <> 1
        Debug CkMailMan::ckLastErrorText(mailman)
        CkMailMan::ckDispose(mailman)
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    Debug CkMailMan::ckSmtpSessionLog(mailman)

    success = CkMailMan::ckCloseSmtpConnection(mailman)
    If success <> 1
        Debug "Connection to SMTP server not closed cleanly."
    EndIf

    Debug "Email Sent!"


    CkMailMan::ckDispose(mailman)
    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure