Hoppa till innehåll
Blog

grommunios Exchange Web Services med Linux-klienter

· av grommunio
grommunios Exchange Web Services med Linux-klienter

Sedan förra året har grommunio stöd för Exchange Web Services (EWS). Dessa tjänster, som först introducerades av Microsoft i Exchange 2007, representerar en annan viktig API via vilken klienter använder för att kommunicera med Exchange-servrar (och Office 365, nu MS 365). Speciellt intressant är att Microsoft öppet introducerade EWS för att uppmuntra tredjepartsutvecklare att bidra med sina klienter.

Och det gjorde de, från vilket också grommunio kan dra nytta av. Utvecklare drar dock nytta av den stora mängd felsöknings- och hanteringsfunktioner som grommunio ger. Det är här kraften i grommunios utvecklingsmodell med öppen källkod blir uppenbar. Förutom det interna grommunio-skrivbordet och de fullt stödda standardapplikationerna för Windows och Mac (Outlook) samt för Android och iPhone, finns det applikationer vars EWS-integration upprätthålls av communityn. Eftersom de kommer i olika kvalitet visar exemplet med en något “skakig” kandidat hur hjälpsam och kraftfull grommunio är som server och vilka enastående möjligheter den erbjuder för felsökning, särskilt i jämförelse med Microsofts Exchange.

Exchange Web Services: Fullt stöd sedan grommunio 2023.11.3

En sak i taget: I och med den senaste versionen 2023.11.3 av grommunio har EWS lämnat betastatus och stöds nu fullt ut. Funktionen är särskilt användbar för Apple-klienter, inte bara Outlook for Mac utan även appar som Apple Mail och Calender stöds nu av grommunio. EWS-tjänsterna har varit aktiva som standard sedan 2023.11.3 - se Release Notes.

Microsoft har specificerat sin EWS API mycket detaljerat och den tillåter omfattande funktioner, inklusive administration och datahantering. Men EWS är också särskilt attraktivt eftersom tillverkaren vill ha och uppmuntrar utveckling av klienter av den större gemenskapen. EWS bör bli gränssnittet till andra klienter, verktyg och databehandling för Exchange-data, liksom för verktyg som Sharepoint eller Skype. Om du vill läsa mer kan du hitta mer information på bloggar som TechGenix.

Groupware, fjärradministration och mer

Under lång tid har det funnits implementeringar på klientsidan för EWS från open source-världen: Mozilla Thunderbird samt GNOME:s Evolution och KDE Kontact har erbjudit anslutningen till EWS, om än med olika kvalitet och med olika förutsättningar. Den som dyker in i dessa implementeringar bör inte förvänta sig några mirakel. Även om allt fler användare förlitar sig på fri programvara på arbetsplatsen, är Linux-skrivbordet fortfarande ett exotiskt verktyg, endast överträffat av MacOS som klientsystem.

Ännu värre: Bland användare av Linux-skrivbord är de som har behov av en fullfjädrad groupware-klient som Outlook ett undantag; webbverktyg är vanligtvis helt tillräckliga för dessa användare, och det finns implementeringar som grommunio Desktop, som alltid ger webbplatsens utseende och känsla till alla operativsystem på ett enhetligt, säkert och webbläsaroberoende sätt. Det fina med sådana Electron-varianter är att de kombinerar alla funktioner i ett GUI, precis som de visas i webbgränssnittet.

grommunio Desktop Mail
Grommunio-desktop finns också på alla Linux-operativsystem, men använder inte EWS.

Men även om målgruppen för en inbyggd EWS-klient eller plugin på Linux-skrivbordet är liten, liksom utvecklargruppen, är det fortfarande förvånande vad Linux-gruppen redan har uppnått här (utan stöd från t.ex. grommunio) och hur långt man kan komma med det i vardagen.

EWS testvinnare: Evolution

Bland de riktiga EWS-klienterna för Linux presterar Gnome-programmet Evolution bäst, och det gör det mycket bättre än sina konkurrenter. Med sin ganska klassiska och enkla stil och användargränssnitt har den överlägset den bästa EWS-integrationen, som också fungerade direkt i testet och automatiskt kände igen alla nödvändiga inställningar, även i kombination med grommunio.

Under openSUSE är det enklaste sättet att få Evolution installerat med dess EWS-tillägg en “zypper in evolution-ews”, som också laddar ner EWS-plugin. Från och med Evolution 3.27.91 fungerar Oauth 2 också med MS 365, för närvarande installerar Tumbleweed redan evolution-ews 3.52.

