Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
MAPI (Prima parte)

MAPI è l'acronimo di Messaging Application Program Interface, ossia interfaccia per applicazioni di posta elettronica.
Come già il nome indica, i controlli MAPI che costituiscono l'interfaccia citata, permettono di interagire con i dati gestiti da un sistema di posta elettronica conforme MAPI ossia un sistema strutturato in modo da poter essere gestito anche esternamente attraverso i controlli MAPI che in seguito vedremo in dettaglio.
Due di questi sistemi di posta elettronica sono Microsoft Exchange e Microsoft Outlook Express.
Si è appena parlato di interfaccia nel senso di un gruppo di proprietà e metodi che forniscono uno strumento di interazione tra l'utente ed i messaggi di posta elettronica.
Probabilmente la figura sotto servirà a comprendere meglio l'utilità dei controlli MAPI:


Prima di iniziare l'analisi vera e propria dei controlli MAPI, è necessario accertarsi della presenza del file MSMAPI32.OCX nel proprio hard disk (generalmente tale file è contenuto nella cartella "C:\WINDOWS\SYSTEM" ma per sicurezza è preferibile eseguire una ricerca su tutto il disco fisso).
Una volta trovato il file ed aperto un nuovo progetto EXE Standard in Visual Basic, sarà necessario importare i controlli.
A tale scopo cliccare su Progetto e selezionare la voce componenti dal menu a discesa che apparirà.
Verrà quindi visualizzata la finestra 'Componenti' che dovremo scorrere fino a trovare la voce Microsoft MAPI Controls x.0, come in figura:


Selezionare col segno di spunta la casella corrispondente a tale voce e dare l'OK alla finestra.
Una volta importato il gruppo di controlli MAPI, si potrà visualizzare nella lista dei componenti gli oggetti MapiSession e MapiMessages, come mostrato dalla figura qui sotto:


La creazione di un'interfaccia MAPI può essere quindi suddivisa in due passaggi distinti, in relazione ai controlli MAPI che si andranno ad utilizzare.
Per chiarezza andiamo ad analizzare nel dettaglio il primo due controlli del gruppo MAPI: MAPISession.
MAPISession consente di aprire una nuova sessione di posta elettronica.
Con l'apertura di una nuova sessione in realtà non accade niente di così utile per l'utente: si imposta infatti il collegamento col server della posta e si impostano alcuni parametri importanti per definire le regole della sessione: download automatico della posta, username e password dell'account di posta elettronica, apertura di sessioni di posta multiple e conseguente gestione separata di ognuna di esse e così via.
Dunque è necessario prima di tutto impostare l'oggetto sessione MAPI fornendo un nome utente registrato e la corrispondente password validi per accedere all'acccount di posta.
I controlli MAPI in ogni caso forniscono due vie per eseguire tali operazioni. La prima implica l'interazione diretta tra utente ed applicazione: l'oggetto MAPISession chiederà all'utente di impostare i parametri per la connessione all'account attraverso la tipica finestra mostrata qui sotto:


Sarà quindi l'utente dell'applicazione ad immettere manualmente i dati relativi a username e password.
Tale sistema si traduce nel codice che segue:

Private Sub Form_Load()
MAPISession1.SignOn
...
MAPISession1.SignOff
End Sub

I metodi SignOn e SignOff verranno analizzati nel prossimo articolo.
E' ora importante capire che accanto al sistema appena visto (utile nel caso in cui non si conoscano i dati dell'account dell'utente), possiamo trovare il secondo metodo di cui si parlava, ossia l'impostazione dei dati da codice.
Username e password possono così essere inseriti tramite le omonime proprietà UserName e Password del controllo MAPISession.
In questo caso il codice equivalente al blocco appena visto è il seguente

Private Sub Form_Load()
MAPISession1.UserName = "NomeUtente"
MAPISession1.Password = "Password"
MAPISession1.SignOn
...
MAPISession1.SignOff
End Sub

con l'unica differenza poco fa accennata della necessità o di conoscere direttamente i dati dell'account o di passarli alle proprietà UserName e Password attraverso vie indirette (come le TextBox o altri controlli eventualmente previsti dall'applicazione) o comunuqe senza il supporto della finestra di connessione mostrata nella figura sopra.
Esiste in realtà una seconda via per l'inizializzazione del controllo MAPISession durante la fase di progettazione, che consiste nell'inserimento dei dati relativi all'account di posta elettronica nella finestra Proprietà del controllo MAPISession.
Per far ciò basta cliccare sul controllo in questione col pulsante destro del mouse e scegliere la voce Proprietà dal popup-menu che compare.
La finestra Proprietà è simile a quella mostrata in figura:


dove Username e Password sono i campi che corrispondono alle proprietà Username e Password dell'oggetto MAPISession proprio come abbiamo visto in precedenza.
La proprietà LogonUI se contrassegnata col segno di spunta consente di visualizzare in ogni caso la finestra di connessione per la richiesta dei dati relativi all'account di posta elettronica.
E' possibile impostare tale proprietà da codice, assegnando a LogonUI il valore True o False a seconda che si desideri visualizzare la finestra o meno:

MAPISession1.LogonUI = True (/False)

Continuando ad analizzare le caratteristiche della finestra mostrata sopra, la proprietà NewSession specifica se deve essere stabilita una nuova sessione di posta elettronica.
Se è già stata stabilita una sessione valida, l'impostazione di questa proprietà consente di eseguire due sessioni contemporaneamente.
Anche per NewSession la proprietà può essere impostata da codice in questo modo:

MAPISession1.NewSession = True (/False)

Infine la proprietà DownloadMail, se spuntata nella casella apposita, consente di scaricare automaticamente i nuovi messaggi all'apertura di una nuova sessione MAPI ossia all'inizializzazione del controllo MAPISession.
Quindi se la proprietà viene impostata su True, tutti i nuovi messaggi verranno inviati automaticamente alla cartella Posta in arrivo dell'utente, in caso contrario cioè all'assegnazione del valore False alla proprietà, l'utente potrà decidere di scaricare la posta in un secondo momento e di impostare la frequenza con cui la posta viene scaricata dal server della posta.
Anche in questo caso la proprietà è impostabile da codice in questo modo:

MAPISession1.DownloadMail = True (/False)



Archivio:ndexed
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it