>******************************* >*!* Example of using SendViaOutlook >******************************* >#DEFINE olImportanceLow 0 >#DEFINE olImportanceNormal 1 >#DEFINE olImportanceHigh 2 > >DIMENSION aryAttach(1) > >LOCAL lcTo, lcSubject, lcBody, lcCC, lcBCC, llHTMLFormat, llOpenEmail, lcErrReturn > > >lcto = "someone.com" >lcSubject = "email problems" > >*!* Sending the body in HTML format >llHTMLFormat = .F. >close alte > lcBody = "alternative to outlook??" > > >lcCC = " " >lcBCC = " " > >*!* to automatically send email set llOpenEmail to .F. >llOpenEmail = .T. && Whether email is opened in Outlook or not > >SendViaOutlook(@lcErrReturn, lcTo, lcSubject, lcBody, @aryAttach, lcCC, lcBCC, llHTMLFormat, olImportanceHigh, llOpenEmail) > >IF EMPTY(lcErrReturn) >* MESSAGEBOX("'" + lcSubject + "'" + IIF(llOpenEmail, " Prepared ", " sent ") + "successfully.", 64, "Send email via MS Outlook") >ELSE > MESSAGEBOX("'" + lcSubject + "' failed to be sent. Reason:" + CHR(13) + lcErrReturn, 64, "Send email via Outlook") >ENDIF > >******************************************* >PROCEDURE SendViaOutlook(tcReturn, tcTo, tcSubject, tcBody, taFiles, tcCC, tcBCC, tlHTMLFormat, tnImportance, tlOpenEmail) > ******************************************* > LOCAL loOutlook, loItem, lnCountAttachments, loMapi > TRY > loOutlook = CREATEOBJECT("outlook.application") > loMapi = loOutLook.GetNameSpace("MAPI") > loMapi.Logon() > loItem = loOutlook.CreateItem(0) > WITH loItem > .Subject = tcSubject > .TO = tcTo > IF tlHTMLFormat > .HTMLBody = tcBody > ELSE > .Body = tcBody > ENDIF > IF TYPE("tcCC") = "C" > .CC = tcCC > ENDIF > IF TYPE("tcBCC") = "C" > .BCC = tcBCC > ENDIF > IF TYPE("tnImportance") != "N" > tnImportance = 1 && normal importance > ENDIF > .Importance = tnImportance > > *IF TYPE("tafiles",1) = "A" > *FOR lnCountAttachments = 1 TO ALEN(taFiles) > *.Attachments.ADD(taFiles(lnCountAttachments)) > *ENDFOR > *ENDIF > *IF tlOpenEmail > > .DISPLAY() > olMinimized = 1 > loInspector = .GetInspector() > loInspector.WindowState = olMinimized > *ELSE > *.SEND() > *ENDIF > ENDWITH > CATCH TO loError > tcReturn = [Error: ] + STR(loError.ERRORNO) + CHR(13) + ; > [LineNo: ] + STR(loError.LINENO) + CHR(13) + ; > [Message: ] + loError.MESSAGE + CHR(13) + ; > [Procedure: ] + loError.PROCEDURE + CHR(13) + ; > [Details: ] + loError.DETAILS + CHR(13) + ; > [StackLevel: ] + STR(loError.STACKLEVEL) + CHR(13) + ; > [LineContents: ] + loError.LINECONTENTS > FINALLY > RELEASE oOutlook, oItem > STORE .NULL. TO oOutlook, oItem > ENDTRY >ENDPROC > >