Riferimento Lingua del Tivoli Service Desk 6.0 Developer's Toolkit Script
Ritorna alla pagina principale
Restituisce l'elenco di tutte le voci in una rubrica.
FUNCTION MAILAddressBookEntries(VAL session: MAIL Session, VAL addrBookName: STRING, REF addrBookEntries: LIST of MAILABEntry): INTEGER;
Nome dell'argomento | Descrizione |
session | Identificativo della Sessione di posta. |
addrBookName | Il nome della rubrica da aprire. I nomi simbolici che seguono sono disponibili come scelte rapide per aprire rubriche standard:
|
addrBookEntries | L'elenco dei record MailABEntry che descrivono le voci nella rubrica specificata. |
Questa funzione è supportata solo da VIM.
VARIABLES session: MAILSession; AddressBookName: String; AddressBookEntries: LIST of MAILABEntry rc:Integer;
ACTION
AddressBookName := 'Private Mailing List'; rc := MAILAddressBooksEntries(session, AddressBookName, AddressBookEntries); IF rc = 1 THEN (* Address Book Entries available *) ELSE (* Error occurred in reading address book entries. *) END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco completo dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Restituisce un elenco di nomi rubrica disponibili per la sessione corrente.
FUNCTION MAILAddressBooks(VAL session:MAILSession, REF AddrBooks: LIST of STRING): INTEGER;
Nome dell'argomento | Descrizione |
session | L'identificativo della sessione |
AddrBooks | L'elenco di nomi rubrica disponibili per questa sessione (valore restituito) |
Questa funzione è supportata solo da VIM.
VARIABLES session: MAILSession; rc:Integer; AddressBooks: LIST of String;
ACTIONS
(* A MAILSession is opened. *)
rc := MAILAddressBooks(session, AddressBooks); IF rc = 1 THEN (* The list of address book names available to this session is stored in AddressBooks *) ELSE (* Function failed *) END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Chiude un contenitore messaggi.
FUNCTION MAILCloseMessageContainer(VAL msgContainer: MAILContainer): INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi aperto. |
VARIABLES msgContainer :MAILContainer;
ACTIONS
(* Message Container Opened and used *)
rc := MAILCloseMessageContainer(msgContainer); IF rc = 1 THEN (* Message container closed successfully *) ELSE (* Function failed *) END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Chiude la sessione.
FUNCTION MAILCloseSession(REF session: MAILSession): INTEGER;
Nome dell'argomento | Descrizione |
session | Identifica la sessione da chiudere. |
E' necessario che tutte le sessioni di posta aperte vengano chiuse una volta completate. La chiusura di una sessione libera ogni risorsa di sistema associata alla sessione. Un errore nel chiudere una sessione aperta quando si termina un programma può provocare una perdita di memoria.
Nota: Per una descrizione della struttura del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk Developer's Toolkit.
VARIABLES rc:Integer; session: Integer;
ACTIONS rc := MAILOpenSession('F:\CCMAIL\CCDATA', 'VIMAPPLICATION', 'PASSWD', OMISEL_CP1252, session); IF rc <> 1 THEN (* Error in opening session *) ELSE
(* Perform some operations with the open session. *)
rc := MAILCloseSession(session); IF rc <> 1 THEN (* Error in closing session *) END; END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Restituisce il nome dell'utente o l'applicazione di invio messaggi associata alla sessione specificata nel parametro sessione.
FUNCTION MAILGetEntityName(VAL session: MAILSession, REF Name: MAILName): INTEGER;
Nome dell'argomento | Descrizione |
session | L'identificativo della sessione da cui è richiesto il nome utente. Se viene specificato $Unknown, viene restituito il nome di default dell'utente o dell'applicazione di invio messaggi. Se non è disponibile nessun valore di default, viene restituito un errore. |
Nome | Il record MailName per ricevere il nome utente. Al termine di questa funzione, viene riempita solo la parte di nome distinto del record MailName. |
KNOWLEDGEBASE ERROR;
USES mail;
ROUTINES PROCEDURE Mail;
PRIVATE ROUTINES
PROCEDURE Mail IS
VARIABLES sess :MAILSession; reply :string; rc :INTEGER;
ACTIONS
rc:=MAILOpenSession ('mailserv.microsoft.com', 'bgates@microsoft.com', 'password',$UNKNOWN, sess,OMI_VIM_INTERFACE); IF rc < 1 THEN WinMessageBox($Desktop,'Error',$MBIconError, 'Open session failed: '&rc);
MailGetLastErrorText(OMI_SMTP_POP_INTERFACE, sess,rc, rc, reply); WinMessageBox($Desktop,'Error',$MBIconError, 'Open session failed: '& reply); MAILTerminate(OMI_SMTP_POP_INTERFACE); EXIT; END;
END;
Questa funzione è supportata solo da VIM.
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Restituisce il testo di errore associato all'ultima operazione non riuscita.
FUNCTION MAILGetLastErrorText( VAL protocol: INTEGER, VAL sessID: MAILSession, VAL errCode: INTEGER, REF LastErrCode: INTEGER, REF ErrText: STRING)
Nome dell'argomento | Descrizione |
protocol | Identifica il protocollo utilizzato per comunicare con il sistema di posta |
sessID | Identifica la sessione (valore di ritorno MailOpenSession) |
errCode | Il valore del codice di errore restituito dall'ultima chiamata della funzione Posta |
LastErrCode | Il codice di errore restituito dall'ultima chiamata della funzione Posta |
ErrText | In questo parametro viene restituito l'ultimo testo di errore |
Questa funzione è supportata solo da VIM.
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Inizializza l'interfaccia TSD Script Mail. E' necessario che questa sia la prima funzione chiamata prima di utilizzare ogni servizio dell'interfaccia TSD Script Mail.
MAILInitialize (VAL protocol:INTEGER): INTEGER
Nome dell'argomento | Descrizione |
protocol | Identifica il protocollo utilizzato per comunicare con il sistema di posta.
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize(OMI_MAPI_INTERFACE);
(* Now open the session. *)
(* Do other processing. *)
MAILTerminate(OMI_MAPI_INTERFACE);
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
MailTerminate
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Contrassegna un messaggio come letto.
FUNCTION MAILMarkMessageAsRead(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef): INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi |
MsgRef | Il numero di riferimento del messaggio contrassegnato come letto |
Su alcuni sistemi di posta, questa funzione fa anche in modo che venga inviata una ricevuta di ritorno. Ciò si verifica solo nel caso in cui il messaggio non sia stato letto precedentemente e sia stata richiesta una ricevuta di ritorno dal mittente.
VARIABLES rc:Integer; msgContainer :MAILContainer; msgRef :MAILRef;
ACTIONS (* Open a message container *) (* Scan messages in the container and get the *) (* message reference numbers *) (* Set msgRef to the number of the message you want to mark as read *) rc := MAILMarkMessageAsRead(msgContainer, msgRef); IF (rc <> 1) THEN (* MAILMarkMessageAsRead function failed *) ELSE (* Message marked as read *) END;
(* Close message container *)
END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descizione del record MailSendHeader, consultare il Manuale per la programmazione di Tivoli Service Desk 6.0 Developer's Toolkit.
Apre il contenitore messaggi specificato e restituisce un identificativo che è possibile utilizzare per eseguire la scansione e la lettura dei messaggi ricevuti in quel contenitore.
FUNCTION MAILOpenMessageContainer(VAL session: MAILSession, VAL cntnrName: STRING, REF msgContainer: MAILContainer ): INTEGER;
Nome dell'argomento | Descrizione |
session | Identifica la sessione |
cntnrName | Il nome del contenitore messaggi da aprire. La sintassi del nome dipende dal sistema di invio messaggi. Generalmente, esso è il PATH completo del database o della coda che implementa il contenitore messaggi. Se viene inoltrato $Unknown, viene aperto il contenitore messaggi di default per la sessione. Il contenitore messaggi di default, a volte, viene chiamato mailbox o inbox. |
msgContainer | L'identificativo del contenitore messaggi aperto |
Il sistema di invio messaggi utilizza l'identificativo autenticato della sessione per determinare se l'utente ha accesso al contenitore messaggi specificato.
Nota: Nelle sessioni MAPI, è possibile inoltrare $Unknown per cntnrName.
VARIABLES rc:Integer; session: MAILSession; name: String; hfile: File;
ACTIONS
(* Open a session *)
rc := MAILOpenMessageContainer(session, containername, msgcontainer); IF rc <> 1 THEN ( * Function MAILOpenMessageContainer failed *) ELSE (* Message container opened successfully *) END;
(* Close the container/session *)
END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Apre una sessione autenticata con il sistema di invio messaggi.
FUNCTION MAILOpenSession(VAL pathSpec: STRING, VAL name: STRING, VAL password: STRING, VAL CharSet:INTEGER, REF session: MAILSession, VAL protocol:INTEGER): INTEGER;
Nome dell'argomento | Descrizione |
pathSpec | Il nome percorso del database contenitore messaggi o il nome server. I contenitori messaggi sono richiesti da Lotus cc:Mail e Microsoft Mail. I nomi server sono richiesti da Lotus Notes, Microsoft Exchange e SMTP/POP. E' possibile inoltrare un valore $Unknown se non è richiesto questo parametro. Fare riferimento alla documentazione fornita dal rivenditore dell'applicazione di posta per conoscere il valore specifico da inoltrare nel parametro. |
name | Il nome dell'utente che sta tentando di collegarsi. E' possibile inoltrare un valore $Unknown se non è richiesto questo parametro. Utenti Microsoft Windows 95: Consultare la sezione Note per l'istruzione MailOpenSession. |
password | La password dell'utente che sta tentando di collegarsi. E' possibile inoltrare un valore $Unknown se non è richiesto questo parametro. Utenti Microsoft Windows 95: Consultare la sezione Note per l'istruzione MailOpenSession. |
CharSet | Controlla la serie di caratteri prevista per tutte le stringhe di caratteri di immissione e restituita per tutte le stringhe di caratteri di emissione oppure la serie di caratteri da utilizzare come valore di default per il parametro serie di caratteri MIME, per righe e testi di soggetto del messaggio codificato MIME. La serie di caratteri selezionata può essere una delle seguenti:
|
session | L'identificativo della sessione aperta da questa funzione |
protocol | Identifica il protocollo utilizzato per comunicare con il sistema di posta.
|
Suggerimento: Se non si è sicuri del valore da inoltrare nell'argomento CharSet, utilizzare $Unknown per ricevere automaticamente il valore corretto.
Utilizzo dei nomi profilo Microsoft Exchange
Microsoft Windows 98/NT include un programma chiamato Microsoft Windows Messaging. Questo programma funziona come un MS-Exchange o un Client MS-Mail ed è anche possibile configurarlo per servizi aggiuntivi come il fax e la posta Internet. Windows Messaging utilizza un Profilo per memorizzare informazioni sui servizi disponibili per l'utente.
E' necessario che gli utenti di Windows 98/NT che utilizzano Microsoft Windows Messaging inoltrino il nome Profilo come argomento <nome> per aprire una sessione di posta. Non è necessaria nessuna password. Quando si chiama MailOpenSession, Inoltrare $Unknown per l'argomento <password>. Non utilizzare l'ID utente di MS-Exchange o MS-Mail. Il programma client Windows Messaging ottiene automaticamente l'ID utente e la Password dalle impostazioni di Windows Messaging Profile. Per funzionare correttamente, Windows Messaging Profile deve comprendere informazioni sulla password.
VARIABLES rc:Integer; PathSpec: String; Name: String; Password: String; CharSet: Integer; Session: MAILSession;
ACTIONS PathSpec := 'server@company.com'(* path spec of message container database / server name *) Name := 'user@company.com';(* a valid user id *) Password := 'password'; (* password for user id *) CharSet := OMISEL_US_ASCII;(* a character set supported by your system. *) rc := MAILOpenSession(PathSpec, Name, Password, CharSet, Session, OMI_SMTP_POP_INTERFACE); IF rc <> 1 THEN (* Error in opening session *) END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Questa funzione viene utilizzata per richiedere i valori di default di alcuni degli attributi utilizzati nell'interfaccia TSD Script Mail.
FUNCTION MAILQueryDefaults(VAL protocol : Integer, REF infoRec:MAILInfoRec): INTEGER;
Nome dell'argomento | Descrizione |
protocol | Il protocollo utilizzato per comunicare con il sistema di posta. Questa funzione è correntemente supportata solo per l'interfaccia VIM. |
infoRec | La struttura del record delle informazioni di posta. Quando la funzione termina con esito positivo, i campi di questo record vengono riempiti con i valori corrispondenti. |
Questa funzione è supportata solo da VIM.
VARIABLES inforec : MAILInfoRec; rc:Integer;
ACTIONS rc := MAILQueryDefaults(OMI_VIM_INTERFACE, inforec) IF (rc = 1) THEN (* inforec is filled with the system values *) PrintInfoRec(inforec); ELSE MsgBox('An error occurred. Return code: ' & rc); exit; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Determina se i nuovi messaggi sono stati consegnati a un contenitore messaggi.
FUNCTION MAILQueryNewMessages (VAL MsgContainer: MAILContainer, REF NewMessages:BOOLEAN): INTEGER;
Avvertenza: Chiamare questa funzione troppo spesso può provocare notevoli problemi di prestazioni al sistema di invio messaggi sottostante. Per evitare ciò,
alcuni sistemi di invio messaggi possono controllare il tempo trascorso da quando è stata chiamata questa funzione e restituire FALSE se la precedente chiamata di questa funzione è recente.
Nota: Si consiglia di non chiamare questa funzione più di una volta al minuto.
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi |
newMessages | Il valore di ritorno indica la presenza o meno di nuovi messaggi |
Nota: Questa funzione è supportata solo da VIM.
In VIM questa funzione analizza il contenitore messaggi per determinare se sono arrivati nuovi messaggi dall'ultima chiamata di questa funzione. La prima volta che viene chiamata questa funzione per un contenitore messaggi, il valore di ritorno indica se sono stati consegnati nuovi messaggi da quando è stato aperto.
VARIABLES msgContainer :MAILContainer; newMessages: Boolean; rc:Integer;
ACTIONS (* Open session/container *) rc := MAILQueryNewMessages(msgContainer, newMessages); IF (rc <> 1) THEN (* MAILQueryNewMessages function failed *) ELSE IF (newMessages = TRUE) THEN (* There have been new messages since the container was opened *) ELSE (* There have been no new messages since the container was opened *) END; END; . . (* Close container/session *) . END
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Esegue il conteggio dei messaggi non letti nel contenitore messaggi.
FUNCTION MAILQueryNewMessages(VAL msgContainer: MAILContainer, REF newMessages :BOOLEAN): INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi. |
newMessages | Indica il numero di nuovi messaggi, se esistono, ricevuti da questo contenitore messaggi da quando è stato aperto. |
Poiché ogni chiamata richiede una notevole quantità di tempo per l'elaborazione, è necessario che questa funzione non venga utilizzata per il polling.
VARIABLES rc:Integer; msgContainer :MAILContainer; unreadCount: Integer; hfile: FILE;
ACTIONS
(* Open a session/container/file *)
rc := MAILQueryUnreadMailCount(msgContainer, unreadCount); IF (rc <> 1) THEN (* MAILQueryUnreadMailCount function failed *) ELSE FWrite( hfile, 'Number of unread messages : ' & unreadCount); END; (
* Close same *)
END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Legge un messaggio nel contenitore messaggi.
FUNCTION MAILReadMessage (VAL msgContainer:MAILContainer, VAL msgRef:MAILRef, VAL nestedLevel:INTEGER, REF msgHeader:MAILReadHeader, REF msgItems:LIST of MAILItem, REF toList, ccList, bccList:LIST of MAILName, REF nestedMsg:BOOLEAN);
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi. |
msgRef | Il numero di riferimento messaggio del messaggio da leggere. |
nestedLevel | Il livello del messaggio nidificato di cui si devono restituire le informazioni. Per default, vengono restituite le informazioni sul messaggio di livello più alto. Il numero di livello per il messaggio di livello più alto è 0. |
msgHeader | Le informazioni di intestazione del messaggio da leggere. Nel caso di messaggi nidificati, ciò corrisponde agli attributi del messaggio così come esisteva in quel punto particolare nella cronologia di inoltro. |
msgItems | L'elenco di tutte le voci nel messaggio comprese le note, gli attachment del file e le voci definite dall'applicazione. Notare che per gli attachment del file, il file di emissione viene scritto nel formato del file system d'origine. |
toList | L'elenco di destinatari nell'elenco TO del messaggio. |
ccList | L'elenco dei destinatari nell'elenco CC (carbon copy) del messaggio. |
bccList | L'elenco di destinatari nell'elenco BCC (blind carbon copy) del messaggio. |
nestedMsg | L'indicatore che mostra se un messaggio nidificato è presente al livello indicato dal parametro nestedLevel. |
I messaggi nidificati non sono supportati in MAPI. Un messaggio MAPI può disporre solo di una nota che deve essere la prima voce nell'elenco msgItems.
Nota: Fare riferimento alla sezione sulle strutture del record TSD Script Mail per sapere quali attributi di intestazione non sono supportati in MAPI.
VARIABLES ...
PROCEDURE MessageReadDemo IS ...
ACTIONS . . (* Open a file/session/container *) . rc := ScanAndReadMessages(msgContainer); . . (* Close the container/session/file *) . END; FUNCTION ScanAndReadMessages(VAL msgContainer:MAILContainer ): INTEGER IS ...
ACTIONS rc := MAILScanMessages(msgContainer, OMI_REVERSE_SCAN, $Unknown, TRUE, nMessages, msgsummary); msgRef := msgsummary[$First].MsgReference; ReadMessage (msgContainer, msgRef); Exit(1); END;
FUNCTION ReadMessage(VAL msgContainer:MAILContainer, VAL msgRef:MAILRef):INTEGER IS
VARIABLES nestedmsg:BOOLEAN; msgHeader :MAILReadHeader; msgItems :LIST of MAILItem; toList:LIST of MAILName; ccList: LIST of MAILName; bccList: LIST of MAILName; rc :INTEGER;
ACTIONS rc := MAILReadMessage(msgContainer, msgRef, 0, msgHeader, msgItems, toList, ccList, bccList, nestedmsg); if (rc < 0) THEN (* Message Read Failed *) ELSE (* Message read successfully *) END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Per un elenco di codici di errore di TSD Script Mail e descrizioni delle strutture del record di MailItem, MailName, MailReadHeader e MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Per ulteriori dettagli sull'esempio di codice, consultare il file msgread.kb nella directory EXAMPLES dove è stato installato Tivoli Service Desk Developer's Toolkit.
Questa funzione viene utilizzata per rilasciare le risorse utilizzate dai numeri di riferimento messaggio. Quando viene eseguita la scansione dei messaggi utilizzando la funzione MailScanMessages, viene restituito un elenco di numeri di riferimento messaggio. Questi riferimenti messaggio vengono rilasciati utilizzando questa chiamata dopo che si è verificata l'elaborazione richiesta per il messaggio. E' impossibile utilizzare il numero di riferimento messaggio una volta rilasciato.
FUNCTION MAILReleaseMessageReference(VAL msgContainer: MAILContainer, VAL msgReference: MAILRef) : INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi. |
msgReference | Il numero di riferimento messaggio da rilasciare. In restituzione questo argomento è impostato su $Unknown. |
Si consiglia di rilasciare i numeri di riferimento messaggio appena essi non sono più necessari. In questo modo si liberano le risorse della memoria di sistema.
PROCEDURE MailReadDemo IS
VARIABLES rc, nmessages : Integer; msgContainer : MailContainer; outfile :FILE; msgSummary : LIST of MAILMsgSummary; msgHeader :MAILReadHeader; msgItems :LIST of MAILItem; toList, ccList, bccList : List of MAILName; nsflag : Boolean; loopcnt : Integer;
ACTIONS
IF (context.container = $unknown) THEN MessageBox('The Message container has not been opened. Cannot run this test'); Exit; ELSE msgContainer := context.container; END;
rc := MAILScanMessages(msgContainer, 0, $unknown, TRUE, nmessages, msgSummary);
IF (rc <> 1) THEN MessageBox('MAILScanMessages function failed, Error code is ' & rc); Exit; END;
MessageBox('MailScanMessages function successful');
(* Now read all the messages *) Fopen(outfile, 'readmsg1.txt', $create); loopcnt := 0; FOR msgSummary DO loopcnt := loopcnt + 1; rc := MAILReadMessage(msgContainer, msgSummary[$current]. msgReference, 0, msgHeader, msgItems, toList, ccList, bccList, nsflag); IF (rc <> 1) THEN MessageBox('MAILReadMessage function failed reading message number ' & loopcnt & '. Error code is ' & rc); ELSE PrintMessage(outfile, msgHeader, msgItems, toList, ccList, bccList); END; END; FClose(outfile); MessageBox('MailReadMessage function successful');
(* Release the message reference numbers *) FOR msgSummary DO MAILReleaseMessageReference(msgContainer, msgSummary[$current]. msgReference); END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
MailScanMessages
Per un elenco dei codici di errore di TSD Script Mail, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Rimuove un messaggio dal contenitore messaggi.
FUNCTION MAILRemoveMessage(VAL msgContainer:MAILContainer, VAL msgRef:MAILRef): INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi. |
msgRef | Il numero di riferimento messaggio del messaggio da rimuovere. |
VARIABLES msgContainer :MAILContainer; msgRef :MAILRef; rc:Integer;
ACTIONS (* Open a message container *) (* Scan the messages in the container, get the message ref numbers *) rc := MAILRemoveMessage(msgContainer, msgRef); IF (rc <> 1) THEN (* Message could not be removed successfully *) ELSE (* Message removed successfully *) END; . . (* Close message container *) . END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito |
Minore di uno | Errore |
Per un elenco dei codici di errore di TSD Script Mail e una descrizione del record MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Restituisce il numero di riferimento messaggio e attributi sommari dei messaggi nel contenitore messaggi.
FUNCTION MAILScanMessages(VAL msgCntnr:MAILContainer, VAL Flag:INTEGER, VAL Filter:MAILFilter, VAL summFlag:BOOLEAN, REF nMessages:INTEGER, REF msgSummary:LIST of MAILMsgSummary ): INTEGER;
Nome dell'argomento | Descrizione |
msgCntnr | L'identificativo del contenitore messaggi. |
Flag | L'indicatore di elencazione che mostra di quali messaggi è stata eseguita la scansione e in quale ordine. Esso viene creato concatenando uno o più dei seguenti valori con l'operatore OR bit a bit:
|
Filter | Specifica il filtro utilizzato per eseguire la scansione dei messaggi. Se viene inoltrato $Unknown, non si verifica il filtraggio e viene eseguita la scansione di tutti i messaggi. (Ciò non comprende i messaggi inviati.) E' impossibile attualmente impostare più di una condizione di filtro. |
summFlag | Indica se richiamare gli attributi di riepilogo messaggi. Se questo indicatore è impostato su FALSE (che è il valore di default), vengono richiamati solo i numeri di riferimento messaggio nel record MailMsgSummary. Il comportamento di default è di richiamare solo i numeri di riferimento messaggio. |
nmessages | Il numero di messaggi di cui è stata eseguita la scansione. |
msgSummary | L'elenco dei record MailMsgSummary che contengono informazioni sul messaggio. I numeri di riferimento messaggio si ottengono da questo record e vengono utilizzati per leggere i messaggi. |
I filtri non sono supportati in MAPI.
In MAPI, vengono richiamati solo i numeri di riferimento messaggio, a prescindere dal valore dell'indicatore (summFlag).
KNOWLEDGEBASE MSGCONT; PRIVATE VARIABLES ... ROUTINES PROCEDURE ContainerDemo IS VARIABLES sess :MAILSession; rc :INTEGER; msgContainer :MAILContainer;
ACTIONS
(* Open a file/session/container *)
(* --- Scan Messages in the container ---- *) rc := ScanMessages(msgContainer);
(* Close container/session/file *)
END;
FUNCTION ScanMessages(VAL msgContainer:MAILContainer): INTEGER IS VARIABLES Filter : MAILFilter; summaryFlag : BOOLEAN; nMessages, rc: INTEGER; msgsummary : LIST of MAILMsgSummary;
ACTIONS rc := MAILScanMessages(msgContainer, 0, $Unknown, TRUE, nMessages, msgsummary); if (rc < 0) THEN (* Scan messages function failed *) END; (* Scan Messages function succeeded *) PrintScannedMessagesInfo(msgsummary);
END;
PROCEDURE PrintScannedMessagesInfo(VAL msgsummary:LIST of MAILMsgSummary) IS VARIABLES summrec : MAILMsgSummary; ACTIONS FOR msgsummary DO summrec := msgsummary[$current]; FWriteLn(hfile, 'MessageType : ' & summrec.Type); FWriteLn(hfile, 'Unread Mail: ' & summrec.UnreadMail); FWriteLn(hfile, 'FromName: ' & summrec.FromName); FWriteLn(hfile, 'FromAddress: ' & summrec. FromAddress); FWriteLn(hfile, 'Priority: ' & summrec.Priority); FWriteLn(hfile, 'Subject: ' & summrec.Subject); FWriteLn(hfile, ' ********* '); END; END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Per un elenco di codici di errore di TSD Script Mail e descrizioni delle strutture dei record di MailFilter, MailSendHeader e MailMsgSummary, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Per dettagli sull'esempio di codice, consultare il file msgcont.kb nella directory EXAMPLES dove è stato installato Tivoli Service Desk Developer's Toolkit.
Crea un nuovo messaggio di posta da uno esistente.
Utilizzato per inoltrare o rispondere a un messaggio.
FUNCTION MAILSendDerivedMessage(VAL msgCntnr:MAILContainer, VAL msgRef:MAILRef, VAL type, flags:Integer, VAL msgHeader:MAILSendHeader, VAL toList, ccList, bccList:LIST of VAL items:LIST of MAILItem ): INTEGER;
Nome dell'argomento | Descrizione |
msgCntnr | L'identificativo del contenitore messaggi. |
msgRef | Il numero di riferimento messaggio del messaggio da cui derivare il nuovo messaggio di posta. |
type | Il tipo del nuovo messaggio di posta da creare. Esso può essere OMISEL_FORWARD o OMISEL_REPLY. |
flags | Una maschera di bit di indicatori di stile concatenati tramite OR che specificano i componenti del messaggio di posta che devono essere ermodificati dal messaggio di posta appena creato. Il significato di flags dipende dal tipo di messaggio di posta creato. E' possibile utilizzare $Unknown se non occorre ermodificare nulla. Se il tipo è OMISEL_FORWARD, flags ha il significato che segue: OMI_HISTORY: Specifica che la cronologia di inoltro precedente del messaggio di posta esistente deve essere ermodificata dal messaggio di posta appena creato. Se questo non è impostato, non viene ermodificata la cronologia precedente. Se il tipo è OMISEL_REPLY, flags ha il significato che segue: OMI_INHERIT_CONTENTS: Specifica che il contenuto del messaggio di posta esistente deve essere ermodificato dal messaggio di posta appena creato. Se questo non è impostato, non viene ermodificato il contenuto. Alcune implementazioni del servizio messaggio possono ermodificare solo note, mentre altre implementazioni ermodificano sia le note sia gli attachment. OMI_ALL_RECIPIENTS: Specifica che tutti i destinatari del messaggio di posta esistente devono essere ermodificati dal messaggio di posta appena creato. Se questo non è impostato, viene ermodificato solo il mittente del messaggio di posta originale. |
msgHeader | Inizializza il record MailSendHeader per impostare gli attributi di intestazione del messaggio da inviare. |
toList | L'elenco dei principali destinatari del messaggio. |
ccList | L'elenco dei destinatari nell'elenco CC (carbon copy) del messaggio. |
bccList | L'elenco dei destinatari nell'elenco BCC (blind carbon copy) del messaggio. |
items | L'elenco delle voci nel messaggio. |
Questa funzione è supportata solo da VIM.
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Per un elenco di codici di errore di TSD Script Mail e una descrizione del record di MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Crea un nuovo messaggio e lo invia.
FUNCTION MAILSendMessage(VAL session:MAILSession, VAL MsgType:STRING, VAL MsgHeader: MAILSendHeader, VAL ToList, ccList, bccList:LIST of MAILName, VAL Items: LIST of MAILItem ): INTEGER;
Avvertenza: Non esiste, in MAPI, un modo per specificare se il messaggio inviato deve essere registrato nel log del messaggio. Per evitare un problema di spazio su disco con i messaggi in uscita, è possibile controllare la registrazione messaggio selezionando Posta/Opzioni nel menu MS-Mail.
E' necessario impostare il client di posta in modo tale che i messaggi inviati non vengano salvati.
Nome dell'argomento | Descrizione |
session | Identifica la sessione per cui deve essere creato il messaggio. |
MsgType | Il tipo di messaggio da comporre. E' necessario utilizzare VIM_MAIL o OMI_MAIL per i messaggi di posta. Questo tipo può essere lungo fino a 32 caratteri. |
MsgHeader | Inizializza il record MailSendHeader per impostare gli attributi di intestazione del messaggio da inviare. |
toList | L'elenco dei principali destinatari del messaggio. |
ccList | L'elenco dei destinatari nell'elenco CC (carbon copy) del messaggio |
bccList | L'elenco dei destinatari nell'elenco BCC (blind carbon copy) del messaggio. |
Items | L'elenco delle voci nel messaggio. |
E' possibile che non tutti gli attributi e i campi del record di MailSendHeader siano supportati dal provider del servizio invio messaggi. Se, a causa di ciò, è impossibile per MailSendMessage impostare questi campi, non viene creato nessun codice di errore. MailSendMessage restituisce un codice di errore solo se per gli attributi di intestazione si verifica un errore diverso da 'Non supportato'.
Se la funzione non è riuscita ad inviare a uno dei destinatari del messaggio, restituisce un codice di errore. Allo stesso modo, se una delle voci del messaggio non è stata collegata ad esso con esito positivo, la funzione restituisce un codice di errore.
I destinatari designati in toList e ccList non sono in grado di visualizzare i nomi dei destinatari designati in bccList.
E' possibile che ci sia un limite massimo per la lunghezza del soggetto o del testo del messaggio. Utilizzare MailQueryDefaults per determinare la lunghezza massima del soggetto e del testo.
Può esistere solo una voce messaggio di classe NOTE_PART ed è necessario che essa sia la prima voce nell'elenco di voci messaggio.
KNOWLEDGEBASE SENDDEMO;
PROCEDURE SendDemo IS VARIABLES session: MAILSession; rc :INTEGER; ACTIONS
(* Open session *)
rc := SendMail(session);
(* Close session *)
END;
FUNCTION SendMail(VAL sess: MAILSession): INTEGER IS VARIABLES header: MAILSendHeader; Items: LIST of MAILItem; Item: MAILItem; name: MAILName; toList:LIST of MAILName; rc :INTEGER; ACTIONS (* Set the header record *) header.subject := 'Sample Message'; (* Build the message items list *) (* First item is a note part *) Item.Class := OMISEL_NOTE_PART; Item.Type := OMI_TEXT; Item.Name := 'Title for the note part'; Item.BufferType := OMI_ACTUAL_DATA; Item.BufferData := 'Hi Reader, This message is being sent by a VIM application.'; ListInsert(Items, Item, $After); (* Second item is a file attachment *) Item.Class := OMISEL_ATTACH; Item.Name := 'image.pcx'; Item.BufferType := OMI_FILE_DATA; Item.BufferData := 'D:\TMP\PAPANIM.PCX'; ListInsert(Items, Item, $After); (* Specify the recipient *) name.EntityType := OMISEL_ENTITY; name.AddressBookName := ''; name.EntityName := 'JOHN'; ListInsert(toList, name, $After); rc := MailSendMessage(sess, OMI_MAIL, header, toList, $UNKNOWN, $UNKNOWN, Items); Exit(rc); END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit per le seguenti informazioni:
Nota: Per dettagli sull'esempio di codice, consultare il file senddemo.kb nella directory EXAMPLES dove è stato installato Tivoli Service Desk Developer's Toolkit.
Rilascia le risorse utilizzate dall'interfaccia TSD Script Mail. E' necessario chiamare questa funzione prima di terminare l'applicazione. E' impossibile effettuare chiamate dell'interfaccia TSD Script Mail dopo l'esecuzione di questa chiamata fino a quando non viene chiamato MailInitialize.
FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER
Nome dell'argomento | Descrizione |
protocol | Identifica il protocollo utilizzato per comunicare con il sistema di posta.
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize;
(*Now open the session.*)
(* Do other processing. *)
MAILTerminate;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
MailInitialize
Per un elenco di codici di errore di TSD Script Mail e una descrizione del record di MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Ottiene e verifica la firma digitale su un messaggio.
FUNCTION MAILVerifyMessageSignature(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef, REF signer:MAILName, REF certifier:MAILName ): INTEGER;
Nome dell'argomento | Descrizione |
msgContainer | L'identificativo del contenitore messaggi |
msgRef | Il numero di riferimento del messaggio |
signer | L'identità del firmatario |
certifier | L'identità di chi certifica |
Questa funzione è supportata solo da VIM. Il significato della firma del messaggio (così come da chi dipende la verifica) varia con l'implementazione del sistema di invio messaggi.
VARIABLES rc:Integer; msgContainer :MAILContainer; msgRef :MAILRef; signer: String; certifier: String; hfile: FILE; ACTIONS (* Open a message container, scan the messages and set msgRef to the reference number of the message with the needed signature information *) . rc:= MAILVerifyMessageSignature(msgContainer, msgRef, signer, certifier); IF rc <> 1 THEN ELSE FWrite (hfile, 'The signer of the message is ' & signer.EntityName); FWrite (hfile, 'The certifier of the message is ' & certifier.EntityName); END . . . END;
Codice di ritorno | Descrizione |
1 | Completamento riuscito. |
Minore di uno | Errore. |
Per un elenco di codici di errore di TSD Script Mail e una descrizione del record di MailSendHeader, consultare il Manuale per la programmazione Tivoli Service Desk 6.0 Developer's Toolkit.
Riferimento Lingua del Tivoli Service Desk 6.0 Developer's Toolkit Script
Ritorna alla pagina principale