Saltar para o conteúdo
Blog

Exchange Web Services da grommunio com clientes Linux

· por grommunio
Exchange Web Services da grommunio com clientes Linux

Desde o ano passado, a grommunio tem vindo a suportar o Exchange Web Services (EWS). Estes serviços, introduzidos pela primeira vez pela Microsoft no Exchange 2007, representam outro importante API através do qual os clientes utilizam para comunicar com os servidores Exchange (e Office 365, agora MS 365). Especialmente interessante é o facto de a Microsoft ter introduzido abertamente o EWS para incentivar os programadores terceiros a contribuírem com os seus clientes.

E foi o que fizeram, o que também pode beneficiar a grommunio. Os programadores, no entanto, beneficiam da vasta quantidade de funções de depuração e gestão que o grommunio oferece. É aqui que o poder do modelo de desenvolvimento de fonte aberta da grommunio se torna evidente. Para além do ambiente de trabalho interno da grommunio e das aplicações padrão totalmente suportadas em Windows e Mac (Outlook), bem como em Android e iPhones, existem aplicações cuja integração EWS é mantida pela comunidade. Uma vez que têm diferentes qualidades, o exemplo de um candidato algo “instável” mostra como o grommunio é útil e poderoso como servidor e as excelentes possibilidades que oferece para depuração, especialmente em comparação com o Exchange da Microsoft.

Exchange Web Services: Totalmente suportado desde o grommunio 2023.11.3

Primeiro as coisas mais importantes: Com a última versão 2023.11.3 do grommunio, o EWS ultrapassou o estatuto de beta e é agora totalmente suportado. Esta funcionalidade é especialmente útil para clientes Apple, não só o Outlook for Mac, mas também aplicações como o Apple Mail e o Calender são agora suportados pelo grommunio. Os serviços EWS estão activos por defeito desde 2023.11.3 - ver Notas de lançamento.

A Microsoft especificou o seu EWS API em grande pormenor e permite funções extensivas, incluindo administração e gestão de dados. No entanto, o EWS é também particularmente atrativo porque o fabricante quer e encoraja o desenvolvimento de clientes pela comunidade em geral. O EWS deverá tornar-se a interface para outros clientes, ferramentas e processamento de dados para dados Exchange, bem como para ferramentas como o Sharepoint ou o Skype. Se quiser saber mais, pode encontrar mais informações em blogues como o TechGenix.

Groupware, administração remota e muito mais

Há muito tempo, existem implementações do lado do cliente para o EWS no mundo do código aberto: O Mozilla Thunderbird, bem como o Evolution do GNOME e o KDE Kontact têm vindo a oferecer a ligação ao EWS, embora com qualidade diferente e com premissas diferentes. Quem mergulhar nestas implementações não deve esperar quaisquer milagres. Mesmo que cada vez mais utilizadores confiem no software livre no local de trabalho, o ambiente de trabalho Linux continua a ser uma ferramenta exótica, apenas atrás do MacOS como sistema cliente.

Pior ainda: entre os utilizadores de Linux desktop, aqueles que necessitam de um cliente groupware completo como o Outlook são uma exceção; as ferramentas web são geralmente completamente suficientes para esses utilizadores, e existem implementações como grommunio Desktop, que trazem sempre o aspeto e a sensação do website para todos os sistemas operativos de uma forma uniforme, segura e independente do browser. A coisa boa sobre essas variantes Electron é que elas combinam todos os recursos em uma GUI, assim como eles aparecem na interface web.

grommunio Desktop Mail
O ambiente de trabalho grommunio também está disponível em todos os sistemas operativos Linux, mas não utiliza o EWS.

Mas mesmo que o grupo-alvo para um cliente ou plugin EWS nativo no ambiente de trabalho Linux seja pequeno, assim como a comunidade de programadores, não deixa de ser surpreendente o que a comunidade Linux já conseguiu aqui (sem o apoio, por exemplo, do grommunio), e até onde se pode chegar com ele na vida quotidiana.

Vencedor do teste EWS: Evolution

Entre os clientes EWS reais para Linux, o programa Evolution do Gnome tem o melhor desempenho, e faz isso muito melhor do que seus concorrentes. Com o seu estilo e interface de utilizador bastante clássicos e simples, tem de longe a melhor integração com o EWS, que também funcionou de imediato no teste e reconheceu automaticamente todas as definições necessárias, também em combinação com o grommunio.

