Rick Lipkin wrote:Jose
If your client desktops are using MS OUtlook .. this code works well ...
- Code: Select all Expand view
Try
oOutLook := TOleAuto():New("Outlook.Application")
Catch
Saying := "For some Odd reason The Outlook e-mail CLient failed to Initialize"
Msginfo( Saying )
Return(.f.)
End Try
oMailItem := oOutLook:Invoke("CreateItem", 0)
oMailitem:to := cTo
*oMailItem:Recipients:Add( cOther )
oMailitem:CC := cCC
oMailItem:Subject := cSubject
oMailItem:Body := cBody
Try
oMailItem:Attachments:Add("c:\dbtmp\"+cEmailName+".pdf" )
Catch
End Try
oMailItem:display(.F.) // sends without any intervention
oMailItem:Invoke("Send")
sysrefresh()
msginfo( "E-mail Sent" )
Rick Lipkin
hello rick
Thanks for your collaboration and for the code.
To send mail, I use a function since 2000 very simple and effective.
It works the same as yours, but in this case I cannot allow that a copy of the mail stay on the sent folder of user's machine because it will be used to send the request for a security key generated by the system.
If remain a copy of the mail in the outlook or any other administrator such as thumderbird, incredimail, etc., the user who requests it will be able to see it in the SENT folder since the program generates the password and sends it to the administrator of the system for aprobation. I hope I have explained myself.
This is an example of the code i have been using for years
- Code: Select all Expand view
Static function doit(cNombreE,cMailE,aCustomer)
local oMail
local cSubject := 'LG Electronics De Venezuela, C.A. (Su orden de reparacion/chequeo ha sido procesada)'
local cMessage := 'Estimado(s) Sr(es).: '+cNombreE+CRLF
DEFINE MAIL oMail SUBJECT cSubject TEXT cMessage
oMail:aRecipients = aCustomer
ACTIVATE MAIL oMail
return .t.
As you can see, it is very simple and basic, but so far it has worked well for me.
Any suggestions to do it in the background and without using any mail manager?