2009-02-11
Zimbra - Updatera feeds / Update Feeds
(English below)
Svenska:
Jag kör ju Zimbra som mailserver, och en finess är att man kan skapa mappar som läser rss-feeds. Kruxet är dock att det inte finns någon automatisk uppdatering av de här "rss-mapparna" utan tanken är att man ska göra det själv. Vad gör man då? Jo, man löser problemet :) Ramlade på en lösning i Zimbras forum, genom att köra zmmailbox med lite parametrar så kan man uppdatera en utvald mapp hos en viss användare. Jag har byggt på det lite.. :)
Jag har knackat ihop en windows service som via ssh ansluter till en Zimbraserver, loggar in med valfritt konto och lösenord, kör ev. "su" om det behövs för att köra som användare "zimbra", och kör sedan zmmailbox på de mappar det behöver köras på. Man kan lägga upp flera mappar och konton, med olika intervall, tjänsten ser själv till att köra dem med rätt intervall. Vid ev. exceptions och liknande så ska det i teorin loggas i eventloggen, men jag rekommenderar nog att man ändrar inställningarna för tjänsten så den startar om sig ifall den dör av okänd anledning.
Efter man installerat tjänsten måste man konfigurera den, titta i Onkelborg.Zimbra.Feeds.Sync.exe.config, och ändra det som är lämpligt. Konton och mappar lägger man upp under "ZimbraAccountFolders" genom att lägga till MINUTER;anv@ända.re;/min/mapp . Den som redan är inlagd går självklart jättebra att ta bort ;) Glöm inte bort att starta/starta om tjänsten efter ändringar i config-filen!
Tjänsten är skriven i C# för .NET Framework 3.5 SP1, även om det mest troligtvis går jättebra att köra med .NET Framework 2.0, men jag har inte testat det. Koden använder sig av Granados för SSH.
Det finns tre alternativ för nedladdning, samtliga med källkod:
- Installationspaket (msi-fil)
- Installationspaket med boostrapper (exe + msi-fil, i rar-format)
- Hela projektet, inklusive installationsprogram. För Vistual Studio 2008 (rar-format)
English:
I'm using Zimbra as my mailserver, and a pretty nifty feature is that you can create folders that are able to read rss-feeds. Of course, it's not perfect; there so automatic update of these folders, you are expected to update them manually. What to do? Since I'm a programmer I solve the problem :) I stumbled upon a solution in Zimbra forums, by running zmmailbox with some parameters you can update a selected folder for an account. I've built some stuff upon that.. :)
I''ve built a windows service that's able to ssh into the zimbraserver, log on with a username and password, execute "su" if needed to run as the user "zimbra", and then execute zmmailbox on the folders that's about to be updated. It's possible to add multiple folders and accounts, with different intervals, the service will take care of updating them with the proper interval. In case of exceptions, the service should (in theory) log them to the eventviewer, although not tested. I recommend changing the settings for the service to automatically restart it in case the service unexpectedly dies.
After installing the service you have to configure it, take a look in the Onkelborg.Zimbra.Feeds.Sync.exe.config file, edit what's needed. To add accounts and folders, find the "ZimbraAccountFolders" and add new -entries there. The syntax is MINUTES;user@na.me;/my/folder . Feel free to remove the entry already added ;) Don't forget to start/restart the service after editing the config!
The service is written in C# for .NET Framework 3.5 SP1, however, it might work well with .NET Framework 2.0, but I haven't tested that. The code relies on Granados for SSH.
There are three options for downloading, everyone with sourcecode:
- Setup (msi-file)
- Setup with boostrapper (exe + msi-file, rar-format)
- The whole project, including setup. For Vistual Studio 2008 (rar-format)
Etiketter: Dator, Mail, Programmering, Projekt
