Tecnologia, programação e muito Visual FoxPro.

sábado, 14 de maio de 2011

[usuarios_fox] EMAIL

 

Estimados, se que este tema de envíos de email se a hablado varias veces.
Pero en este caso necesito enviar mails con varios adjuntos, tengo una clase
para el envio automatizado de mails a través de Outlook, pero en dicha clase
solamente se envía como parámetro un adjunto. Esta clase la baje de algún
portal, quizás pudo haber sido de este mismo grupo.

Aca les dejo el código a ver si alguien puede o sabe como adjuntar mas
archivos con este código, o quizás tenga algo que pueda ayudarme a enviar
mas de 1 archivo adjunto.

Gracias a todos y saludos.

**********************************************************************

*

* Email.prg

*

* Envio de email

*

* Condiciones de uso:

* 1. Deben estar instaladas las MAPI (algun cliente de correo como

* Exchange o Outlook)

* 2. Si existen distintos perfiles para la máquina, fatalmente

* aparece el mensaje de diálogo para elejir el perfil.

*

* Parametros: lcSubjectText --> Asunto (subject)

* lcMessageText --> Cuerpo del mensaje

* lcDestinatario --> Destinatario (To)

* lcAdjunto --> Attach

*

*********************************************************************

PROCEDURE MAIL

Parameters lcSubjectText,lcMessageText, lcDestinatario,lcAdjunto

lcDir = Sys(5) + CURDIR()

email=createobj('form')

visible=.T.

email.addobject('sesion','olesession')

email.addobject('mensaje','olemmessage')

IF !email.sesion.signon()

messagebox('NADA')

email.release

RETURN

ENDIF

lcAdjunto1 = "C:\tmp\sav1.txt"

SET STEP ON

IF email.sesion.LogSession

email.mensaje.sessionid=email.sesion.sessionid

email.mensaje.compose

email.mensaje.msgnotetext=lcMessageText + chr(13) + chr (10)+ chr(13)
+ chr (10)+ chr(13) + chr (10)

email.mensaje.MsgIndex = -1

if !empty(lcAdjunto)

email.mensaje.AttachmentPathName = lcAdjunto
&&AttachmentPathName

email.mensaje.AttachmentPosition =
len(email.mensaje.msgnotetext) - 1

email.mensaje.AttachmentPathName = lcAdjunto1

email.mensaje.AttachmentPosition = 2

* email.mensaje.Attachment.ADD("C:\tmp\sav.txt")

* email.mensaje.Attachment.ADD("C:\tmp\sav1.txt")

endif

* email.mensaje.Attachment.ADD("C:\tmp\sav.txt")

email.mensaje.MsgSubject=lcSubjectText

email.mensaje.recipdisplayname=lcDestinatario

email.mensaje.send(.f.)

IF email.sesion.logsession

email.sesion.signoff

ENDIF

ENDIF

Set defa to &lcDir

Return

**********************************************

* Definicion de clases

*

***

*** clase que maneja la sesion

***

Define class olesession AS olecontrol

oleclass="msmapi.mapisession"

logsession=.f.

logonUI=.f.

downloadmail=.f.

PROCEDURE signon

#DEFINE ERR_NOMAPI_LOC "No estan instaladas las MAPI"

this.logsession = .T.

IF !FILE(GETENV("WINDIR")+"\SYSTEM32\MAPI32.DLL");

AND !FILE(GETENV("WINDIR")+"\SYSTEM\MAPI32.DLL")

MESSAGEBOX(ERR_NOMAPI_LOC)

RETURN .F.

ENDIF

ENDPROC

PROCEDURE Init

this.logsession = .F.

ENDPROC

Enddefine

***

*** clase que maneja los mensajes

***

Define class olemmessage AS olecontrol

oleclass="msmapi.mapimessages"

Enddefine

Ricardo Moscarda

3ROM

[Se han eliminado los trozos de este mensaje que no contenían texto]

__._,_.___
Actividad reciente:
Comentarios, observaciones o si deseas darte de baja avísame a: jamorquecho@hotmail.com

.

__,_._,___

Nenhum comentário:

Arquivo do blog