No openSUSE, a maneira mais fácil de obter o Evolution instalado com sua extensão EWS é um “zypper in evolution-ews”, que também faz o download do plugin EWS. A partir do Evolution 3.27.91 o Oauth 2 também funciona com o MS 365, atualmente o Tumbleweed já instala o evolution-ews 3.52.

grommunio Exchange Web Services: Instalação do Evolution EWS
Especialmente agradável: Após a instalação, no primeiro arranque, o Evolution faz todo o trabalho para o utilizador: Um assistente pede o endereço de correio eletrónico, o que é suficiente para descobrir automaticamente todos os outros dados relevantes. Se o utilizador quiser fazer isto mais tarde, pode fazer o mesmo com o menu "Contas | Adicionar".

Especialmente agradável: Após a instalação, no primeiro arranque, o Evolution faz todo o trabalho para o utilizador: Um assistente pede o endereço de correio eletrónico, o que é suficiente para descobrir automaticamente todos os outros dados relevantes. Se o utilizador quiser fazer isto mais tarde, pode fazer o mesmo com o menu “Contas | Adicionar”.

grommunio Exchange Web Services: Evolution
O Evolution vem com uma integração limpa e completa e um assistente de configuração inteligente.

Proprietário hoje, livre amanhã: EWS no Mozilla Thunderbird

A Mozilla também está a trabalhar em serviços Web: “Em relação aos planos futuros da Microsoft, o EWS é a nossa melhor maneira de garantir o suporte tanto para o Exchange Online quanto para instalações locais”, o portal Linux Howtogeek cita o desenvolvedor Sean Burke. O post ainda é bastante recente, de fevereiro de 2024, ainda não há uma data exacta para os planos da Mozilla, mas pelo menos há um compromisso. Além disso, na FOSDEM em Bruxelas, após a Jan Engelhardt’s Talk sobre o grommunio, houve conversas entre desenvolvedores sobre o EWS no Thunderbird. Uma vez que a ferramenta da Mozilla está disponível para Windows, Apple e Linux, parece uma óptima ideia.

No entanto, até lá, os amantes do Thunderbird terão que se contentar com o ExQuilla add-on (alguns testadores preferiram o termo “struggle”), que tem críticas mistas. Do site vem um ficheiro .xpi, que o utilizador carrega na gestão de extensões do Thunderbird.

Sem calendário?

Depois de clicar no dramático “Permitir ao Exquilla acesso total a este computador”, o utilizador ainda tem de configurar a sua conta Exchange. Não se deixe confundir pela documentação do Exquilla agora apresentada: Ela ainda mostra a interface desatualizada do Thunderbird (através do menu principal, “Ferramentas | ExQuilla para MicrosoftExchange | Adicionar conta Microsoft Exchange”). Nos Thunderbirds modernos, é fornecido um botão separado para a ligação EWS depois de ter instalado a extensão Xpi, diretamente na página inicial.

Tal como no Evolution, a descoberta automática dos dados do grommunio funciona sem problemas, os contactos e os e-mails são transferidos para o Thunderbird. No entanto, o utilizador terá de procurar em vão um calendário, uma vez que a sincronização não faz parte do leque de funções do ExQuilla.

grommunio Exchange Web Services: ExQuilla
Por uma taxa e sem calendário: O ExQuila for Exchange é um plugin para o Mozilla Thunderbird.

Terceiro no grupo: KDE Kontact com EWS

O Kontact do KDE - ou “Kmail” - também tem o EWS “a bordo” há algum tempo, não é necessário um plugin, e o EWS está disponível como um tipo de servidor separado para as contas nas distribuições Linux comuns. É apenas uma pena que a integração pareça estar um pouco órfã, como mostra o copyright na “caixa de diálogo Info”, que data de 2020. Por conseguinte, a integração é instável em alguns sítios. Tal como está atualmente, o EWS funciona com o KDE Kontact, mas ainda não parece recomendável; a depuração manual é por vezes necessária.

grommunio Exchange Web Services: Kontact
O KDE Kontact também vem com um assistente de configuração, mas falha (a partir de abril de 2024) na deteção automática do URL do EWS e causará mensagens de erro.

A instalação em si é muito rápida: basta clicar no botão para adicionar uma nova conta. Clique em ""Setup | Accounts | Add | Custom Mailbox” e selecione a entrada “Microsoft Exchange Server (EWS)”, depois ser-lhe-á apresentado um assistente de configuração semelhante ao do Evolution.

