come facccio ad aggiungere un oggetto mapi a una dll?come si fà a crearlo e utilizzarlo?
come facccio ad aggiungere un oggetto mapi a una dll?come si fà a crearlo e utilizzarlo?
ho fatto così..qualcuno almeno mi dice se è corretto?
Dim obj as new MAPISession
lascio un post per i fututri lettori.L'utilizzo delle Mapi e molto semplificato da parte di MS, ma implica la presenza del client exchange o outlook(non express), in rete si trova anche una procedura per crearsi un profilo posta elettronica senza uno dei due cliente, ma questo implica il saper usare visual C++.
Morale:Forse è più semplice utilizzare come ho fatto io il winsock e leggere gli RFC per POP3,gli headers,e SMTP.Una volta imparato è possibile avere un servizio win che verifica se esiste posta e se si la elabora come meglio uno crede tramite le proprie funzioni o sub.
Ciao a tutti.
Che cosa intendi? Una DLL è una libreria di funzioni, quindi devi esemplificare cosa intendi per "aggiungere": intendi realizzare un componente che può essere manipolato attraverso l'interfaccia MAPI...oppure desideri creare un oggetto che appartiene al namespace di MAPI all'interno di una routine contenuta in una DLL.Originariamente inviato da lbottoni
come facccio ad aggiungere un oggetto mapi a una dll?come si fà a crearlo e utilizzarlo?
La sinteticità della domanda impedisce di fornire una risposta perchè, secondo me, non sono chiari i termini della questione.
Questa è la creazione di un'istanza della classe MAPISession...quindi?Originariamente inviato da lbottoni
Dim obj as new MAPISession
MAPI è un set di funzioni che consentono di astrarre dal client di posta predefinito (anche Outlook Express funziona con MAPI in ogni caso) per accedere alle cartelle contenute all'interno della "cassetta postale", indipendentemente dal software utilizzato, poichè ciascun software deve fornire la propria interfaccia MAPI programmabile in modo da consentire l'accesso ai dati.Originariamente inviato da lbottoni
lascio un post per i fututri lettori.L'utilizzo delle Mapi e molto semplificato da parte di MS, ma implica la presenza del client exchange o outlook(non express), in rete si trova anche una procedura per crearsi un profilo posta elettronica senza uno dei due cliente, ma questo implica il saper usare visual C++.
Morale:Forse è più semplice utilizzare come ho fatto io il winsock e leggere gli RFC per POP3,gli headers,e SMTP.Una volta imparato è possibile avere un servizio win che verifica se esiste posta e se si la elabora come meglio uno crede tramite le proprie funzioni o sub.
L'interfaccia MAPI è utilizzabile da qualsiasi applicazione e da qualsiasi linguaggio che possa, sostanzialmente, utilizzare una DLL e le funzioni ivi contenute.
L'accesso a server POP3, SMTP e affini è tutta un'altra questione: non si tratta di lavorare con un'interfaccia progettata per accedere ad un client di posta elettronica, ma di colloquiare direttamente col server.
E' ovvio che laddove è necessario colloquiare con un server, MAPI non può essere utilizzato, lo stesso dicasi del viceversa.
In sostanza, non ho capito la domanda, né il codice di esempio e infine le conclusioni che hai tratto per i posteri.
Qualche indicazione in più?
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
no, era un'appunto..il mio scopo era quello di poter creare un piccolo servizio win o dll che leggesse le mail da una casella, elaborasse il testo e facesse un'operazione di conseguenza. Dopo diverse letture ho capito che non potevo sfruttare le mapi, perchè dovendo poi inserire questo programma su un server, non potevo usare le mapi, perchè in quella macchina non c'era nessun software di posta elettronica.
Quando ho iniziato, pensavo che MAPI fosse un componente che colloquiasse con il server, per questo avevo chiesto informazioni a riguardo.
per quanto concerne il soggetto del post credo che la risposta esatta sia
Dim obj as MAPISession
set obj = new MAPI Session
Adesso la questione è chiara. Come hai giustamente individuato, MAPI è un'interfaccia per accedere a "cassette postali" memorizzate nel client di posta elettronica predefinito, mentre per poter operare con i messaggi presenti su un server di posta in arrivo è necessario colloquiare con il server stesso attraverso il protocollo POP3; lo stesso vale per SMTP con i server di posta in uscita.
Ho una discreta esperienza in questo campo perchè ho un'applicazione che sfrutta entrambi, sia come client che come server, per implementare funzionalità simili ad Exchange.
Trattandosi di RFC, tuttavia, spesso le regole non vengono del tutto rispettate...un vero bagno di sangue.![]()
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Si ma il vero problema è che le RFC non se le caga nessuno. Mettete per esempio l'FTP. Se leggete la RFC dice che il comando REST funziona solo con trasmissione in blocchi e con i marker. CAGATA IMMANE. Non c'è un solo server FTP sulla terra ormai che non supporti il REST su STREAM con invio del byte di start. Quindi alla fine spesso e volentieri l'unico metodo per scrivere programmi che si basano sulla comunicazione diretta al server è prima guardare l'RFC, poi andare su Telnet e vedere come funziona davvero e poi scrivere il programma. L'SMTP "reale" fortunatamente invece aderisce abbastanza allo standard. Il POP3 non so.
beh purtroppo su questo non posso dare la certezza che abbiamo seguito gli rfc alla lettera. Per il POP3 ha funzionato correttamente sia su libero che yahoo.
Per l'FTP sono daccordo con te, spesso mi capita di vedere che non tutti i soft di trasferimento sono compatibili con tutti gli spazi raggiungibili in ftp.