Nokia E6 Symbian Anna IMAP with push mail

Nokia Symbian based phones have a terrible IMAP support. If you have IMAP server of your own, you only have two options

  • Use “Nokia Messaging” which means you receive your emails via Nokia servers (similar to blackberry) and it’d not be your phone but nokia servers which would connect to your IMAP server and push mails to your phone. This works better, but then you’re giving your details to Nokia, and could be a privacy issue for some.
  • Use the in-built IMAP client. This would mean you don’t have a ‘push’ email, but a check interval of 5 minutes. Not awesome.

Following is one more way to set to use IMAP via the Nokia Mail for Exchange client, and you don’t need to have any Microsoft Exchange setup.

 

Concept

  1. You need to be running an IMAP server.
  2. There’s an open source PHP based software called “z-push” which allows activesync connectivity and has IMAP backend, which means you can use it to ‘sync’ your phones using the Nokia Mail for Exchange client.
  3. You need Apache web server with php5 and php5-imap support where z-push would be setup.
  4. You download and configure z-push.
  5. You configure your phone settings, and then use Nokia Mfe client to connect to your IMAP server and thus have “push” functionality.

 

Assumptions

  1. An IMAP server is running with SSL support with self-signed certificates (I used dovecot), which has usernames as ‘user@domain.com‘ format.
  2. You have Apache with PHP5 and php-imap support. On ubuntu/debian you can install it using apt-get install php5-imap.
  3. Nokia Mail For Exchange supports only a single account on a phone. So if you have multiple email accounts to be synced, bad luck.
  4. It was tested on a Nokia E6 running Symbian Anna. Your setup may vary or could be different.

 

