enviar archivo por mail como adjunto
como puedo hacer para enviar un mail desde fox y que me adjunte un determinado archivo
**
** SendMail.prg
** Envia un email, con un archivo adjunto.
**
** nom=Nombre del archivo a enviar. Si es 'vacio' o no existe, no envia nada.
** x_dest=Buzon destino.
** x_cc=Buzon c/c.
** xtit=Asunto del mensaje. Si no existe o no es caracter o esta vacio, usa "Error..."
**
parameters nom, x_dest, x_cc, x_tit, x_body
** Conecta con outlook, si no conecto todavia.
if type("xOut") == "U"
public xOut
xOut = createobject("outlook.application")
endif
** Crea el item "Mensaje de Correo"
nota = xOut.createitem(0)
** Valida los parametros recibidos.
if (pcount() < 2) or (type("x_dest") # "C") or empty(x_dest)
x_dest = "[email protected]"
endif
if (pcount() < 3) or (type("x_cc") # "C") or empty(x_cc)
x_cc = "[email protected]"
endif
if (pcount() < 4) or (type("x_tit") # "C") or empty(x_tit)
x_tit = "Correo sin titulo..."
endif
if (pcount() < 5) or (type("x_body") # "C") or empty(x_body)
x_body = ""
ENDIF
if x_cc == "<nada>"
x_cc = ""
endif
** Llena los datos del mensaje y lo envia.
with nota
.subject = m.x_Tit && Asunto
.body = m.x_body && Cuerpo
.to = m.x_dest && Para, si son varios
.cc = m.x_cc && CC
.ReadReceiptRequested = .f. && Si recibe mensaje de Leido o no
.importance = 1 && 0=Baja, 1=Normal, 2=Alta
* .MessageClass = "IPM.Document.Excel.Sheet.8" && Para que al abrir el MSG, use EXCEL.
if !empty(nom) and file(nom)
arcatt = .attachments
arcatt.add(nom) && Agrega un archivo
endif
.send
endwith
return
** SendMail.prg
** Envia un email, con un archivo adjunto.
**
** nom=Nombre del archivo a enviar. Si es 'vacio' o no existe, no envia nada.
** x_dest=Buzon destino.
** x_cc=Buzon c/c.
** xtit=Asunto del mensaje. Si no existe o no es caracter o esta vacio, usa "Error..."
**
parameters nom, x_dest, x_cc, x_tit, x_body
** Conecta con outlook, si no conecto todavia.
if type("xOut") == "U"
public xOut
xOut = createobject("outlook.application")
endif
** Crea el item "Mensaje de Correo"
nota = xOut.createitem(0)
** Valida los parametros recibidos.
if (pcount() < 2) or (type("x_dest") # "C") or empty(x_dest)
x_dest = "[email protected]"
endif
if (pcount() < 3) or (type("x_cc") # "C") or empty(x_cc)
x_cc = "[email protected]"
endif
if (pcount() < 4) or (type("x_tit") # "C") or empty(x_tit)
x_tit = "Correo sin titulo..."
endif
if (pcount() < 5) or (type("x_body") # "C") or empty(x_body)
x_body = ""
ENDIF
if x_cc == "<nada>"
x_cc = ""
endif
** Llena los datos del mensaje y lo envia.
with nota
.subject = m.x_Tit && Asunto
.body = m.x_body && Cuerpo
.to = m.x_dest && Para, si son varios
.cc = m.x_cc && CC
.ReadReceiptRequested = .f. && Si recibe mensaje de Leido o no
.importance = 1 && 0=Baja, 1=Normal, 2=Alta
* .MessageClass = "IPM.Document.Excel.Sheet.8" && Para que al abrir el MSG, use EXCEL.
if !empty(nom) and file(nom)
arcatt = .attachments
arcatt.add(nom) && Agrega un archivo
endif
.send
endwith
return
Gracias por este ejemplo, después de haber probado con montones de rcomendaciones esta fue la mejor y la única que funcionó rapido y fácil.
Sabes como evitar que Outlook muestre la ventana de "Un programa está intentando enviar correo electrónico automáticamente a su nombre" si bien hay que esperar 10 segundos y aceptar, serÃa bueno poder evitarla.
Un saludo, y gracias de nuevo.
Sabes como evitar que Outlook muestre la ventana de "Un programa está intentando enviar correo electrónico automáticamente a su nombre" si bien hay que esperar 10 segundos y aceptar, serÃa bueno poder evitarla.
Un saludo, y gracias de nuevo.
