*--Automate Outlook #DEFINE MAILITEM 0 #DEFINE IMPORTANCELOW 0 #DEFINE IMPORTANCENORMAL 1 #DEFINE IMPORTANCEHIGH 2 oOutLookObject = CreateObject("Outlook.Application") oNS = oOutLookObject.GetNameSpace("MAPI") oEmailItem = oOutLookObject.CreateItem(MAILITEM) WITH oEmailItem .To = "you@youremail.com" .Subject = "Sending Email from within Foxpro to multiple recipients and with attachments" .Importance = IMPORTANCENORMAL .Body = "I'm now testing sending to multiple recipients in the .To value from within my app and mulitple attachments too." *.Attachments.Add("c:\temp\myfile.txt") *.Attachments.Add("C:\temp\junk.txt") .Display .Send ENDWITH RELEASE oEmailItem RELEASE oOutLookObjector
*--Send email using the user's default email client sendemail('youremail@mail.com','Test Mail subject','This is the body.') FUNCTION sendemail LPARAMETERS tcRecipient,tcSubject,tcBody *--Courtesy Rick Strahl, West-Wind Technologies RETURN GoUrl("mailto:" + tcRecipient + ; "&Subject=" +STRTRAN(UrlEncode(tcSubject),"+"," ") +; "&Body=" + STRTRAN(UrlEncode(tcBody),"+"," ")) *---------------------------------------------------------------- FUNCTION GoUrl(tcUrl, tcAction, tcDirectory, tcParms) IF EMPTY(tcUrl) RETURN -1 ENDIF IF EMPTY(tcAction) tcAction = "OPEN" ENDIF IF EMPTY(tcDirectory) tcDirectory = SYS(2023) ENDIF IF EMPTY(tcParms) tcParms = "" ENDIF DECLARE INTEGER ShellExecute ; IN SHELL32.dll ; INTEGER nWinHandle,; STRING cOperation,; STRING cFileName,; STRING cParameters,; STRING cDirectory,; INTEGER nShowWindow DECLARE INTEGER FindWindow ; IN WIN32API STRING cNull,STRING cWinName RETURN ShellExecute(FindWindow(0,_SCREEN.caption),; tcAction,tcUrl,; tcParms, tcDirectory,1) *------------------------------------------------------------------ Function UrlEncode( tcValue, llNoPlus ) LOCAL lcResult, lcChar, lnSize, lnX lcResult="" FOR lnX=1 to len(tcValue) lcChar = SUBSTR(tcValue,lnX,1) IF ATC(lcChar,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") > 0 lcResult=lcResult + lcChar LOOP ENDIF IF lcChar=" " AND !llNoPlus lcResult = lcResult + "+" LOOP ENDIF *** Convert others to Hex equivalents lcResult = lcResult + "%" + RIGHT(transform(ASC(lcChar),"@0"),2) ENDFOR RETURN lcResult>The following code is generating an error:
>loOutlook=CREATEOBJECT('outlook.application') >loMessage = loOutlook.createitem(0) >>