Tivoli Service Desk 6.0 Developer's Toolkit - Referência da Linguagem de Script
Retornar a Página Principal
Retorna à lista de todas as entradas em um catálogo de endereços.
FUNCTION MAILAddressBookEntries(VAL session: MAIL Session, VAL addrBookName: STRING, REF addrBookEntries: LIST of MAILABEntry): INTEGER;
Nome do Argumento | Descrição |
session | Identificador da Sessão de Correio. |
addrBookName | Nome do catálogo de endereços a ser aberto. Os nomes simbólicos a seguir estão
disponíveis como atalhos para abrir catálogos de endereços padrão:
|
addrBookEntries | Lista de registros MailABEntry que descrevem as entradas no catálogo de endereços determinado. |
Esta função é suportada somente pelo 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 (* Entradas do Catálogo de Endereços disponível *) ELSE (* Ocorreu um erro na leitura das entradas do catálogo de endereços. *) END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista completa dos códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Retorna uma lista de nomes do catálogo de endereços disponível na sessão atual.
FUNCTION MAILAddressBooks(VAL session:MAILSession, REF AddrBooks: LIST of STRING): INTEGER;
Nome do Argumento | Descrição |
session | Identificador de sessão |
AddrBooks | Lista de nomes do catálogo de endereços nesta sessão (valor retornado) |
Esta função é suportada somente pelo VIM.
VARIABLES session: MAILSession; rc:Integer; AddressBooks: LIST of String;
ACTIONS
(* Uma MAILSession está aberta. *)
rc := MAILAddressBooks(session, AddressBooks); IF rc = 1 THEN (* A lista de nomes do catálogo de endereços disponível para esta sessão está armazenada no AddressBooks *) ELSE (* Função falhou *) END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Fecha um contêiner de mensagem.
FUNCTION MAILCloseMessageContainer(VAL msgContainer: MAILContainer): INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem aberta. |
VARIABLES msgContainer :MAILContainer;
ACTIONS
(* Contêiner de Mensagem Aberto e utilizado *)
rc := MAILCloseMessageContainer(msgContainer); IF rc = 1 THEN (* Contêiner de mensagem fechado com êxito *) ELSE (* Função falhou *) END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Para obter ums lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Fecha a sessão.
FUNCTION MAILCloseSession(REF session: MAILSession): INTEGER;
Nome do Argumento | Descrição |
session | Identifica a sessão a ser fechada. |
Toda as sessões de correio abertas devem ser fechadas quando aquelas sessões de correio forem concluídas. O fechamento de uma sessão libera quaisquer recursos do sistema associados à sessão. Falha ao fechar uma sessão aberta, quando um programa é terminado pode-se resultar a perda de memória.
Nota: Para obter uma descrição da estrutura de registro MailSendHeader, consulte o Tivoli Service Desk Developer's Toolkit - - Guia de Programação.
VARIABLES rc:Integer; session: Integer;
ACTIONS rc := MAILOpenSession('F:\CCMAIL\CCDATA', 'VIMAPPLICATION', 'PASSWD', OMISEL_CP1252, session); IF rc <> 1 THEN (* Erro na abertura da sessão *) ELSE
(* Execute algumas operações com a sessão aberta. *)
rc := MAILCloseSession(session); IF rc <> 1 THEN (* Erro no fechamento da sessão *) END; END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader,
consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Retorna o nome do usuário ou o aplicativo do sistema de mensagens associada à sessão especificada no parâmetro da sessão.
FUNCTION MAILGetEntityName(VAL session: MAILSession, REF Name: MAILName): INTEGER;
Nome do Argumento | Descrição |
session | Identificador de sessão a partir do qual o nome do usuário é desejado. Se $Unknown for especificado, o nome padrão do usuário ou aplicativo do sistema de mensagens será retornado. Se nenhum padrão estiver disponível, um erro será retornado. |
Nome | Registro MailName para receber o nome do usuário. Em retorno a partir dessa função, somente a parte do nome distinta do registro MailName é preenchida. |
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,'Erro',$MBIconError, 'A abertura de sessão falhou: '&rc);
MailGetLastErrorText(OMI_SMTP_POP_INTERFACE, sess,rc, rc, reply); WinMessageBox($Desktop,'Erro',$MBIconError, 'Sessão aberta falhou: '& reply); MAILTerminate(OMI_SMTP_POP_INTERFACE); EXIT; END;
END;
Esta função é suportada somente pelo VIM.
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Retorna o texto de erro associado à última operação de falha.
FUNCTION MAILGetLastErrorText( VAL protocol: INTEGER, VAL sessID: MAILSession, VAL errCode: INTEGER, REF LastErrCode: INTEGER, REF ErrText: STRING)
Nome do Argumento | Descrição |
protocol | Identifica o protocolo utilizado para se comunicar com o sistema de correio |
sessID | Identifica a sessão (valor de retorno MailOpenSession) |
errCode | Valor do código de erro retornado pela última chamada da função Correio |
LastErrCode | Código de erro retornado pela última chamada da função Correio |
ErrText | O último texto de erro é retornado neste parâmetro |
Esta função é suportada somente pelo VIM.
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Inicializa a interface TSD Script Mail. Esta deve ser a primeira função chamada antes de utilizar quaisquer serviços da interface TSD Script Mail.
MAILInitialize (VAL protocol:INTEGER): INTEGER
Nome do Argumento | Descrição |
protocol | Identifica o protocolo utilizado para se comunicar com o sistema de correio.
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize(OMI_MAPI_INTERFACE);
(* Agora abrir a sessão. *)
(* Execute outro processamento. *)
MAILTerminate(OMI_MAPI_INTERFACE);
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
MailTerminate
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Marca uma mensagem como lida.
FUNCTION MAILMarkMessageAsRead(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef): INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagens |
MsgRef | Número de referência de mensagem da mensagem marcada como lida |
Em alguns sistemas de correio, esta função também faz com que o retorno recebido seja enviado. Entretanto, este será somente o caso, se a mensagem não tiver sido lida anteriormente e se o recebimento de um retorno foi solicitado pelo remetente.
VARIABLES rc:Integer; msgContainer :MAILContainer; msgRef :MAILRef;
ACTIONS (* Abrir um contêiner de mensagem *) (* Varrer mensagens no contêiner e obter os *) (* números de referência de mensagem *) (* Definir msgRef como o número da mensagem que deseja marcar como lida *) rc := MAILMarkMessageAsRead(msgContainer, msgRef); IF (rc <> 1) THEN (* Função MAILMarkMessageAsRead falhou *) ELSE (* Mensagem marcada como lida *) END;
(* Fechar contêiner de mensagem *)
END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Abre o contêiner da mensagem especificada e retorna um identificador que pode ser utilizado para varrer e ler mensagens recebidas neste contêiner.
FUNCTION MAILOpenMessageContainer(VAL session: MAILSession, VAL cntnrName: STRING, REF msgContainer: MAILContainer ): INTEGER;
Nome do Argumento | Descrição |
session | Identifica a sessão |
cntnrName | Nome do contêiner de mensagem a ser aberto. A sintaxe do nome é
dependente do sistema de mensagens. Tipicamente, ele é o PATH completo do banco de dados ou fila
que implementa o contêiner de mensagem. Se $Unknown for transmitido, o contêiner de mensagem padrão para a sessão será aberto. Às vezes, o contêiner de mensagem padrão é chamado caixa de correio ou caixa de recepção. |
msgContainer | Identificador do contêiner de mensagem aberta |
O sistema de mensagens utiliza o identificador de sessão autenticado, para determinar se o usuário acessa o contêiner de mensagem especificado.
Nota: Em sessões MAPI, $Unknown pode ser transmitido para cntnrName.
VARIABLES rc:Integer; session: MAILSession; name: String; hfile: File;
ACTIONS
(* Abrir uma sessão *)
rc := MAILOpenMessageContainer(session, containername, msgcontainer); IF rc <> 1 THEN ( * Função MAILOpenMessageContainer falhou *) ELSE (* Contêiner de mensagem aberto com êxito *) END;
(* Fechar o contêiner/sessão *)
END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Abre uma sessão autenticada com o sistema de mensagens.
FUNCTION MAILOpenSession(VAL pathSpec: STRING, VAL name: STRING, VAL password: STRING, VAL CharSet:INTEGER, REF session: MAILSession, VAL protocol:INTEGER): INTEGER;
Nome do Argumento | Descrição |
pathSpec | Nome do caminho do banco de dados do contêiner de mensagem ou nome do servidor. Os contêiners de mensagens
são requeridos pelo Lotus cc:Mail e Microsoft Mail. Os nomes de servidores são requeridos pelo
Lotus Notes, Microsoft Exchange e SMTP/POP. Um valor $Unknown poderá ser
transmitido, se este parâmetro não for requerido. Consulte a documentação fornecida pelo fornecedor de seu aplicativo de correio, para obter o valor específico a ser transmitido no parâmetro. |
name | Nome do usuário que está tentando iniciar sessão. Um valor $Unknown poderá ser
transmitido, se este parâmetro não for requerido. Usuários do Windows 95 da Microsoft: Consulte a seção Notas para obter a instrução MailOpenSession. |
password | Senha do usuário que está tentando iniciar sessão. Um valor $Unknown poderá ser
transmitido, se este parâmetro não for requerido. Usuários do Windows 95 da Microsoft: Consulte a seção Notas para obter a instrução MailOpenSession. |
CharSet | Controla o conjunto de caracteres esperado para todas as cadeias de caracteres de entrada e
retornados para todas as cadeias de caracteres de saída ou então o conjunto de caracteres a ser utilizado como um
padrão para o parâmetro do conjunto de caracteres MIME, para linhas de assuntos de mensagens codificadas MIME e
textos. O conjunto de caracteres selecionado pode ser um dos seguintes:
|
session | Identificador de sessão aberto por esta função |
protocol | Identifica o protocolo utilizado para se comunicar com o sistema de correio.
|
Dica: Se não tiver certeza qual valor transmitir no argumento CharSet, utilize $Unknown para ter o valor correto fornecido automaticamente.
Utilizando Nomes de Perfil de Troca da Microsoft
O Windows 98/NT da Microsoft inclui um programa chamado Microsoft Windows Messaging. Este programa funciona como um Cliente de Troca MS ou de Correio MS e também pode ser configurado para serviços adicionais como fax e correio Internet. O Sistema de Mensagens do Windows utiliza um Perfil para armazenar informações sobre os serviços disponíveis para um usuário.
Os usuários Windows 98/NT que utilizam o Sistema de Mensagens Windows da Microsoft devem transmitir o nome do Perfil como o argumento <name>, para abrir uma sessão de correio. Nenhuma senha é necessária. Quando chamar MailOpenSession, transmita $Unknown para o argumento <password>. Não utilize o ID do Usuário de Troca MS ou o Correio MS. O programa do cliente de Sistema de Mensagens do Windows obtém o ID do Usuário e a Senha automaticamente a partir das definições do Perfil do Sistema de Mensagens do Windows. Para funcionar corretamente, o Perfil do Sistema de Mensagens do Windows deve incluir as informações sobre senha.
VARIABLES rc:Integer; PathSpec: String; Name: String; Password: String; CharSet: Integer; Session: MAILSession;
ACTIONS PathSpec := 'server@company.com'(* caminho específico do banco de dados / nome do servidor do contêiner da mensagem *) Name := 'user@company.com';(* um id de usuário válido *) Password := 'password'; (* senha do id do usuário *) CharSet := OMISEL_US_ASCII;(* um conjunto de caracteres suportado por seu sistema. *) rc := MAILOpenSession(PathSpec, Name, Password, CharSet, Session, OMI_SMTP_POP_INTERFACE); IF rc <> 1 THEN (* Erro na abertura da sessão *) END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Esta função é utilizada para consultar os valores padrão de alguns dos atributos utilizados na interface TSD Script Mail.
FUNCTION MAILQueryDefaults(VAL protocol : Integer, REF infoRec:MAILInfoRec): INTEGER;
Nome do Argumento | Descrição |
protocol | O protocolo que é utilizado para se comunicar com o sistema de correio. Esta função é atualmente suportada somente para a interface VIM. |
infoRec | A estrutura de registro de informações sobre correio. No retorno bem-sucedido a partir da função, os campos desse registro são preenchidos com valores correspondentes. |
Esta função é suportada somente pelo VIM.
VARIABLES inforec : MAILInfoRec; rc:Integer;
ACTIONS rc := MAILQueryDefaults(OMI_VIM_INTERFACE, inforec) IF (rc = 1) THEN (* inforec é preenchido com os valores do sistema *) PrintInfoRec(inforec); ELSE MsgBox('Ocorreu um erro. Código de retorno: ' & rc); exit; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Determina se as novas mensagens foram entregues para um contêiner de mensagem.
FUNCTION MAILQueryNewMessages (VAL MsgContainer: MAILContainer, REF NewMessages:BOOLEAN): INTEGER;
Atenção: Chamar esta
função muito freqüentemente, pode resultar em problemas de desempenho significantes para o sistema de
mensagens fundamental. Para evitar isso,
alguns dos sistemas de mensagens pode verificar o tempo decorrido desde que esta função foi chamada e
retornar FALSE se a chamada anterior para esta função era recente.
Nota: É recomendado que esta função seja chamada não mais que uma vez em um minuto.
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem |
newMessages | Valor de retorno indica a presença ou ausência de novas mensagens |
Nota: Esta função é suportada somente pelo VIM.
Em VIM, esta função controla o contêiner de mensagem para determinar se quaisquer novas mensagens chegaram, desde a chamada anterior para esta função. A primeira vez que esta função é chamada para um contêiner de mensagem, o valor de retorno indica se quaisquer novas mensagens foram entregues a ele desde que o contêiner de mensagem foi aberto.
VARIABLES msgContainer :MAILContainer; newMessages: Boolean; rc:Integer;
ACTIONS (* Abrir sessão/contêiner *) rc := MAILQueryNewMessages(msgContainer, newMessages); IF (rc <> 1) THEN (* Função MAILQueryNewMessages falhou *) ELSE IF (newMessages = TRUE) THEN (* Existiam novas mensagens desde que o contêiner foi aberto *) ELSE (* Não existiam novas mensagens desde que o contêiner foi aberto *) END; END; . . (* Fechar contêiner/sessão *) . END
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit Guia de Programação.
Determina a contagem de mensagens não-lidas no contêiner de mensagem.
FUNCTION MAILQueryNewMessages(VAL msgContainer: MAILContainer, REF newMessages :BOOLEAN): INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem. |
newMessages | Indica se o número de novas mensagens recebidas, se houver, por este contêiner de mensagem desde que ele foi aberto. |
Como cada chamada recebe uma quantidade significativa de tempo de processamento, esta função não deve ser utilizada para controle.
VARIABLES rc:Integer; msgContainer :MAILContainer; unreadCount: Integer; hfile: FILE;
ACTIONS
(* Abrir uma sessão/contêiner/arquivo *)
rc := MAILQueryUnreadMailCount(msgContainer, unreadCount); IF (rc <> 1) THEN (* Função MAILQueryUnreadMailCount falhou *) ELSE FWrite( hfile, 'Número de mensagens não-lidas : ' & unreadCount); END; (
* Fechar o mesmo *)
END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Lê uma mensagem no contêiner de mensagem.
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 do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem. |
msgRef | Número de referência de mensagem da mensagem a ser lida. |
nestedLevel | O nível da mensagem encadeada cuja informação deve ser retornada. Por padrão, as informações sobre a mensagem de nível superior são retornadas. O número do nível da mensagem de nível superior é 0. |
msgHeader | As informações de cabeçalho da mensagem a ser lida. No caso de mensagens encadeadas, este corresponde aos atributos da mensagem como existia neste ponto particular no histórico de envio. |
msgItems | A lista de todos os itens na mensagem incluindo partes de nota, conexões de arquivos e itens definidos de aplicativo. Observe que para conexões de arquivos, o arquivo de saída é gravado no formato do sistema de arquivos nativo. |
toList | Lista de destinatários na lista TO da mensagem. |
ccList | Lista de destinatários na lista CC (cópia carbono) da mensagem. |
bccList | Lista de destinatários na lista BCC (cópia reservada) da mensagem. |
nestedMsg | Sinalizador que indica se uma mensagem encadeada estará presente no cível indicado pelo parâmetro nestedLevel. |
As mensagens encadeadas não são suportadas no MAPI. Uma mensagem MAPI pode ter somente uma parte da nota, que deve ser o primeiro item na lista msgItems.
Nota: Consulte a seção nas estruturas de registro TSD Script Mail, para ver quais atributos de cabeçalhos não são suportados em MAPI.
VARIABLES ...
PROCEDURE MessageReadDemo IS ...
ACTIONS . . (* Abrir um arquivo/sessão/contêiner *) . rc := ScanAndReadMessages(msgContainer); . . (* Fechar o contêiner/sessão/arquivo *) . 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 (* Leitura de Mensagem Falhou *) ELSE (* Leitura de Mensagem bem-sucedida *) END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Para obter uma lista de códigos de erro do TSD Script Mail e descrições das estruturas de registro MailItem, MailName, MailReadHeader e MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Para obter maiores detalhes sobre o exemplo de código, consulte o arquivo msgread.kb no diretório EXAMPLES onde o Tivoli Service Desk Developer's Toolkit estava instalado.
Esta função é utilizada para liberar os recursos utilizados pelos números de referências de mensagens. Quando a mensagens são varridas utilizando a função MailScanMessages, uma lista de números de referências de mensagens é retornado. Essas referências de mensagens são liberadas utilizando a chamada após o processamento requerido ter ocorrido com a mensagem. O número de referência de mensagem não deve ser utilizado quando liberado.
FUNCTION MAILReleaseMessageReference(VAL msgContainer: MAILContainer, VAL msgReference: MAILRef) : INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem. |
msgReference | Número de referência de mensagem a ser liberado. No retorno este argumento é definido como $Unknown. |
É aconselhável liberar os números de referências de mensagens assim que não forem mais necessários. Fazendo isso, serão liberados recursos de memória do 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('O contêiner de Mensagem não foi aberto. Não é possível executar este teste'); Exit; ELSE msgContainer := context.container; END;
rc := MAILScanMessages(msgContainer, 0, $unknown, TRUE, nmessages, msgSummary);
IF (rc <> 1) THEN MessageBox('A função MAILScanMessages falhou, o código de Erro é ' & rc); Exit; END;
MessageBox('Função MailScanMessages bem-sucedida');
(* Ler agora todas as mensagens *) 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('Função MAILReadMessage falhou ao ler o número de mensagens ' & loopcnt & '. O código de erro é ' & rc ); ELSE PrintMessage(outfile, msgHeader, msgItems, toList, ccList, bccList); END; END; FClose(outfile); MessageBox('Função MailReadMessage bem-sucedida');
(* Liberar os números de referências de mensagens *) FOR msgSummary DO MAILReleaseMessageReference(msgContainer, msgSummary[$current]. msgReference); END; END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
MailScanMessages
Para obter uma lista de códigos de erro do TSD Script Mail, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Remove uma mensagem a partir do contêiner de mensagem.
FUNCTION MAILRemoveMessage(VAL msgContainer:MAILContainer, VAL msgRef:MAILRef): INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagem. |
msgRef | Número de referência de mensagem da mensagem a ser removida. |
VARIABLES msgContainer :MAILContainer; msgRef :MAILRef; rc:Integer;
ACTIONS (* Abrir um contêiner de mensagem *) (* Varrer as mensagens no contêiner, obter os números de referências de mensagens *) rc := MAILRemoveMessage(msgContainer, msgRef); IF (rc <> 1) THEN (* A mensagem não pôde ser removida com êxito *) ELSE (* Mensagem removida com êxito *) END; . . (* Fechar o contêiner de mensagem *) . END;
Código de Retorno | Descrição |
1 | Completada com Sucesso |
Menor que um | Erro |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Retorna o número de referência de mensagem e atributos de resumo das mensagens no contêiner de mensagem.
FUNCTION MAILScanMessages(VAL msgCntnr:MAILContainer, VAL Flag:INTEGER, VAL Filter:MAILFilter, VAL summFlag:BOOLEAN, REF nMessages:INTEGER, REF msgSummary:LIST of MAILMsgSummary ): INTEGER;
Nome do Argumento | Descrição |
msgCntnr | Identificador do contêiner de mensagem. |
Sinalizador | Sinalizador de enumeração que determina quais mensagens são varridas e a ordem
na qual elas são varridas. Isso é criado por um Bitwise ORing de um dos
seguintes valores:
|
Filter | Especifica o filtro utilizado para varrer as mensagens. Se $Unknown for transmitido, nenhuma filtragem ocorrerá e todas as mensagens serão varridas. (Isso não inclui as mensagens enviadas.) Atualmente, não é possível definir mais de uma condição de filtro. |
summFlag | Indica se recuperar os atributos de resumo de mensagem. Se este sinalizador for definido como FALSE (que é o padrão), somente os números de referências de mensagens serão recuperados no registro MailMsgSummary. O procedimento padrão é recuperar somente os números de referências de mensagens. |
nmessages | O número de mensagens varridas. |
msgSummary | Lista dos registros MailMsgSummary que contêm informações sobre mensagens. Os números de referências de mensagens são obtidos a partir desse registro e são utilizados para ler as mensagens. |
Os filtros não são suportados no MAPI.
No MAPI, somente os números de referências de mensagens são recuperados, independentemente do valor do sinalizador (summFlag).
KNOWLEDGEBASE MSGCONT; PRIVATE VARIABLES ... ROUTINES PROCEDURE ContainerDemo IS VARIABLES sess :MAILSession; rc :INTEGER; msgContainer :MAILContainer;
ACTIONS
(* Abrir um arquivo/sessão/contêiner *)
(* --- Varrer Mensagens no contêiner ---- *) rc := ScanMessages(msgContainer);
(* Fechar contêiner/sessão/arquivo *)
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 (* A função Varrer mensagens falhou *) END; (* A função Varrer Mensagens foi bem-sucedida *) 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;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Para obter uma lista de códigos de erro do TSD Script Mail e descrições das estruturas de registro MailFilter, MailSendHeader e MailMsgSummary, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Para obter detalhes sobre o exemplo de código, consulte o arquivo msgcont.kb no diretório EXAMPLES onde o Tivoli Service Desk Developer's Toolkit foi instalado.
Cria uma nova mensagem de correio a partir de uma mensagem de correio existente.
Utilizado para enviar ou responder uma mensagem.
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 do Argumento | Descrição |
msgCntnr | Identificador do contêiner de mensagem. |
msgRef | Número de referência de mensagem da mensagem a partir da qual obter a nova mensagem de correio. |
type | Tipo da nova mensagem de correio a ser criado. Este poderia ser OMISEL_FORWARD ou OMISEL_REPLY. |
flags | Uma máscara de bits de sinalizadores de estilo OR-ed juntos que especifica os componentes da
mensagem de correio que devem ser herdados pela mensagem de correio criadas mais recentes. O significado
de flags depende do tipo de mensagem de correio sendo criado. $Unknown poderá
ser utilizado, se não for necessário que nada seja herdado. Se o tipo for OMISEL_FORWARD, flags terá o seguinte significado: OMI_HISTORY: Especifica que o histórico de envio anterior da mensagem de correio existente deve ser herdado pela mensagem de correio herdada recentemente. Se isso não for definido, o histórico anterior não será herdado. Se o tipo for OMISEL_REPLY, flags terá o seguinte significado: OMI_INHERIT_CONTENTS: Especifica que o conteúdo da mensagem de correio existente deve ser herdado pela mensagem de correio criada recentemente. Se não for definido, o conteúdo não será herdado. Algumas implementações do serviço de mensagem podem herdar somente partes da nota, enquanto outras implementações herdam as partes da nota e quaisquer conexões. OMI_ALL_RECIPIENTS: Especifica que todos os destinatários da mensagem de correio existente devem ser herdados pela mensagem de correio criada recentemente. Se não for definido, somente o emissor da mensagem de correio original será herdado. |
msgHeader | Inicializa o registro MailSendHeader para definir os atributos de cabeçalho da mensagem que está sendo enviada. |
toList | Lista dos destinatários principal da mensagem. |
ccList | Lista de destinatários na lista CC (cópia carbono) da mensagem. |
bccList | Lista de destinatários na lista BCC (cópia reservada) da mensagem. |
items | Lista dos itens na mensagem. |
Esta função é suportada somente pelo VIM.
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Cria uma nova mensagem e a envia.
FUNCTION MAILSendMessage(VAL session:MAILSession, VAL MsgType:STRING, VAL MsgHeader: MAILSendHeader, VAL ToList, ccList, bccList:LIST of MAILName, VAL Items: LIST of MAILItem ): INTEGER;
Atenção: No MAPI, não existe
nenhuma maneira de especificar se a mensagem que é enviada deve ser registrada no registro de mensagens. Para evitar um problema de espaço em disco com mensagens de saída, o registro de mensagens pode ser controlado
utilizando a opção Correio/Opções no menu Correio MS.
O cliente de correio deve ser configurado de tal forma que as mensagens enviadas não sejam salvas.
Nome do Argumento | Descrição |
session | Identifica a sessão para a qual a mensagem deve ser criada. |
MsgType | Tipo de mensagem sendo composto. VIM_MAIL ou OMI_MAIL deve ser utilizado para mensagens de correio. Esse tipo pode conter até 32 caracteres. |
MsgHeader | Inicializa o registro MailSendHeader para definir os atributos de cabeçalho da mensagem que está sendo enviada. |
toList | Lista dos destinatários principal da mensagem. |
ccList | Lista de destinatários na lista CC (cópia carbono) da mensagem. |
bccList | Lista de destinatários na lista BCC (cópia reservada) da mesnagem. |
Items | Lista dos itens na mensagem. |
Todos os atributos e campos do registro MailSendHeader não podem ser suportados pelo fornecedor de serviço do sistema de mensagens. Se esses campos não puderem ser definidos pelo MailSendMessage por causa disso, nenhum código de erro será gerado. MailSendMessage retornará um código de erro somente se um erro diferente de 'Não Suportado' ocorrer para os atributos do cabeçalho.
Se a função não pôde ser enviada para um dos destinatários da mensagem, ela retornará um código de erro. Semelhantemente, se quaisquer itens da mensagem não puderem ser conectados com êxito na mensagem, a função retornará um código de erro.
Os destinatários designados na toList e ccList não conseguem exibir os nomes de destinatários designados na bccList.
Pode existir um limite no comprimento máximo do assunto ou no comprimento máximo do campo da mensagem. Utilize MailQueryDefaults para determinar o comprimento máximo do assunto e do texto.
Pode existir somente um item de mensagem da classe NOTE_PART e ele deve ser o primeiro item na lista de itens de mensagens.
KNOWLEDGEBASE SENDDEMO;
PROCEDURE SendDemo IS VARIABLES session: MAILSession; rc :INTEGER; ACTIONS
(* Abrir sessão *)
rc := SendMail(session);
(* Fechar sessão *)
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 (* Definir o registro de cabeçalho *) header.subject := 'Sample Message'; (* Construir a lista de itens de mensagem *) (* O primeiro item é uma parte de nota *) Item.Class := OMISEL_NOTE_PART; Item.Type := OMI_TEXT; Item.Name := 'Título para a parte da nota'; Item.BufferType := OMI_ACTUAL_DATA; Item.BufferData := 'Olá Leitor, Esta mensagem está sendo enviada por um aplicativo VIM.'; ListInsert(Items, Item, $After); (* O segundo item é um anexo de arquivo *) Item.Class := OMISEL_ATTACH; Item.Name := 'image.pcx'; Item.BufferType := OMI_FILE_DATA; Item.BufferData := 'D:\TMP\PAPANIM.PCX'; ListInsert(Items, Item, $After); (* Especificar o destinatário *) 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;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação para obter as seguintes informações:
Nota: Para obter detalhes sobre o exemplo de código, consulte o arquivo senddemo.kb no diretório EXAMPLES, onde o Tivoli Service Desk Developer's Toolkit foi instalado.
Libera os recursos utilizados pela interface TSD Script Mail. Esta função deve ser chamada antes de terminar o aplicativo. Nenhuma chamada para a interface TSD Script Mail pode ser feita após a execução da chamada, até que você chame MailInitialize.
FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER
Nome do Argumento | Descrição |
protocol | Identifica o protocolo utilizado para se comunicar com o sistema de correio.
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize;
(*Abrir agora a sessão.*)
(* Executar outro processamento. *)
MAILTerminate;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
MailInitialize
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Obtém e verifica a assinatura digital em uma mensagem.
FUNCTION MAILVerifyMessageSignature(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef, REF signer:MAILName, REF certifier:MAILName ): INTEGER;
Nome do Argumento | Descrição |
msgContainer | Identificador do contêiner de mensagens |
msgRef | Número de referência de mensagem da mensagem |
signer | Identidade do assinante |
certifier | Identidade do certificador |
Esta função é suportada somente pelo VIM. O significado da assinatura da mensagem (como a certeza da verificação) varia com a implementação do sistema de mensagens.
VARIABLES rc:Integer; msgContainer :MAILContainer; msgRef :MAILRef; signer: String; certifier: String; hfile: FILE; ACTIONS (* Abrir um contêiner de mensagem, varrer as mensagens e definir msgRef para o número de referência da mensagem com as informações de assinatura necessárias *) . rc:= MAILVerifyMessageSignature(msgContainer, msgRef, signer, certifier); IF rc <> 1 THEN ELSE FWrite (hfile, 'O assinante da mensagem é ' & signer.EntityName); FWrite (hfile, 'O certificador da mensagem é ' & certifier.EntityName); END . . . END;
Código de Retorno | Descrição |
1 | Completada com Sucesso. |
Menor que um | Erro. |
Para obter uma lista de códigos de erro do TSD Script Mail e uma descrição do registro MailSendHeader, consulte o Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Programação.
Tivoli Service Desk 6.0 Developer's Toolkit - Referência de Linguagem do Script