Riferimento Lingua del Tivoli Service Desk 6.0 Developer's Toolkit Script

Funzioni TSD Script Mail

Ritorna alla pagina principale


MailAddressBookEntries

Descrizione

Restituisce l'elenco di tutte le voci in una rubrica.

Sintassi

FUNCTION MAILAddressBookEntries(VAL session: MAIL Session,
                                VAL addrBookName: STRING,
                                REF addrBookEntries: LIST of
                                MAILABEntry): INTEGER;

Note argomento

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:
  • OMI_PUBLIC: Utilizzato per aprire la rubrica di default che contiene le voci accessibili pubblicamente (cioè, accessibili per tutti gli utenti in una ubicazione particolare).
  • OMI_PRIVATE: Utilizzato per aprire la rubrica di default che contiene le voci accessibili solo privatamente (cioè, accessibili solo per l'utente correntemente collegato).
addrBookEntries L'elenco dei record MailABEntry che descrivono le voci nella rubrica specificata.

Note

Questa funzione è supportata solo da VIM.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailAddressBooks

Descrizione

Restituisce un elenco di nomi rubrica disponibili per la sessione corrente.

Sintassi

FUNCTION MAILAddressBooks(VAL session:MAILSession, REF
                          AddrBooks: LIST of STRING): INTEGER;

Note argomento

Nome dell'argomento Descrizione
session L'identificativo della sessione
AddrBooks L'elenco di nomi rubrica disponibili per questa sessione (valore restituito)

Note

Questa funzione è supportata solo da VIM.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailCloseMessageContainer

Descrizione

Chiude un contenitore messaggi.

Sintassi

FUNCTION MAILCloseMessageContainer(VAL msgContainer: MAILContainer): INTEGER;

Note argomento

Nome dell'argomento Descrizione
msgContainer L'identificativo del contenitore messaggi aperto.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailCloseSession

Descrizione

Chiude la sessione.

Sintassi

FUNCTION MAILCloseSession(REF session: MAILSession): INTEGER;

Note argomento

Nome dell'argomento Descrizione
session Identifica la sessione da chiudere.

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailGetEntityName

Descrizione

Restituisce il nome dell'utente o l'applicazione di invio messaggi associata alla sessione specificata nel parametro sessione.

Sintassi

FUNCTION MAILGetEntityName(VAL session: MAILSession,
                           REF Name: MAILName): INTEGER;

Note argomento

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.

Esempio

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;

Note

Questa funzione è supportata solo da VIM.

Consultare anche

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.


MailGetLastErrorText

Descrizione

Restituisce il testo di errore associato all'ultima operazione non riuscita.

Sintassi

FUNCTION MAILGetLastErrorText( VAL protocol: INTEGER,
 VAL sessID: MAILSession,
 VAL errCode: INTEGER,
 REF LastErrCode: INTEGER,
 REF ErrText: STRING)

Note argomento

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

Note

Questa funzione è supportata solo da VIM.

Consultare anche

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.


MailInitialize

Descrizione

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.

Sintassi

MAILInitialize (VAL protocol:INTEGER): INTEGER

Note argomento

Nome dell'argomento Descrizione
protocol Identifica il protocollo utilizzato per comunicare con il sistema di posta.
  • OMI_VIM_INTERFACE: Da utilizzare con il protocollo VIM
  • OMI_ MAPI_INTERFACE: Da utilizzare con il protocollo MAPI

Esempio

PROCEDURE SendMail IS
VARIABLES
 SESS: MailSession;
    ACTIONS
 MAILInitialize(OMI_MAPI_INTERFACE);
 (* Now open the session. *)
 (* Do other processing. *)
MAILTerminate(OMI_MAPI_INTERFACE);

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailMarkMessageAsRead

Descrizione

Contrassegna un messaggio come letto.

Sintassi

FUNCTION MAILMarkMessageAsRead(VAL msgContainer:
                               MAILContainer, VAL
                               msgRef:MAILRef): INTEGER;

Note argomento

Nome dell'argomento Descrizione
msgContainer L'identificativo del contenitore messaggi
MsgRef Il numero di riferimento del messaggio contrassegnato come letto

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailOpenMessageContainer

Descrizione

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.

Sintassi

FUNCTION MAILOpenMessageContainer(VAL session: MAILSession,
                                  VAL cntnrName: STRING,
                                  REF msgContainer: MAILContainer
                    ): INTEGER;

Note argomento

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

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailOpenSession

Descrizione

Apre una sessione autenticata con il sistema di invio messaggi.

Sintassi

FUNCTION MAILOpenSession(VAL pathSpec: STRING, VAL name: STRING,
                         VAL password: STRING, VAL CharSet:INTEGER,
                         REF session: MAILSession,
                         VAL protocol:INTEGER): INTEGER;

Note argomento

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:
  • OMISEL_CP850: I dati dela stringa di caratteri e il testo vengono presentati e restituiti utilizzando la Code Page 850. Ciò è sempre valido per le implementazioni basate su OS/2 e DOS.
  • OMISEL_CP1252: I dati dela stringa di caratteri e il testo vengono presentati e restituiti utilizzando la Code Page 1252 (ANSI). Ciò è sempre valido per le implementazioni basate su Windows.
  • OMISEL_CP437: I dati dela stringa di caratteri e il testo vengono presentati e restituiti utilizzando la Code Page 437 (IBM PC). Ciò è sempre valido per le implementazioni basate su DOS.
  • OMISEL_LMBCS: I dati dela stringa di caratteri e il testo vengono presentati e restituiti utilizzando LMBCS (Lotus Multy-Byte Character Set).
  • OMISEL_UNICODE: I dati dela stringa di caratteri e il testo vengono presentati e restituiti utilizzando Unicode.
  • OMISEL_ISO_2022_JP: Il parametro di default serie di caratteri MIME impostato su ISO-2022-JP.
  • OMISEL_ISO_2022_JP_2: Il parametro di default serie di caratteri MIME impostato su ISO-2022-JP-2.
  • OMISEL_ISO_8859_1: Il parametro di default serie di caratteri MIME impostato su ISO-_8859-1 (Latino).
  • OMISEL_US_ASCII: Il parametro di default serie di caratteri MIME impostato su US ASCII (ANSI X3.4).
session L'identificativo della sessione aperta da questa funzione
protocol Identifica il protocollo utilizzato per comunicare con il sistema di posta.
  • OMI_VIM_INTERFACE: Da utilizzare con il protocollo VIM
  • OMI_ MAPI_INTERFACE: Da utilizzare con il protocollo MAPI
  • OMI_ SMTP_POP_INTERFACE Da utilizzare con il protocollo SMTP/POP

Suggerimento: Se non si è sicuri del valore da inoltrare nell'argomento CharSet, utilizzare $Unknown per ricevere automaticamente il valore corretto.

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailQueryDefaults

Descrizione

Questa funzione viene utilizzata per richiedere i valori di default di alcuni degli attributi utilizzati nell'interfaccia TSD Script Mail.

Sintassi

FUNCTION MAILQueryDefaults(VAL protocol : Integer,
                           REF infoRec:MAILInfoRec): INTEGER;

Note argomento

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.

Note

Questa funzione è supportata solo da VIM.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailQueryNewMessages

Descrizione

Determina se i nuovi messaggi sono stati consegnati a un contenitore messaggi.

Sintassi

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.

Note argomento

Nome dell'argomento Descrizione
msgContainer L'identificativo del contenitore messaggi
newMessages Il valore di ritorno indica la presenza o meno di nuovi messaggi

Note

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.

Esempio

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

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailQueryUnreadMailCount

Descrizione

Esegue il conteggio dei messaggi non letti nel contenitore messaggi.

Sintassi

FUNCTION MAILQueryNewMessages(VAL msgContainer:
                              MAILContainer, REF newMessages
                              :BOOLEAN): INTEGER;

Note argomento

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.

Note

Poiché ogni chiamata richiede una notevole quantità di tempo per l'elaborazione, è necessario che questa funzione non venga utilizzata per il polling.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailReadMessage

Descrizione

Legge un messaggio nel contenitore messaggi.

Sintassi

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);

