I have found this code for sending an ms outlook email via VFP code, It works great for me. Need to send many emails to many people , but before sending the the mail, it pause and messagge tell (in english), I will try to translate it as exactly as I can :
"A program is trying to send an email in your name, Do you permit it?...I if is unexpected and may be a virus, and you should choose No."
I want this message doesn´t appear every time I send a mail (a group of mails, really)....
It is posible ?..and what parameter I need in the code below:
Thanks in advance.
Carlos Burgos
Here the code I found in internet....
*******************************
*!* 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 = "
" + ;
"Hey Have You Tried VFP Email?" + ;
""
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