Iteam
GitHub

SignalR + MailGun för realtidsfeed av inkommande mail

I C# finns det ett utmärkt bibliotek för att skapa en realtidskommunikation mellan klient och server via WebSockets (med fallback till andra tekniker). Biblioteket heter SignalR och här kommer en liten redogörelse för ett proof of concept vi har gjort där vi kombinerar detta bibliotek med MailGun som är en grym molntjänst för att ta emot email till en applikation.

DEMO: För att testa proof of concept går du till:

http://mailfeed-1.apphb.com/mail (Pröva att skicka ett mail till info@mailfeed.mailgun.org och se hur mailet magiskt kommer upp på skärmen.)

Detta kan vara utmärkt för många saker, bland annat om man ska bygga en omröstningsfunktion, kontrollera mailadresser med aktiveringskod osv osv.

Nedan hittar du ett utdrag från de viktigaste delarna i koden (som du hittar i sin helhet på GitHub: https://github.com/irony/Mailfeed)

Först sätter vi upp en MVC route för att ta emot mailet från MailGun

För att överföra mellan olika delar i systemet använder vi en statisk IObservable

Sen lyssnar vi på förändringar i denna och synkar till anslutna klienter

Observera att vi i Add metoden anropar en klientfunktion (!):

Sen tar vi emot all kommunikation på klientsidan:

Här deklareras metoden ”updateInbox” som vi ovan anropar från servern:

Christian Landgren
2013-03-04