Tivoli Service Desk 6.0 Developer's Toolkit - Referência da Linguagem de Script

Funções de TSD Script Mail

Retornar a Página Principal


MailAddressBookEntries

Descrição

Retorna à lista de todas as entradas em um catálogo de endereços.

Sintaxe

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

Notas do Argumento

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:
  • OMI_PUBLIC: Utilizado para abrir o catálogo de endereços padrão que contém entradas que são publicamente acessíveis (ou seja, acessível para todos os usuários em uma localização particular).
  • OMI_PRIVATE: Utilizado para abrir o catálogo de endereços padrão que contém entradas que são somente particularmente acessíveis (ou seja, acessível somente para o usuário com sessão iniciada atualmente).
addrBookEntries Lista de registros MailABEntry que descrevem as entradas no catálogo de endereços determinado.

Notas

Esta função é suportada somente pelo VIM.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailAddressBooks

Descrição

Retorna uma lista de nomes do catálogo de endereços disponível na sessão atual.

Sintaxe

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

Notas do Argumento

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)

Notas

Esta função é suportada somente pelo VIM.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailCloseMessageContainer

Descrição

Fecha um contêiner de mensagem.

Sintaxe

FUNCTION MAILCloseMessageContainer(VAL msgContainer: MAILContainer): INTEGER;

Notas do Argumento

Nome do Argumento Descrição
msgContainer Identificador do contêiner de mensagem aberta.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailCloseSession

Descrição

Fecha a sessão.

Sintaxe

FUNCTION MAILCloseSession(REF session: MAILSession): INTEGER;

Notas do Argumento

Nome do Argumento Descrição
session Identifica a sessão a ser fechada.

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailGetEntityName

Descrição

Retorna o nome do usuário ou o aplicativo do sistema de mensagens associada à sessão especificada no parâmetro da sessão.

Sintaxe

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

Notas do Argumento

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.

Exemplo

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;

Notas

Esta função é suportada somente pelo VIM.

Consulte também

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.


MailGetLastErrorText

Descrição

Retorna o texto de erro associado à última operação de falha.

Sintaxe

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

Notas do Argumento

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

Notas

Esta função é suportada somente pelo VIM.

Consulte também

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.


MailInitialize

Descriçã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.

Sintaxe

MAILInitialize (VAL protocol:INTEGER): INTEGER

Notas do Argumento

Nome do Argumento Descrição
protocol Identifica o protocolo utilizado para se comunicar com o sistema de correio.
  • OMI_VIM_INTERFACE: Para utilização com o protocolo VIM
  • OMI_ MAPI_INTERFACE: Para utilização com o protocolo MAPI

Exemplo

PROCEDURE SendMail IS
VARIABLES
 SESS: MailSession;
 ACTIONS
 MAILInitialize(OMI_MAPI_INTERFACE);
 (* Agora abrir a sessão. *)
 (* Execute outro processamento. *)
MAILTerminate(OMI_MAPI_INTERFACE);

Códigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailMarkMessageAsRead

Descrição

Marca uma mensagem como lida.

Sintaxe

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

Notas do Argumento

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

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailOpenMessageContainer

Descriçã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.

Sintaxe

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

Notas do Argumento

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

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailOpenSession

Descrição

Abre uma sessão autenticada com o sistema de mensagens.

Sintaxe

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

Notas do Argumento

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:
  • OMISEL_CP850: Texto e dados da cadeia de caracteres são apresentados e retornados utilizando a Página de Códigos 850. Isso sempre é válido para implementações baseadas em DOS e OS/2.
  • OMISEL_CP1252: Texto e dados da cadeia de caracteres são apresentados e retornados utilizando a Página de Códigos 1252(ANSI). Isso sempre é válido para implementações baseadas no Windows.
  • OMISEL_CP437: Texto e dados da cadeia de caracteres são apresentados e retornados utilizando a Página de Códigos 437(IBM PC). Isso sempre é válido para implementações baseadas em DOS.
  • OMISEL_LMBCS: Texto e dados da cadeia de caracteres são apresentados e retornados utilizando o Conjunto de Caracteres de Múltiplo Byte do Lotus.
  • OMISEL_UNICODE: Texto e dados da cadeia de caracteres são apresentados e retornados utilizando o Unicode.
  • OMISEL_ISO_2022_JP: Parâmetro do conjunto de caracteres MIME padrão definido como ISO-2022-JP.
  • OMISEL_ISO_2022_JP_2: Parâmetro do conjunto de caracteres MIME padrão definido como ISO-2022-JP-2.
  • OMISEL_ISO_8859_1: Parâmetro do conjunto de caracteres MIME padrão definido como ISO-_8859-1 (Latin).
  • OMISEL_US_ASCII: Parâmetro do conjunto de caracteres MIME padrão definido como US ASCII (ANSI X3.4)
