![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Ole
Si ya no le hayas como hacer, puedes utilizar COM, utilize esté código y me ha funcionado.
Despues solo tienes que hace run Send & receive. |
|
#2
|
|||
|
|||
|
Hola D&W.
He probado tu codigo y funciona, peroooooooooo me sale las ventanas de Un programa esta intentando obtener acceso a direcciones de correo electronico almacenadas en Outlook. ¿Desea permitirlo? y el de Un programa esta intentando enviar correo electronico automaticamente en su nombre. ¿Desa permitirlo? La primera ventana la he conseguido quitar con el siguiente codigo. procedure TInformeNominas.EnviarCorre_xCOM(const Subject, Body, FileName, SenderName, SenderEMail, RecepientName, RecepientEMail: String); var Outlook: _Application; AFolder : MAPIFolder; ANameSpace : _NameSpace; AMailItem : _MailItem; AAttachments : Attachments; AppWasRunning: boolean; { has Outlook finished } lcid: integer; { User ID } Unknown: IUnknown; Result: HResult; begin lcid := LOCALE_USER_DEFAULT; //----{~~} Result := GetActiveObject(CLASS_OutlookApplication, nil, Unknown); if (Result = MK_E_UNAVAILABLE) or (AppWasRunning) then Outlook := CoOutlookApplication.Create else begin OleCheck(Result); { Make sure the object has been linked } OleCheck(Unknown.QueryInterface(_Application, Outlook)); AppWasRunning := True; { States that excel is now running } end; //Get the namespace ANameSpace := Outlook.Get_Session; //Get the Inbox folder AFolder := ANameSpace.GetDefaultFolder(olFolderInbox); //Show the Inbox folder on screen //AFolder.Display; //Create a new email message AMailItem := (Outlook.CreateItem(olMailItem) as MailItem); AMailItem.To_ := RecepientEMail; AMailItem.Subject := Subject; AMailItem.Body := Body; AAttachments := AMailItem.Get_Attachments; //If the user has entered a file name then attach it if (Length(FileName) > 0) then begin AAttachments.Add(FileName,$00000001 , Length(Body)+1,'Test'); end; AMailItem.Save; AMailItem.Send; MessageDlg('The mail has been sent!',mtinformation,[mbok],0); Outlook.Quit; end; En la USE Outlook2000, ActiveX Pero la ultima pantallita de : Un programa esta intentando enviar correo electronico automaticamente en su nombre. ¿Desa permitirlo? No consiguo quitalar..... Sugerencias... Gracias P.D.: Con este codigo puedo enviar ficheros adjuntos a todos(express, 2000,2002,2003,2007, vista, etc, lo cual antes no podia) |
|
#3
|
||||
|
||||
|
Recuerdas la opción que te habia mencionado
El probado el código que has posteado, pero no me aparece el menaje de que "Un programa está...", lo único que me sale es "Hay mensaje si enviar, desear enviarlos antes de salir" esto es normal ya que en tu código mandas a cerrar outlook (¿Tienes algún propósito con ello?).
Por otro lado, creo que más bien tu problema radica en otro lugar, recuerdas la opción que te había mencionado de outlook 2007 que se encuentra en el menú: Herramientas -> Centro de Confianza -> Acceso mediante programación Resulta que la opción por defecto dice: "Avisarme sobre activa sospechosa cuando mi programa antivirus esté inactivo o no esté actualizado." La opción por si sola se explica, revisa que Windows esté detectando correctamente el antivirus y que este esté actualizado. (Vista talvez de problemas, no estoy seguro) Seguramente, en versiones anteriores a la del 2007, no existe esta opción ya que requiere el SP2 de XP, por lo tanto, en estas versiones lo único que puedes hacer es deshabilitar la opción de seguridad de <u>Acceso mediando Programación</u>. Saludos. Última edición por Chris fecha: 25-10-2007 a las 17:46:50. |
|
#4
|
|||
|
|||
|
Quita la linea
Outlook.Quit; con esto lo solucionas..... Respeto al resto, voy a mirar el Outlook2003, pues la opcion que me dices no la veo por ningun sitio.... tambien instale 2007 y me decia lo mismo. Lo que voy ha hacer es desinstalar el outlook2003 y quitarlo de regedit. Tengo Windows XP SP2 Outlook 2003 Kaspersky Internet Security 6.0 Delphi 6 |
|
#5
|
|||
|
|||
|
se me olvida...
como deshabilito la opción de seguridad de <u>Acceso mediando Programación</u>. |
|
#6
|
||||
|
||||
|
Te mandos imágenes de Outlook 2007
Por aquí puedes empezar a buscar en versiones anteriores.
<a href="http://img223.imageshack.us/my.php?image=centroconfianzamenuqp8.jpg" target="_blank">Venta Principal</a> Última edición por Chris fecha: 25-10-2007 a las 18:46:12. |
|
#7
|
||||
|
||||
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pasar citas a Outlook 2003 | aircraft | API de Windows | 0 | 03-07-2006 13:51:26 |
| Enviar mail usando SMTP pero no OUTLOOK | brandolin | Internet | 2 | 31-01-2006 03:32:30 |
| Problema al enviar Email con adjuntos usando el componente Idsmtp de las indy | Nbull | Internet | 2 | 22-11-2004 09:23:38 |
| Enviar email a través de Outlook Express | kambiz | Internet | 9 | 20-10-2004 22:58:12 |
| Adjuntar fichero por E-Mail usando outlook? | burasu | Internet | 0 | 05-08-2004 12:25:16 |
|