I've written before about my outgoing mail problems with my BlackBerry.
I'm finally narrowing it down. Now, I'm not sure how much is the BlackBerry service and how much is the Funambol client.
I know how my BlackBerry gets mail. It's nothing special - it goes out and grabs it every 3 minutes from my IMAP server.
Sending mail has been a bit more of a mystery...
When I first create my account on blackberry.com, it works fine. Within a few days when sending an e-mail I'll get "Invalid message from server". If I choose the message again and hit "resend" it goes fine.
Since I run my own Cyrus IMAP server with eGroupware I started checking my logs and playing with tcpdump to diagnose the problem. I found something rather interesting.
Mail logs when the message sends properly would show a login from some blackberry.com server.
Mail logs when the message failed would show a login... from LOCALHOST.
This is a near perfect solution. I run an Asterisk Vo/IP system for my office, and eGroupware with Cyrus for our mail system. We migrated from Microsoft Exchange some time ago and I've never looked back.
With eGroupware, we were able to replace 99% of the functionality of our Microsoft Exchange server with open source software. With sieve filters users can set up an unlimited number of server-side mail filters, something you can't do with Exchange anymore, and the web interface works much better with Firefox than Microsoft's web access. Our Asterisk phone system integrates into the mix and will deliver voicemail to the user's e-mail box.
Now, with my Blackberry I can download and play those voicemails without ever having to dial into the phone system, because they are wav files attached to e-mail that is picked up by my Blackberry. I'm feeling so "connected" right now it's not even funny :-)
Today I took the plunge. US Cellular finally stepped up to the plate and apologized for pissing me off, so I went ahead and replaced my crappy RAZR with a Blackberry 8830.
I then promptly installed the Funambol Sync Client on it, and configured it to sync my calendar and contacts with my eGroupware server. Amazingly, it was very easy to do.
The Blackberry is definitely a different experience. It's going to take some getting used to. Too bad my Nokia n800 refuses to transfer files to it. I guess I'll need to get my ringtones over another way.
I found eGroupWare sieve filters with Cyrus a little bit confusing.
It took me a while to figure out what was going on, but a little poking around inside the /etc/sieve tree finally shed some light on the subject.Initially I had set myself up as a Cyrus administrator. I thought 'hey, I'm an admin, let's make it easy to admin things.' My first notice that things were strange had to do with the way new folders in my e-mail worked. I couldn't put my finger on it, but I kept having strange things happen.
Then, just now I realized that when I removed admin from myself, all my sieve scripts disappeared from eGroupWare. It turned out that as an admin, every filter I created was GLOBALLY installed on the server and affected every e-mail account. I'm pretty sure that others don't want me sorting their mail into my boxes for them.
I had to set myself back as admin, delete my filters, then remove my admin again. This allowed me to then create filters that ended up in the proper location. All filters I created as admin went into /etc/sieve/global/ instead of /etc/sieve/t/tony/
There's a nice tidbit of documentation they don't mention. Moral of the story? Don't set your own account as a Cyrus admin.
Some of you may recall my excitement when I found eGroupWare.

I just finished migrating our entire company off of Microsoft Exchange and onto Cyrus IMAP with eGroupWare.
Yeah. I did it. You always wished you did, but I actually did it.
eGroupWare seems to be a very mature product. It still lacks some polish you might expect of a $500 or more groupware server, but considering I was looking for FREE, you can't beat it. I'm using the Ubuntu 7.04 packages.The hardest part of the entire conversion was configuring Cyrus IMAP server the way I needed. The configs for Cyrus are still pretty detailed and cryptic so there was a bit of trial and error on my part. I went with Cyrus because I wanted to give the user's server-side mail filters using sieve. I also went for broke and used my NIS server to authenticate user accounts. Yes, I know, the wave of the future is using LDAP, but I already had the NIS server in place and my NFS shares authenticate with it.