grommunio Exchange Web Services: Installation Evolution EWS
Speciellt trevligt: Efter installationen, vid första starten, gör Evolution allt arbete åt användaren: En guide frågar efter e-postadressen, vilket är tillräckligt för att automatiskt upptäcka alla andra relevanta uppgifter. Om du vill göra detta senare kan du göra samma sak med menyn "Konton | Lägg till".

Särskilt trevligt: Efter installationen, vid den första starten, gör Evolution allt arbete åt användaren: En guide frågar efter e-postadressen, vilket är tillräckligt för att automatiskt upptäcka alla andra relevanta uppgifter. Om du vill göra detta senare kan du göra samma sak med menyn “Konton | Lägg till”.

grommunio Exchange Web Services: Evolution
Evolution kommer med en ren, komplett integration och en smart installationsguide.

Proprietär idag, gratis imorgon: EWS i Mozilla Thunderbird

Mozilla arbetar också med Web Services: “När det gäller Microsofts vidare planer är EWS vårt bästa sätt att säkerställa stöd för både Exchange Online och lokala installationer”, citerar Linux-portalen Howtogeek utvecklaren Sean Burke. Inlägget är fortfarande ganska nytt, från februari 2024, det finns inget exakt datum för Mozillas planer ännu, men det finns åtminstone ett åtagande. Dessutom har det på FOSDEM i Bryssel, efter Jan Engelhardts föredrag om grommunio, förekommit samtal mellan utvecklare om EWS i Thunderbird. Eftersom Mozillas verktyg finns tillgängligt både på Windows, Apple och Linux låter det som en bra idé.

Men tills dess får Thunderbird-älskare nöja sig med ExQuilla add-on (vissa testare föredrog termen “struggle”), som har fått blandade recensioner. Från webbplatsen kommer en .xpi-fil, som användaren laddar in i Thunderbirds tilläggshantering.

Ingen kalender?

Efter att ha klickat på det dramatiskt klingande “Tillåt Exquilla full tillgång till den här datorn” måste användaren fortfarande konfigurera sitt Exchange-konto. Låt dig inte förvirras av den Exquilla-dokumentation som nu visas: Den visar fortfarande det föråldrade Thunderbird-gränssnittet (via huvudmenyn, “Tools | ExQuilla for MicrosoftExchange | Add Microsoft Exchange Account”). I moderna Thunderbirds finns en separat knapp för EWS-anslutningen efter att du har installerat Xpi-tillägget, direkt på startsidan.

Som med Evolution fungerar den automatiska upptäckten av grommunio-data utan problem, kontakter och e-postmeddelanden överförs till Thunderbird. Användaren kommer dock att söka förgäves efter en kalender, eftersom synkronisering inte ingår i ExQuillas utbud av funktioner.

grommunio Exchange Web Services: ExQuilla
Mot en avgift och utan kalender: ExQuila for Exchange är ett plugin för Mozilla Thunderbird.

Tredje i gänget: KDE Kontact med EWS

KDE:s Kontact - eller “Kmail” - har också haft EWS “ombord” under en tid, ett plugin är inte nödvändigt och EWS finns som en separat servertyp för kontona på de vanliga Linuxdistributionerna. Det är bara synd att integrationen verkar vara något föräldralös, som upphovsrätten i “Info-dialogrutan” visar, som går tillbaka till 2020. Följaktligen är integrationen skakig på vissa ställen. Som det ser ut idag fungerar EWS med KDE Kontact, men verkar ännu inte rekommenderas; manuell felsökning är ibland nödvändig.

grommunio Exchange Web Services: Kontact
KDE Kontact levereras också med en installationsguide, men den misslyckas (från och med april 2024) med att autodetektera EWS URL och kommer att orsaka felmeddelanden.

Själva installationen är mycket snabb: klicka bara på knappen för att lägga till ett nytt konto. Klicka på “Setup | Accounts | Add | Custom Mailbox” och välj posten “Microsoft Exchange Server (EWS)”, så kommer du att presenteras med en installationsguide som liknar den för Evolution.

