Related
I am using mail2web free service to have my mail pushed to my WM5 device, but I don't like the idea of forwarding my private email to a company I don't know and I don't trust.
Normally I have my email at a home mail server running linux, and I was wondering if there's any open/free solution compatible with directpush technology to replace the need for an exchange 2003 server.
If it does not exist (i have been searching and couldn't find it), what is preventing someone of writing a free replacement? patent issues? authentication issues? I haven't sniffed the protocol yet, but I think it's impossible that no one has thought about it before... wouldn't you like to have your home imap server pushing your inbox to your PocketPC phone? If the protocol is not very obscure it should be easy to write a daemon that does it...
any thoughts or experiences?
Kerio Mail Server has the push compatibility.
Not free though, but it is an alternative to Exchange.
Their latest beta supports it. I reported a bug to them re: contacts getting corrupted but they say they fixed that in the latest build.
Can't retest now since that server is at another site I won't be visiting for a while.
Hmm the directpush "protocol" is pretty trivial it shouldn't be impossible to implement an open alternative.
I installed the latest Kerio MailServer yesterday. It works great!
Especially nice is that it runs on XP as well as Linux. Too bad about the price!
pof, have you had the chance to sniff the protocol?
not yet ivorh, been too busy with many other things, but this is still on the queue
sniffed
Heh, got bored so I setup an exchange account and sniffed the packets.
I'll go through them and post some details when I get a chance.
great ivorh!
Can you attach a capture in pcap format?
update and thoughts
Pof,
Hmm, ok a bit more thinking and digging and I'm not sure implementing an open alternative directly is that useful. Let me explain why:
The direct push only works with the outlook exchange active sync. When the device gets a "direct push" byte, it triggers a sync with exchange - the functionality is tightly bound together, and as far as I can tell you cant dip in and get it to do something else. So to get it working you would need a server providing the exchange http interface. This wouldn't be impossible but would need a lot of effort for little benefit.
I took a look at the open-exchange but that doesn't seem like an ideal solution since it would require a completely different server installed rather than IMAP or POP and as far as I can tell the Outlook connector isn't one of the open-source components anyway.
Now what I'm currently thinking would be a neat workaround would be to implement a custom "direct-push" to basically do exactly the same, have a client app on the device open an http connection to a server running, er, "OpenPush" if you like... use exactly the same technique of a keep-alive connection and occasional heartbeats, but on a message notification on the client get the client to trigger an IMAP pull.
Now this is where I need some advice.... I haven't done any Windows Mobile development yet, so can anyone tell me what sort of API is available to the messaging app? Can you/how do you trigger a mail pull? (oh someone please tell me it's not the same horrible old MAPI interface??).
PS I've just been capturing the data using a simple http proxy actually, I'll make some samples and upload them with descriptions.
Cheers,
Ivor.
http://www.ivor.it
Hi pof,
try funambol. It was formerly known as Sync4j. I once found it when I searched a complete sync solution that I could implement in the mailserver of my company. We are using kolab so I only tried the old Sync4j cause there is a kolab connector available for v2.3.
v3.0 implements (real) Push-Mail. Microsoft Active Push works with a http connection that is opened by the client. Funambol Push-Mail connects to a port the client opens. I didn't want to test any further cause I'm using a Wapflat and thus only get an internal IP and have to use a proxy.
http://www.funambol.com/opensource/
Perhaps this is what you are searching for
What I forgot to say: For funambol you install a java program on your phone wich will insert the received mails in your Pocket Outlook
Yay!
Pof,
Ha! Ok I've whipped up a version 0.0.0 of OpenPush. and it works rather nicely!
Basically it consists of two parts one is an app that runs on the mobile and operates in the same manner as DirectPush. It opens up a socket connection to the server and waits for a notification byte. If it recieves a byte it kicks off a mail retrieval.
The other is a daemon that runs on the server and watches for a change in the users mailbox if it changes (i.e. a mail has arrived) then it pops a byte down the socket.
It just needs finishing now...
Currently the daemon is just an app that listens on a dedicated socket. I plan on turning it into a mod_perl module and using http keep-alive in the same fashion as directpush.
Regards,
Ivor
ivorh, that sounds cool!!
I had a look at funambol but seems too 'bloated' for my needs, I think your OpenPush will be more tight to what I was looking for, so if you want a beta tester just send a link to it
Is there any specific server configuration? I am running a Gentoo server with courier-imap, sendmail and apache2.
Any chance you could extend the daemon so other programs can tie into your new-item notification? It would be cool to write a program that can keep files synchronized over-the-air with a desktop machine using push sychronization.
Pof,
Yeah it's just a prototype at the moment. So I need to write it properly next. At the moment the requirements are simply "perl". It's independent of mail system, it simply monitors a directory/file you give it for changes.
I'm going to write it to be a mod_perl module for various reasons, so the requirements will be just apache and mod_perl.
I'll hack some more tonight and try and get a 0.0.1 ready.
aatreya,
Well I'll keep it simple for now and just doing one job well.
Sound interesting to me.
I am new to this. Pardon me for some questions.
Do I need to buy a server at home?
This server can be any OS?
I am really happy to see some people trying to do just about the same I intended to. Today I started experimenting with Open-Xchange. I also have a Gentoo server that provides an ebuild for Open-Xchange, but after a bit of browsing it just seems like the thing MS Exchange and OX have in common is the similarity of their names. So installing OX and doing all the Exchange stuff with it does not seem to be an option.
So I looked into Funambol - sort of again. About a year ago I already tried to get Sync4J running to sync my SyncML phone. I did not succeed, but that just makes me eager to try it harder this time.
I also have to use a Proxy-Server for my GPRS connection but I want to have it working via WLAN, too, hence without proxy and the whole tunneling disco.
PS: Ivor, I am glad to meet You once again. When our roads crossed the last time, You just figured out how to get the CLE266 MPEG2 stuff working, respect!
A very rough pre-alpha version should be ready this weekend. I can only apologise in advance for the quality of my WM5 app!
But it's "working for me".
CWKJ,
At the moment the "server" is a simply perl app that watches for changes to a directory or file so its pretty portable. I run it on linux since that's what my mailserver is on.
As for needing a server at home... well its entirely up to you, really you want the server running wherever your mail is retrieved from.
If the app/system gets a bit more polished and advanced you might even find independent ISP's willing to add it as a service.
rabinath,
Heh! Small world.
I'd also like to be considered for Beta testing when available,
I run Ubuntu 5.10 Server at home, hosting 5 domains for myself, and would Love to not have to forward them through mail2web anymore as I don't like to reply because it will go through Mail2Web. I know I can create a separate "account" in Pocket Outlook but you can only have 5. I need more than that...
with direct push over the o2 wap proxy all https conections are closed after 2 min. this is becausse all 2 minutes a new sync is needed. This eats much battery. So why is it nnot possible to mak e a ppc client that just sends the current ip adsress to the client on the server. and the server just push the email to the known ip adress. The client on ppc just has to send a new ip in case it changes. this wouldt be much better for battery life.
Thats the reason Exchange-Activesync works the way that it does. The server sends out a text message that is handled at the system level on the PPC, and this is basically an instruction to sync with the server. No unneeded traffic just to check if there is anything new.
Most Celllar service providers are using NAT technology so reporting your IP address to a server and telling it to make a connection to that IP, would just be telling the server to connect to the "gateway" back into the Cellular network. A text message sent to what is called the "SMTP Gateway" for each service provider will get to the phone no matter if the phones IP changes.
For all who'd like to have real pushmail on the SB X01HT without doing Blackberry, there's an interesting free solution. Provided that you have a PC running consistantly somewhere, check out www.emoze.com. They provide client a client for the PC as well ast the X01HT (I use the HTC TyTN version...).
The way it woks is that whenver a mail arrives at your PC, emoze syncs it to their servers and pushes it back to the X01HT. The mobile client is configurable, so you can be always on (real push) or sync at regular intervals.
Works great on corporate domain accounts behind firewalls as well... only issue I see is that the X01HT get's pretty slow if you are running 'always-on' on a WIFI connection...
imap
dandare123 said:
For all who'd like to have real pushmail on the SB X01HT without doing Blackberry, there's an interesting free solution. Provided that you have a PC running consistantly somewhere, check out www.emoze.com. They provide client a client for the PC as well ast the X01HT (I use the HTC TyTN version...).
The way it woks is that whenver a mail arrives at your PC, emoze syncs it to their servers and pushes it back to the X01HT. The mobile client is configurable, so you can be always on (real push) or sync at regular intervals.
Works great on corporate domain accounts behind firewalls as well... only issue I see is that the X01HT get's pretty slow if you are running 'always-on' on a WIFI connection...
Click to expand...
Click to collapse
isnt imap push ? i mean the mail arrives within 10 seconds.
I just want to document my ideal e-mail solution as I just got everything working perfectly on my Softbank X01HT.
I have my own e-mail address on rented server space
[email protected]
This is my "real" e-mail address. All mail here is forwarded to a gmail account:
[email protected]
where it is filtered for spam, THEN forwarded to a mail2web.com Personal Exchange account.
[email protected]
mail2web.com exchange account can synch in realtime with your phone, (i.e. true PUSH mail. Maybe the free one can do this too, BUT with a paid-for personal account you can also set the FROM: field to a specific e-mail address. In my case, I set it to [email protected]!
So if you send me an e-mail to [email protected] it is checked for spam then sent to mail2web who then PUSH it onto my phone instantly.
and if I send an e-mail from my phone, the From: field just says [email protected]. The receiving party need never know it went through mail2web.com
I highly recommend this solution, the cost is less than $0.65 per month!
What is the cost for?
sorry I missed this. mail2web charges a small fee for the privilege of setting the "From" address to something other than mail2web.com . Otherwise it's free.
Could I change it to my GMail address?
yes. You can change it to whatever you like as long as you can validate that you have access to that address (you ahve to fill in a code which they e-mail to you)
Hello,
I'm having a stupid issue with the Messaging application. My mailserver is an IMAP server, but the root folder for emails is "~/mail/". The application however doesn't allow my to set the server mail folder. Is there a registry entry for this?
Currently, it hangs on the send/receive action...
For a different mail server (where the mailroot has the default value), the messaging client works ok (with VPN, etc.).
edit: I can circumvent the folder issue as the server still supports POP3, but I would like IMAP to access additional folders...
I tried using QMail, but ran into a lot of issues, causing me to give up on it. The last issue is that it downloads the mail headers, but never the mail bodies (if I choose a mail, it just ignores my choice and refreshes the folder). It also doesn't keep the VPN connection (which I need when I connect to the server over WIFI) alive; after one minute the VPN connection is closed and QMail says it lost connection (actually, it says nothing, it just doesn't do anything anymore).
Thanks!
Jörg
Hello everyone!
As you can see by my profile, I'm a rather new member of the XDA-Dev community, and also a new owner of an HTC Tytn. I love it.
I also love open sourced or at least free software.
My problem is: I'd love to have push based e-mail feeding off of my plain old IMAP and/or POP account hosted wherever.
Of the two IMAP IDLE capable clients on WM6 (I'm using LVSW) both feel like a piece of **** along with an attached price tag. One of them was also last updated in early 2006.
I've been looking at WM Outlook and Exchange syncing. I'm thinking about implementing some sort of an interface that would provide Outlook style ActiveSync front end (hey, it's just WebDAV) to a simple IMAP/POP3 account in the background.
I'll probably start working on this just for the kicks anyway, but... would anyone else be interested in seeing/using something like this?
ivanstojic said:
Hello everyone!
As you can see by my profile, I'm a rather new member of the XDA-Dev community, and also a new owner of an HTC Tytn. I love it.
............
I'll probably start working on this just for the kicks anyway, but... would anyone else be interested in seeing/using something like this?
Click to expand...
Click to collapse
There is software called emoze. This relies on your desktop & outlook downloading the email then Emoze sends the data to you PDA over the cell network.
The way i think that would be good is you would need a software client running on your desktop that polls your POP3 server for new headers. When it gets one it sends your PDA a token telling it to go and d/l its pop.
Im thinking of writing one cause i want it to detect if its cradled. I only want my e-mails forwarded to my phone when its not cradeled.
Just some thoughts. But if its in c# ill be happy to try help where i can.
Shaun33 said:
There is software called emoze. This relies on your desktop & outlook downloading the email then Emoze sends the data to you PDA over the cell network.
Click to expand...
Click to collapse
First off, I'd like to avoid the whole using-the-desktop thing. The mails are accessible on the server, and can stay there until your desktop client picks them up. Ideally, you would use IMAP and just leave the mail on the server as long as you need it, thus having it both accessible from your desktop and your mobile client.
The approach I'm thinking of would emulate an Exchange server. You would configure this server the same way you configure outlook syncing with a real Exchange server on your phone - thus eliminating any need for development or hacking on the client side. Everyone would just be using their default messaging client installed on WM.
ivanstojic said:
First off, I'd like to avoid the whole using-the-desktop thing. The mails are accessible on the server, and can stay there until your desktop client picks them up. Ideally, you would use IMAP and just leave the mail on the server as long as you need it, thus having it both accessible from your desktop and your mobile client.
The approach I'm thinking of would emulate an Exchange server. You would configure this server the same way you configure outlook syncing with a real Exchange server on your phone - thus eliminating any need for development or hacking on the client side. Everyone would just be using their default messaging client installed on WM.
Click to expand...
Click to collapse
So from My understanding this is what we got.
Code:
~ Project ~
CLIENT | HACK'D | <-----> IMAP
A/Sync <---> | Server |
WM6 | APP We Write | <-----> POP3
That should be possible but the reason that your able to recieve it in two places is because the exchnage server is the mailbox essintally. And your desktop account is also attached to the exchange server(someone jump in if im wrong) this means that it knows when something is deleted on your desktop.
So we would have to emulate both the Device and Desktop exchange server functions.
Other way is to just put a wrapper around a popserver. So it will only send the emails to the desktop once, then keep the e-mails for the device.
eg
Code:
****Check POP3/IMAP server every x mins
New Email
D/L and Store
Ping PPC Client
PPC Downloads
Flaged as PPC received
Desktop POP3 checks pop wrapper
Because the exchange server has the builtin pop client you will never be able to get true e-mail unless you create a pop3/imap server that has the PPC ping functionality built into it, you will always have the **** step.
Just some thoughts ...
ivanstojic said:
First off, I'd like to avoid the whole using-the-desktop thing. The mails are accessible on the server, and can stay there until your desktop client picks them up. Ideally, you would use IMAP and just leave the mail on the server as long as you need it, thus having it both accessible from your desktop and your mobile client.
The approach I'm thinking of would emulate an Exchange server. You would configure this server the same way you configure outlook syncing with a real Exchange server on your phone - thus eliminating any need for development or hacking on the client side. Everyone would just be using their default messaging client installed on WM.
Click to expand...
Click to collapse
you dont need to 'hack' anything... is you look at the Microsoft Exchange 2007 SDK you can write your own libraries that get called on incoming mail etc... no hacking required... how do you think Blackberry Enterirpse Server and Goodlink Server work??
The whole idea is that I want nothing to do with Exchange in the software, except to emulate it's ActiveSync features and push e-mail. No SDK, no libraries, nada.
I don't have any problems polling the POP3 server every few minutes. With IMAP it's much easier considering that a lot of IMAP servers support IDLE.
Basically, the architecture would be exactly what Shaun33 described/drew in his post.
ivanstojic said:
The whole idea is that I want nothing to do with Exchange in the software, except to emulate it's ActiveSync features and push e-mail. No SDK, no libraries, nada.
I don't have any problems polling the POP3 server every few minutes. With IMAP it's much easier considering that a lot of IMAP servers support IDLE.
Basically, the architecture would be exactly what Shaun33 described/drew in his post.
Click to expand...
Click to collapse
Ok best idea is if you have the time.
1. Install Exxhange server and pair your PPC to it.
2. User packet monitoring software such as ethereal to monitor the data going back between the server and the client the best fun is going to be the fact that is SSL. But there is an option to disable the SSL then you monitor port 80.
If you post a capture file i would be willing to look into helping you develop it.
Shaun33 said:
Ok best idea is if you have the time.
1. Install Exxhange server and pair your PPC to it.
2. User packet monitoring software such as ethereal to monitor the data going back between the server and the client the best fun is going to be the fact that is SSL. But there is an option to disable the SSL then you monitor port 80.
If you post a capture file i would be willing to look into helping you develop it.
Click to expand...
Click to collapse
Ethereal isn't called Ethereal any more, you do know that? It's been known as Wireshark for a while now. Anyway, the protocol is (almost) standard WebDAV protocol with some strange extensions.
I'm working on getting clean dumps of various bits of functionality. Will report soon!
hi guys,
i got to know about one website which is provide push mail for pop3 account for free, i tested it on JASJAR and its working fine, you can try it here www.consilient.com may be it would be helpfull...
This certainly sounds interesting to me! Do you still think it is doable?
Sounds cool - like you said, it's all webdav oriented, and from IIS logs, getting the content is fairly easy to construct. You won't have to worry about matching up device IDs, etc, so you can ignore that and concentrate on the username with what verbs are being used (foldersync, sync, getestimate, etc)
One thing may get you is the initial connection - after configuring, it will check to see if theres a policy to set on the device after checking the user, not sure how activesync on the device will handle it if it can't get to that.
I always think its funny that MS decided to call this "push" technology, when its just the device constantly polling (probably just an xml change file, i seem to remember something like that)
Anyway, good luck
I have a Tilt with WM 6.1. After a hard reset I had to set up my ActiveSync again through my company's MS Exchange 2007.
It syncs and incoming email is fine. However, outgoing email just sits and will not go out. If I manually hit send/receive it puts the email in the Drafts folder.
I am also wondering if I should set up a separate proxy server for work or just keep the GPRS connection for syncing?
Thanbks