Using Outlook to send e-mail

There are many ways to send email, smtpmail.p from freeframework.org is known to be very good.
In the past there have been many quesions about Outlook. Here is one code snippet, seen on Peg in an email from John Lubenow (I hope we have permission to use this, if not just delete this topic and let me know please)

/** Send Outlook Mail **/
DEFINE INPUT PARAMETER mailto AS CHARACTER FORMAT "x(30)".
DEFINE INPUT PARAMETER mailcc AS CHARACTER FORMAT "x(30)".
DEFINE INPUT PARAMETER subject AS CHARACTER FORMAT "x(50)".
DEFINE INPUT PARAMETER body AS CHARACTER FORMAT "x(255)".

    DEFINE VARIABLE chOutlook AS COM-HANDLE NO-UNDO.
    DEFINE VARIABLE chmail AS COM-HANDLE NO-UNDO.

    CREATE "outlook.application.9" choutlook NO-ERROR.
    ASSIGN chmail = chOutlook:createItem(0).

    /** Assign data **/
    ASSIGN chmail:Subject  = subject.
    ASSIGN chMail:Body = body.
    ASSIGN chMail:TO = mailto.
    ASSIGN chMail:CC = mailcc.

    /** example for one attachment: **/
    chMail:Attachments:Add( [insert-file-name-here] ) NO-ERROR.
    chMail:Attachments(1):DisplayName =  [insert-file-display-name-here].

    /** view mail **/
    chMail:Display(1).
    chMail:SEND().
   
    RELEASE OBJECT chmail.
    RELEASE OBJECT choutlook.