>******************************* >*!* Example of using SendViaOutlook >******************************* >#DEFINE olImportanceLow 0 >#DEFINE olImportanceNormal 1 >#DEFINE olImportanceHigh 2 > >DIMENSION aryAttach(2) >aryAttach(1) = "C:\attachment1.txt" && change to an actual file that exists on your computer >aryAttach(2) = "C:\attachment2.zip" && change to an actual file that exists on your computer > >LOCAL lcTo, lcSubject, lcBody, lcCC, lcBCC, llHTMLFormat, llOpenEmail, lcErrReturn > >lcTo = "someone@sommehost.com" >lcSubject = "Hey Have You Tried VFP Email?" >*!* Sending the body in HTML format >llHTMLFormat = .T. >lcBody = "<a href='http://www.sweetpotatosoftware.com/SPSBlog/default.aspx'>" + ; > "Hey Have You Tried VFP Email?" + ; > "</a>" >lcCC = "someoneelse@anotherhost.com" >lcBCC = "myboss@bosshost.com" > >*!* 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, " opened ", " sent ") + "successfullly.", 64, "Send email via 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() > 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