Iniciar uma conversa

Como realizo acesso remoto à API de um IceWarp Server?

Para acesso remoto à API de um IceWarp Server, você pode utilizar praticamente qualquer linguagem, ou até mesmo alocar scripts em PHP abaixo do servidor web IceWarp (em icewarp/html).

No caso de realizar acesso remoto à API de um IceWarp Server, antes de mais nada registre a DLL API.DLL, caso não possua um IceWarp Server instalado na máquina onde estarão seus scripts. A DLL fica na raíz de uma instalação do IceWarp Server e pode ser registrada com o comando:

regsvr32 api.dll

Vale ressaltar que apenas as seguintes constantes referenciadas em icewarp\delphi\apiconst.pas funcionam remotamente:

(FCommand = C_TimeZone) Or
(FCommand = C_AS_Info_UpdateDate) Or (FCommand = C_AS_Info_UpdateVersion) Or (FCommand = C_AS_Info_UpdateSize) Or (FCommand = C_AS_Info_BayesWords) Or (FCommand = C_AS_Info_BayesSpamMessages) Or (FCommand = C_AS_Info_BayesGenuineMessages) Or
(FCommand = C_AS_Info_EngineVersion) Or (FCommand = C_AV_Info_UpdateDate) Or (FCommand = C_AV_Info_UpdateSize) Or (FCommand = C_AV_Info_UpdateVersion) Or
(FCommand = C_License_XMLFile) Or
(FCommand = C_License);

Em nosso site, em Downloads/Documentação, fornecemos documentação (Referência API) contendo exemplos de uso dos objetos COM em scripts PHP, para realizar uma série de tarefas, como obter estatísticas de usuários, criar contas, enviar mensagens e muito mais.

Veja um exemplo de script que efetua acesso remoto à API e utiliza objeto COM para exibir número de contas de um domínio. O login no caso abaixo é feito no IceWarp remoto com e-mail completo. No caso de login com username, a sintaxe seria flavio:senha@IP:32000. Caso tenha alterado a porta do IceWarp remoto para 80, não especifique o :32000.

<?php

$token = new COM("IceWarpServer.TokenObject");
$token->URL = "flavio@zuzu.lucanet.com.br:senha@62.100.47.97:32000";

$oMerak = new COM("IceWarpServer.DomainObject");
$oMerak->TokenHandle = $token->TokenHandle;

$sdominio = 'zuzu.lucanet.com.br';

echo  'Abrindo o dominio: ['. $sdominio . ']<br>';
echo $oMerak->Open($sdominio);

echo  "Retorno: [" . $oMerak->LastErr . "]<br>";

echo  "Contas encontradas: " . $oMerak->GetAccountCount;
echo  "<br>Retorno: [" . $oMerak->LastErr . "]<br>";

?>

Outro exemplo, que verifica a versão do IceWarp Server:

<?php

$token = new COM("IceWarpServer.TokenObject");
$token->URL = "flavio@zuzu.lucanet.com.br:senha@64.222.47.97:32000";

 $api = new COM("IceWarpServer.APIObject");
$api->TokenHandle = $token->TokenHandle;
echo "Versao do Merak: [" . $api->GetProperty("c_version") . "]<br>";

$api->Done;
?>

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Flávio Zarur Lucarelli

  2. Publicado
  3. Atualizado

Comentários