Come beccare i messaggi da un file DBX di Outlook Express

Moderator: Enrico Maria Giordano

Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Come beccare i messaggi da un file DBX di Outlook Express

Post by Romeo »

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)
User avatar
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

Post by Enrico Maria Giordano »

Sì, puoi usare, appunto, OLE:

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
EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Mi era sfuggito il fatto che tu parlavi di Outlook Express. OLE può essere utilizzato solo con Outlook di Office. Non ho nessuna idea su come fare quello che chiedi con OE.

EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

Ok, vorra' dire che passo a Microsoft Outlook.

Si riesce in questo caso a fare funzionare l'esempio sopre che mi hai mandato oppure ho bisogno di qualche libreria o aggiornamento delle mie FWH24 ?
Grazie
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Romeo wrote:Ok, vorra' dire che passo a Microsoft Outlook.

Si riesce in questo caso a fare funzionare l'esempio sopre che mi hai mandato oppure ho bisogno di qualche libreria o aggiornamento delle mie FWH24 ?
Grazie
Sì, dovrebbe funzionare regolarmente.

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Non capisco cosa ti serve. Se il mio esempio ti funziona credo che tu non abbia bisogno di altro.

EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Cerca l'oggetto MailItem sulla documentazione e troverai tutte le sue proprietà disponibili.

EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

Ho cercato nelle cartelle e sottocartelle di fwh24 e nelle classi ma non ho trovato alcun riferimento a menuitem.

Forse ho una versione datata? (FWH24)
Grazie
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

Ops, chiaramento cercato Mailitem

Mi viene un dubbio che io debba cercare nella documentazione del file VBAOUTL*.CHM di microsoft che io non ho !!

Romeo
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

FWH non c'entra niente. Devi cercare nella documentazione di Outlook (VBAOUTL*.CHM).

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Romeo wrote:Ops, chiaramento cercato Mailitem

Mi viene un dubbio che io debba cercare nella documentazione del file VBAOUTL*.CHM di microsoft che io non ho !!

Romeo
Infatti. Ma se hai installato Office ce l'hai certamente, se non sull'hard disk sicuramente sul CD.

EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Post by Romeo »

Ho il cd rom di Office XP 2002 e non ho trovato il fiel VBAOUTL9.CHM ma l'ho trovato su office 97.
Ho provato a guardare Mailitem ma dopo un po di tentativi ho rinunciato a cercare le altre funzioni poiche' non le trovo, sicuramente ci sono ma non risco a trovarle!
Grazie comunque
Romeo
Post Reply