Server side setup

  1. Download z-push from Source Forge http://z-push.sf.net ; I used version z-push-1.5.4RC-705.tar.gz.
  2. Extract it in a suitable location, for example, /var/www/z-push
  3. You can refer to the INSTALL document too for more information inside the z-push extracted files.
  4. Make the ‘state’ directory web server user writable. So do chown www-data.www-data state or chmod 777 state.
  5. Configure z-push. We will modify the following
    $BACKEND_PROVIDER = "BackendIMAP";
    
    // ************************
    //  BackendIMAP settings
    // ************************
    
    define('IMAP_SERVER', 'localhost');
    define('IMAP_PORT', 993);
    define('IMAP_OPTIONS', '/ssl/novalidate-cert');
    define('IMAP_DEFAULTFROM', 'domain');
    define('IMAP_SENTFOLDER', 'Sent');
    define('IMAP_USE_IMAPMAIL', false);
  6. So that the “Sender Name” when sending out email works well, there’s a IMAP_DEFAULTFROM setting, which didn’t work too well in my case, so I modified the backend file to display the “Sender’s Name” correctly in the format Firstname Lastname <user@domain.com>. The following changes were done in backend/imap.php
    # Added the following lines in the section below
    # $v = "$this->_domain <$this->_username>";
    # $envelopefrom = "-f$this->_username";
    
                if ($k == "from") {
                    if (trim($v)) {
                        $changedfrom = true;
                        $v = "$this->_domain <$this->_username>";
                        $envelopefrom = "-f$this->_username";
                    } elseif (! trim($v) && IMAP_DEFAULTFROM) {
  7. In Apache configuration, I have SSL setup. So in the configuration file for the SSL, I specified an alias as under
            Alias /Microsoft-Server-ActiveSync "/var/www/z-push/index.php"
  8. Restart Apache and your z-push is ready.

 

Client side/phone setup

  1. Now that the server side setup is ready, we’ll configure the phone.
  2. You can enter the settings as per the requirements while configuring the Mail For Exchange client.
  3. The “domain” would be your full name (as you wish to display when you send someone an email).
  4. That’s all. Sync it and you’re ready to go!

 

Troubleshooting

  1. To enable debug logs, create a file debug.txt in the z-push directory and assign it web server user writeable privileges. For example:
    cd /var/www/z-push
    touch debug.txt
    chown www-data.www-data debug.txt # or; chmod 777 debug.txt
  2. You may want to experiment with the IMAP_OPTIONS by referring to http://php.net/imap_open
  3. Your ‘Sent’ items folder could be different. You may want to keep it blank (the default).
About these ads

15 thoughts on “Nokia E6 Symbian Anna IMAP with push mail

  1. Thanks for pointing out z-push! I am now using it together with VPN on the e72 and it works well apart from displaying “cannot sync” from time to time (but it does sync).

  2. Glad it worked. I also received ‘cannot sync’ message initially, but I guess that was primarily related to Internet connectivity with the phone and server. I haven’t seen ‘cannot sync’ recently though I keep on changing between 3g and Wifi quite frequently. Maybe it’s due to the VPN.

  3. Thanks for the info! So the bug that causes the IMAP IDLE to not work in the builin client is still not fixed in Nokia E6?

    From what I read, the client does officially support IDLE and users have verified that the client does send the right messages according to the protocol, BUT there’s a bug that causes the (lower level) connection to be closed. Since this bug was even mentioned on the wikipedia for ‘push email’, I thought by E6 Nokia would have fixed it… still no?

    If not, I guess, there will never be a nice Symbian phone with IMAP IDLE support, since there probably won’t be an E7…

  4. I found a simple workaround to setup an IMAP mail account on a Nokia E6. I setup a Hotmail account initially on the phone and then changed all the settings to those of my office’s IMAP email Server.

    I cannot understand why IMAP is not referred to in the E6 manual that I downloaded. I called Nokia support who were incapable of providing any help either. Nor is there any reference to a solution in the Nokia Forums. In the end I thought of trying the above which worked straight away.

    • What you’re referring to is in all probability going via Nokia Messaging. In that scenario IMAP would also work (the only issue that can crop up is if your organization uses self-signed certificates for IMAP – then it may not enable ‘Always on’ connection).

      The above howto pertained to those who didn’t want to go via the Nokia Messaging route.

  5. Nokia e6-00 | Telefon-Telefony

  6. Your blog seems to be quite informative.

    I have a E72 where MFE is not working, especially after our office server was upgraded to Exhange 10 SP2. The MFE mail box is getting configured but it is empty. There is no synchronisation happening inspite of doing it manually. Kindly guide me on how to restore MFE on my phone.

    • @Sanjay – It’s the regular MFE that you’re talking about with connectivity to Exchange Server. There’s a setting in Exchange I guess for ActiveSync. Maybe that needs to be enabled. I’ve no experience on Exchange, so won’t be able to help much here. Maybe you can uninstall the MFE client that you have and install it again and then try.

  7. Hello. And thank you for this tutorial!
    I am stucking with my E6-00 (belle). I’ve never believed that Nokia could did this to us. No push notify, no idle imap, no new message notification on notification bar, EVEN no other 3-rd party e-mail clients that can do this for us. And this is E-series, that mean business class. Even exchange account is not true push notify. Anyway … I am so disappointed from their software at all.

    Here is my question. I downloaded this package z-push (same version as yours) and did the changes as you described above, but can’t managed to bring this alive. I am getting error in the log file “Mapi server not availabla”. And I think it is because of this line in config.php:
    // BackendICS settings
    define(‘MAPI_SERVER’, ‘file:///var/run/zarafa’);
    And I assume that you have running zarafa also? Am I right?

    Anyway, I configured this similar project – https://github.com/gza/oczpush (require OwnCloud).
    And it … works. Well, on Nokia not very well :) but I have Android emulator on my VMware and works as expected!
    On my Nokia E6-00 I can sync contacts, calendar and emails with inbuild MfE. And, guess what :) I can’t write or reply messages. When I press button for new mail, or reply button, appears message “Unable to perform this operation” and this is it. I can receive msgs, but can’t reply to them or write new one! What an irony :) Nothing on the forums for this error. Anyway, I give up this e-mail stuff on my Nokia and probably will continue to use inbuild, time-based imap sync for a while, until buy some Android device.

  8. Tracking your Route through GPS – Getting Started – Vivek's blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s