session Identificador de sessão aberto por esta função
protocol Identifica o protocolo utilizado para se comunicar com o sistema de correio.
  • OMI_VIM_INTERFACE: Para utilização com o protocolo VIM
  • OMI_ MAPI_INTERFACE: Para utilização com o protocolo MAPI
  • OMI_ SMTP_POP_INTERFACE Para utilização com o protocolo SMTP/POP

Dica: Se não tiver certeza qual valor transmitir no argumento CharSet, utilize $Unknown para ter o valor correto fornecido automaticamente.

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailQueryDefaults

Descrição

Esta função é utilizada para consultar os valores padrão de alguns dos atributos utilizados na interface TSD Script Mail.

Sintaxe

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

Notas do Argumento

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.

Notas

Esta função é suportada somente pelo VIM.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailQueryNewMessages

Descrição

Determina se as novas mensagens foram entregues para um contêiner de mensagem.

Sintaxe

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.

Notas do Argumento

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

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailQueryUnreadMailCount

Descrição

Determina a contagem de mensagens não-lidas no contêiner de mensagem.

Sintaxe

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

Notas do Argumento

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.

Notas

Como cada chamada recebe uma quantidade significativa de tempo de processamento, esta função não deve ser utilizada para controle.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailReadMessage

Descrição

Lê uma mensagem no contêiner de mensagem.

Sintaxe

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

Notas do Argumento

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.

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailReleaseMessageReference

Descrição

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.

Sintaxe

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

Notas do Argumento

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.

Notas

É 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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailRemoveMessage

Descrição

Remove uma mensagem a partir do contêiner de mensagem.

Sintaxe

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

Notas do Argumento

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso
Menor que um Erro

Consulte também

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.


MailScanMessages

Descrição

Retorna o número de referência de mensagem e atributos de resumo das mensagens no contêiner de mensagem.

Sintaxe

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

Notas do Argumento

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:
  • OMI_UNREADONLY: Retornar somente mensagens não-lidas. As mensagens são retornadas por padrão.
  • OMI_REVERSE_SCAN: Enumerar mensagens na ordem inversa (último a chegar/primeiro a sair).
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.

Notas

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

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte Também

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.


MailSendDerivedMessage

Descrição

Cria uma nova mensagem de correio a partir de uma mensagem de correio existente.

Utilizado para enviar ou responder uma mensagem.

Sintaxe

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;

Notas do Argumento

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.

Notas

Esta função é suportada somente pelo VIM.

Códigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailSendMessage

Descrição

Cria uma nova mensagem e a envia.

Sintaxe

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.

Notas do Argumento

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.

Notas (VIM)

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.

Notas (MAPI)

Pode existir somente um item de mensagem da classe NOTE_PART e ele deve ser o primeiro item na lista de itens de mensagens.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailTerminate

Descrição

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.

Sintaxe

FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER

Notas do Argumento

Nome do Argumento Descrição
protocol Identifica o protocolo utilizado para se comunicar com o sistema de correio.
  • OMI_VIM_INTERFACE: Para utilização com o protocolo VIM
  • OMI_ MAPI_INTERFACE: Para utilização com o protocolo MAPI

Exemplo

PROCEDURE SendMail IS
VARIABLES
 SESS: MailSession;
 ACTIONS
 MAILInitialize;
 (*Abrir agora a sessão.*)
 (* Executar outro processamento. *)
MAILTerminate;

Códigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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.


MailVerifyMessageSignature

Descrição

Obtém e verifica a assinatura digital em uma mensagem.

Sintaxe

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

Notas do Argumento

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

Notas

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.

Exemplo

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ódigos de Retorno

Código de Retorno Descrição
1 Completada com Sucesso.
Menor que um Erro.

Consulte também

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

Retornar à Página Principal

Copyright