Come beccare i messaggi da un file DBX di Outlook Express
Moderator: Enrico Maria Giordano
Come beccare i messaggi da un file DBX di Outlook Express
Ciao a tutti,
mi occorrerebbe un'idea (se esiste) x prelevare singolarmente e in automatico i messaggi da un file DBX di Outlook Express x poterli processare poi.
C'e' qualcosa che posso usare/utilizzare ?
Grazie
Ho prima postato questa richiesta sul forum internazionale poi mi sono accorto che EMG aveva gia' risposto ad un quesito similare (almeno mi pareva)
mi occorrerebbe un'idea (se esiste) x prelevare singolarmente e in automatico i messaggi da un file DBX di Outlook Express x poterli processare poi.
C'e' qualcosa che posso usare/utilizzare ?
Grazie
Ho prima postato questa richiesta sul forum internazionale poi mi sono accorto che EMG aveva gia' risposto ad un quesito similare (almeno mi pareva)
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Come beccare i messaggi da un file DBX di Outlook Expres
Sì, puoi usare, appunto, OLE:
EMG
Code: Select all
#define olFolderInbox 6
FUNCTION MAIN()
LOCAL oOutlook := CREATEOBJECT( "Outlook.Application" )
LOCAL oNameSpace := oOutlook:GetNameSpace("MAPI")
LOCAL oInbox := oNameSpace:GetDefaultFolder( olFolderInbox )
LOCAL i
FOR i = 1 TO oInbox:Items:Count
? oInbox:Items[ i ]:Body
?
NEXT
oOutlook:Quit()
INKEY( 0 )
RETURN NIL
Ho provato il seg. esempio:
*************************
#include "FiveWin.ch"
#define olFolderInbox 6
FUNCTION MAIN()
LOCAL oOutlook := CREATEOBJECT( "Outlook.Application" )
LOCAL oNameSpace := oOutlook:GetNameSpace("MAPI")
LOCAL oInbox := oNameSpace:GetDefaultFolder( olFolderInbox )
LOCAL i
FOR i = 1 TO oInbox:Items:Count
? oInbox:Items[ i ]:Body
?
NEXT
oOutlook:Quit()
INKEY( 0 )
return nil
******************
con FWH24 e mi fa partire intanto il Microsoft Outlook (ma io i messaggi ce l'ho in OutLook Express)
ma subito mi da il seg errore:
Class: NIL has no exported method: BODY
Posso fare qualcosa ? Ma sopratutto posso leggere i Body (e magari anche gli eventuali codici di errore delle email, es: email non esistente,spazio esaurito,ecc) e io poi uso Outlook Express.
Grazie
*************************
#include "FiveWin.ch"
#define olFolderInbox 6
FUNCTION MAIN()
LOCAL oOutlook := CREATEOBJECT( "Outlook.Application" )
LOCAL oNameSpace := oOutlook:GetNameSpace("MAPI")
LOCAL oInbox := oNameSpace:GetDefaultFolder( olFolderInbox )
LOCAL i
FOR i = 1 TO oInbox:Items:Count
? oInbox:Items[ i ]:Body
?
NEXT
oOutlook:Quit()
INKEY( 0 )
return nil
******************
con FWH24 e mi fa partire intanto il Microsoft Outlook (ma io i messaggi ce l'ho in OutLook Express)
ma subito mi da il seg errore:
Class: NIL has no exported method: BODY
Posso fare qualcosa ? Ma sopratutto posso leggere i Body (e magari anche gli eventuali codici di errore delle email, es: email non esistente,spazio esaurito,ecc) e io poi uso Outlook Express.
Grazie
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Forse partendo da questo esempio trovat nelne news si riesce a risolvere il mio problema:
Code:
oOL := TOleAuto():New( "Outlook.Application" )
lOutlookOK := .T.
IF ! lOutlookOK
RETURN ( 0 )
ENDIF
oNameSpace = oOL:Get( "GetNameSpace", "MAPI" )
oContacts = oNameSpace:Get( "GetDefaultFolder", "6" ) // 6 = Inbox-Folder
FOR nContador = 1 TO oContacts:ITEMS:Count()
oNewContact = oContacts:ITEMS( nContador )
cSenderName := oNewContact:get( "SenderName" )
cSubject := oNewContact:get( "Subject" )
cBody := oNewContact:get( "Body" ) && questo l'ho inserito io grazie al tuo sempio e funziona
* quali sono tutte le altre informazioni che posso beccare ?
* ho provato a cercare nel web e nel mio pc il file: VBAOUTL?.CHM che mi poteva aiutare ma.... non ho trovato niente, per la verita' mi occorrerebbe qualche codice di risposta della email del tipo Non esestente,spazio email insuff, ecc...
NEXT nContador
RETURN NIL
Ci siamo quasi, un ultimo sforzo
Grazie
Code:
oOL := TOleAuto():New( "Outlook.Application" )
lOutlookOK := .T.
IF ! lOutlookOK
RETURN ( 0 )
ENDIF
oNameSpace = oOL:Get( "GetNameSpace", "MAPI" )
oContacts = oNameSpace:Get( "GetDefaultFolder", "6" ) // 6 = Inbox-Folder
FOR nContador = 1 TO oContacts:ITEMS:Count()
oNewContact = oContacts:ITEMS( nContador )
cSenderName := oNewContact:get( "SenderName" )
cSubject := oNewContact:get( "Subject" )
cBody := oNewContact:get( "Body" ) && questo l'ho inserito io grazie al tuo sempio e funziona
* quali sono tutte le altre informazioni che posso beccare ?
* ho provato a cercare nel web e nel mio pc il file: VBAOUTL?.CHM che mi poteva aiutare ma.... non ho trovato niente, per la verita' mi occorrerebbe qualche codice di risposta della email del tipo Non esestente,spazio email insuff, ecc...
NEXT nContador
RETURN NIL
Ci siamo quasi, un ultimo sforzo
Grazie
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Ok l'esempio va bene e mi chiedevo se oltre al Body, posso avere anche altre variabili, ese: email di chi mi risponde, il codice di errore (se esiste).
certo potrei farlo analizzando riga x riga il body...ma se esistono le funzioni gia fatte e' meglio.
Il progrmma che devo relizzare dovra' mandare delle email (tantissime) e poi analizzare le risposte in maniera piu' automatico possibile.
Grazie
certo potrei farlo analizzando riga x riga il body...ma se esistono le funzioni gia fatte e' meglio.
Il progrmma che devo relizzare dovra' mandare delle email (tantissime) e poi analizzare le risposte in maniera piu' automatico possibile.
Grazie
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact: