|
******************************* *!* 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 |