Note argomento

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.

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailReleaseMessageReference

Descrizione

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.

Sintassi

FUNCTION MAILReleaseMessageReference(VAL msgContainer: MAILContainer,
                                     VAL msgReference: MAILRef)
                    : INTEGER;

Note argomento

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.

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailRemoveMessage

Descrizione

Rimuove un messaggio dal contenitore messaggi.

Sintassi

FUNCTION MAILRemoveMessage(VAL msgContainer:MAILContainer,
                           VAL msgRef:MAILRef): INTEGER;

Note argomento

Nome dell'argomento Descrizione
msgContainer L'identificativo del contenitore messaggi.
msgRef Il numero di riferimento messaggio del messaggio da rimuovere.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito
Minore di uno Errore

Consultare anche

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.


MailScanMessages

Descrizione

Restituisce il numero di riferimento messaggio e attributi sommari dei messaggi nel contenitore messaggi.

Sintassi

 FUNCTION MAILScanMessages(VAL msgCntnr:MAILContainer,
                           VAL Flag:INTEGER, VAL Filter:MAILFilter,
                           VAL summFlag:BOOLEAN, REF nMessages:INTEGER,
                           REF msgSummary:LIST of MAILMsgSummary
                    ): INTEGER;

Note argomento

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:
  • OMI_UNREADONLY: Restituire solo i messaggi non letti. I messaggi vengono restituiti per default.
  • OMI_REVERSE_SCAN: Elencare i messaggi in ordine inverso (l'ultimo diventa il primo).
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.

Note

I filtri non sono supportati in MAPI.

In MAPI, vengono richiamati solo i numeri di riferimento messaggio, a prescindere dal valore dell'indicatore (summFlag).

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailSendDerivedMessage

Descrizione

Crea un nuovo messaggio di posta da uno esistente.

Utilizzato per inoltrare o rispondere a un messaggio.

Sintassi

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;

Note argomento

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.

Note

Questa funzione è supportata solo da VIM.

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailSendMessage

Descrizione

Crea un nuovo messaggio e lo invia.

Sintassi

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.

Note argomento

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.

Note (VIM)

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.

Note (MAPI)

Può esistere solo una voce messaggio di classe NOTE_PART ed è necessario che essa sia la prima voce nell'elenco di voci messaggio.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailTerminate

Descrizione

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.

Sintassi

FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER

Note argomento

Nome dell'argomento Descrizione
protocol Identifica il protocollo utilizzato per comunicare con il sistema di posta.
  • OMI_VIM_INTERFACE: Da utilizzare con il protocollo VIM
  • OMI_ MAPI_INTERFACE: Da utilizzare con il protocollo MAPI

Esempio

PROCEDURE SendMail IS
VARIABLES
 SESS: MailSession;
    ACTIONS
 MAILInitialize;
 (*Now open the session.*)
 (* Do other processing. *)
MAILTerminate;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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.


MailVerifyMessageSignature

Descrizione

Ottiene e verifica la firma digitale su un messaggio.

Sintassi

FUNCTION MAILVerifyMessageSignature(VAL msgContainer:
                               MAILContainer, VAL
                                    msgRef:MAILRef, REF
                                    signer:MAILName, REF
                                    certifier:MAILName
                    ): INTEGER;

Note argomento

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

Note

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.

Esempio

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;

Codici di ritorno

Codice di ritorno Descrizione
1 Completamento riuscito.
Minore di uno Errore.

Consultare anche

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

Copyright