I teorin verkar gruppvaruklienterna med öppen källkod ha ganska liknande funktioner: Oauth, NTLMv2, med eller utan domän, användaren kan välja många användbara inställningar. Det här fungerar oftast direkt, men Kontact misslyckas (åtminstone med grommunio) med att automatiskt upptäcka serverns URL. Det är nödvändigt att ange den manuellt för att njuta av EWS med KDE på Linux-skrivbordet - med vissa nackdelar och felmeddelanden. Grommunio-utvecklarna undersöker fortfarande de exakta orsakerna till detta, i testet var vi helt enkelt tvungna att ange URL: en “https://$SERVERNAME/EWS/Exchange.asmx” manuellt ($SERVERNAME ersattes naturligtvis av den ansvariga e-postservern) och avaktivera NTLMv2-autentisering.

Här är de steg som krävs för Kontact med grommunio:

  • Öppna inställningsdialogen genom att klicka på “Settings | Set up Kmail” i Kontacts huvudmeny. Välj fliken “Konton | Mottagning” och klicka på “Lägg till | Anpassad brevlåda”.
  • Tilldela ett namn och ange en e-postadress, avmarkera “Domän”
  • Ange användarnamn (identiskt med e-postadressen) och lösenord
  • Avaktivera kryssrutan “Automatic detection of the server” för grommunio och ange följande värde som “EWS URL”: “https://$SERVERNAME/EWS/Exchange.asmx”. Ersätt $SERVERNAME med din e-postservers FQDN.
  • Klicka på “Test Connection”. Om inget felmeddelande visas kan du fortsätta med “Execute” och slutföra konfigurationen med “OK”. När du har aktiverat kryssrutorna i kalendern och adressboken kommer Exchange-data (eller data från grommunio eller MS365) att vara tillgängliga för dig så snart du uppdaterar din e-post. Precis som med Evolution erbjuder de andra flikarna i inställningsdialogen omfattande möjligheter till finjusteringar. Men försiktighet är att rekommendera.

grommunio hjälper till med felsökning

Särskilt irriterande i testet var ett fel i EWS-pluginet, som verkade sätta testsystemet under en onödigt hög belastning: felmeddelandet “org.kde.pim.ews.client: Failed to read EWS request - expected GetEventsResponseMessage element” dök upp i Linux-klientens meddelandedagbok två gånger per sekund, vilket tyder på att KDE-pluginprogrammet fortfarande använder “GetEvents”, medan de andra klienterna nu använder det fungerande “GetStreamingEvents”. Tillfälliga krascher kunde också observeras.

Men grommunio kan också hjälpa till här: Transparensen och adminvänligheten i dess programvara med öppen källkod gör det möjligt att titta närmare på programmen. Om du aktiverar felsökning av EWS på servern ger grommunios admin-webbfrontend detaljerad information om klientförfrågningar - en användbar funktion inte bara när du ansluter Linux-gruppvaruprogram som inte stöds, utan även bortom Exchange Web Services.

grommunio Exchange Web Services: grommunio-server-log

Serverloggen visar de felaktiga förfrågningarna från Kontacts EWS-klient.

Om du själv vill spåra felet kan du ställa in “http_log_level” i grommunios konfigurationsfil “/etc/gromox/http.cfg” till värdet 7 och parametrarna ews_request_logging=2 och ews_response_logging=2 i “/etc/gromox/ews.cfg”. grommox loggar då alla EWS-förfrågningar och svar fullständigt i gromox-http-loggen. Observera följande: Dessa inställningar bör inte behållas i produktiv drift, eftersom de kan generera stora mängder loggdata.

grommunio Exchange Web Services: Felsökning
Felsökningsinställningarna för EWS-trafiken på grommunio-servern bör kommenteras bort under drift.

Slutsats: Evolution ja, Kontact nej, Thunderbird snart

De fullt integrerade EWS-tjänsterna som nu är aktiva som standard i grommunio är inte bara intressanta för Apple-klienter. Microsoft har hållit sitt löfte om att tillåta alla klienter, och grommunio och hela open source-världen drar också nytta av detta. Men med grommunio finns nu den första fullt fungerande groupware-servern med öppen källkod med Exchange Web Services tillgänglig, många kunder använder den redan och tack vare öppen källkods transparens och spårbarhet och de många inställningsmöjligheterna kan grommunio också hjälpa till i fall där Exchange-administratörer lämnas åt sitt öde. Med grommunio kan du administrera din Exchange-ersättning från en Linux-kommandorad, i klartextfiler, med ett överflöd av felsökningsinformation och - om du vill, kan, behöver - anpassa källkoden till dina behov.