Em teoria, os clientes de groupware de código aberto parecem ter caraterísticas bastante semelhantes: Oauth, NTLMv2, com ou sem domínio, o utilizador pode selecionar muitas definições úteis. Na sua maioria, isto funciona de imediato, apenas o Kontact tropeça (pelo menos com o grommunio) na deteção automática do URL do servidor. É necessário introduzi-lo manualmente para desfrutar do EWS com o KDE no ambiente de trabalho Linux - com alguns inconvenientes e mensagens de erro. Os programadores do grommunio ainda estão a investigar as razões exactas para isto, no teste tivemos simplesmente de introduzir o URL “https://$SERVERNAME/EWS/Exchange.asmx” manualmente ($SERVERNAME, claro, substituído pelo servidor de correio responsável) e desativar a autenticação NTLMv2.

Eis os passos necessários para o Kontact com o grommunio:

  • Abra a caixa de diálogo de configuração clicando em “Definições | Configurar Kmail” no menu principal do Kontact. Selecione o separador “Contas | Receção” e clique em “Adicionar | Caixa de correio personalizada”.
  • Atribua um nome e introduza um endereço de e-mail, desmarque a opção “Domínio”
  • Introduza o nome de utilizador (idêntico ao endereço de correio eletrónico) e a palavra-passe
  • Desativar a caixa de verificação “Deteção automática do servidor” para grommunio e introduzir o seguinte valor como “EWS URL”: “https://$SERVERNAME/EWS/Exchange.asmx”. Substitua $SERVERNAME pelo FQDN do seu servidor de correio eletrónico.
  • Clique em “Testar ligação”. Se não aparecer nenhuma mensagem de erro, pode continuar com “Execute” e concluir a configuração com “OK”. Depois de ativar as caixas de verificação no calendário e no livro de endereços, os dados do Exchange (ou os dados do grommunio ou do MS365) estarão disponíveis, assim que atualizar o seu E-mail. Tal como acontece com o Evolution, os outros separadores na caixa de diálogo de definições oferecem várias opções de ajuste fino. Mas é aconselhável ter cuidado.

grommunio ajuda na depuração

Particularmente irritante no teste foi um erro no plugin EWS, que parecia colocar o sistema de teste sob uma carga desnecessariamente alta: a mensagem de erro “org.kde.pim.ews.client: Failed to read EWS request - expected GetEventsResponseMessage element” apareceu no diário de mensagens do cliente Linux duas vezes por segundo, indicando que o plugin KDE ainda usa “GetEvents”, enquanto os outros clientes usam agora o funcionamento “GetStreamingEvents”. Também se observaram falhas ocasionais.

Mas o grommunio também pode ajudar aqui: A transparência e a facilidade de administração do seu software de código aberto tornam possível um olhar mais atento aos programas. Se ativar a depuração do EWS no servidor, o frontend web de administração do grommunio fornece informações detalhadas sobre os pedidos dos clientes - uma caraterística útil não só para ligar programas de groupware Linux não suportados, mas também para além do Exchange Web Services.

grommunio Exchange Web Services: grommunio-server-log

O registo do servidor mostra os pedidos incorrectos do cliente EWS da Kontact.

Se quiser detetar o comportamento incorreto, defina o “http_log_level” no ficheiro de configuração do grommunio “/etc/gromox/http.cfg” para o valor 7 e os parâmetros ews_request_logging=2 e ews_response_logging=2 em “/etc/gromox/ews.cfg”. O grommox regista então todos os pedidos e respostas do EWS completamente no registo gromox-http. Atenção: Estas definições não devem ser mantidas em funcionamento produtivo, uma vez que podem gerar grandes quantidades de dados de registo.

grommunio Exchange Web Services: Depuração
As definições de depuração para o tráfego EWS no servidor grommunio devem ser comentadas durante o funcionamento.

Conclusão: Evolution sim, Kontact não, Thunderbird em breve

Os serviços EWS totalmente integrados que estão agora activos por defeito no grommunio não são apenas interessantes para os clientes Apple. A Microsoft cumpriu a sua promessa de permitir qualquer cliente, e o grommunio e todo o mundo de código aberto também beneficiam com isso. Mas com o grommunio, o primeiro servidor de groupware de fonte aberta totalmente funcional com Exchange Web Services está agora disponível, muitos clientes já o estão a utilizar e, graças à transparência e rastreabilidade da fonte aberta e às muitas opções de configuração, o grommunio também pode ajudar nos casos em que os administradores do Exchange são deixados à sua sorte. Com o grommunio, pode administrar a sua substituição do Exchange a partir de uma linha de comandos Linux, em ficheiros de texto simples, com uma abundância de informações de depuração e - se quiser, puder, precisar - adaptar o código-fonte às suas necessidades.