A Java mobile email client for all
Table of Contents
- Stable version - MIDP 2.0 profile or higher.
- Previous version - MIDP 1.0 profile or higher.
- Fast and optimized for hardware contrains of mobile phones and other mobile devices.
- Operations are multithreaded. That means you can send mails, retrieve mails from multiple mailboxes and change settings simultaneously.
- mail threading (conversations) support
- Sending attachments from file system of mobile phone
- Works with attachments.Send attachments from file system, saves attachments into file system of mobile phone.
- Search in downloaded mails.
- Uses RMS to store mails persistenly on the device, it means you don't have to connect to server in order to read old mails, which saves you money.
- It can download only the headers for your emails, meaning that you only need to download full messages/attachments if you want to read/view them.
This will save you time checking your email and money on your data transfer charges.
- Minimal round-trips time while retrieving or sending emails, that means fast communication with email servers.
- Can use a queue for outgoing mails for faster batch mail sending, which uses less bandwith and again saves money.
- Automatic new mail checking and downloading at a given time period.
- Addressbook with inteligent T9-like contacts searching, and Auto-adding new contacts.
- Easy and intuitive Hot-keys (shortcuts) system.
- Mails are logically divided into folders(inbox, outbox, drafts..) and mails' states are displayed by various icons(read, unread, replied..).
- Mails in folders can be sorted by various criterias.
- Easy mail accounts managements. Unlimited mail accounts.
- Supports basic mail attachments like *.png, *.jpg, *.gif images.
- IMAP4, POP3, SMTP, SSL supported.
- Many things other programs consider as a feature but we don't (support of IMAP4 folders, can download only structure of a mail, it's first xx lines..).
- No registration. No connection to mediatory server to store or process your mails like some other programs do, that means speed and privacy.
- Always Free and open-source! If you want to join the project, don't hesitate to write us! ;)
mujMail User documentation
o Send all
Before installing MujMail to your mobile phone make sure that your device supports Java Micro Edition MIDP 2.0 technology. To get this information please refer to user manual provided with the device or contact your phone's service support.
There are many ways how to install the application. You can do it with a computer via Bluetooth or Data cable. Or you can download it directly to your mobile by the "over the air" way - point your phone's browser to this address: www.mujmal.org/jar/current/stable/en/mujmail.jad. After the connection between your phone and our server is established, follow the instructions on the screen of your mobile phone.
First of all, you will need to set up your email accounts. Go to the Accounts Tab, press "New account" and fill in needed information. If you do not know such information about your email account, you can find it easily from the Help section of the website of your mailbox.
Note: IMAP4 accounts support many mailboxes. You can define which mailboxes you want to use by entering their names separated by commas.
Please don't forget to activate/enable POP3 or IMAP access to your mailbox at the website of your mailbox!
· The most important actions can be accessed by shortcuts. All menu tabs and items are numbered in order to be invoked by a specific sequence of key strokes. A tab in the menu can be selected by pressing "*"+"number_of_the tab" and an item is selected by pressing "#"+"number_of_the_item". Numbers of tabs are displayed by pressing the "*" key, and numbers of items are displayed by "#" i.e. if a user wants to call the third item of the second tab, then it is necessary to write four letters: * 2 # 3.
· In the addressbook, * key stands for backspace (deletes a character), # – for numlock (inputs only numbers).
· When you read mails pressing key '7' will change font’s size.
· In mail folders (InBox, OutBox, ...) keys * and # behave like Page Up and Page Down keys, respectively. '1' marks a mail as un-/deleted.
· When you're in the InBox and you press the '3' key you will mark a mail as un/read.
· When you're in the Trash and you press the '3' key you will mark a mail as to be restored.
Action tab contains the most common commands concerning mail manipulation. Its shortcut is "*" + "1".
It is the most important folder that serves to store and display retrieved emails from all email accounts. Messages in this folder are threaded according to their relevance. In the menu, the numbers in brackets mean “number of unread mails / all mails” in the Inbox. Inbox displays a list of emails with brief header information in a two-line menu. On the left side of the first line, there are icons which indicate a status of an email:
· A new (unread) email.
· The email was read.
· The email was replied.
· The email is marked as deleted. This occurs when a user presses "Delete" command or "1" shortcut.
Note: the email is marked as deleted, but it is not physically deleted from the storage until the "Delete now!" command is pressed.
· The email contains attachments.
· The email was marked as “Flagged”.
Note: when marking the mails from IMAP mailbox as “Flagged”, “Read”, “Replied” and “Deleted” the changes are propagated to the mailbox, meaning that the original of the mail at server is also marked with the same flag. This is not true for POP3 mailboxes as POP3 protocol does not support message flags.
Inbox has its own specific commands:
· Redownload - Useful feature, it redownloads the body of the selected email. And tries to repair the bodyparts that where not completely downloaded due to out of RAM exception or Database space, or were deleted.
· Retrieve mails – It retrieves mails from all the active mailboxes.
Viewing a mail:
The selected mail can be viewed by selecting View mail command or pressing Select button on mobile phone. In view mail mode the following actions can be performed:
· Delete/Undelete – mark the mail deleted, respectively, undeleted.
· Header details – shows the mail’s header details: “From”, “Recipients”, “Subject”, “Time”, “Bodyparts”, “Size” fields.
· Bodyparts – lists the mail part and attachments of the message. Several operations can be performed in Bodyparts window, such as:
o Delete bodypart – deletes the given bodypart from the mail (the changes are performed only for mujMail);
o Redownload bodypart – tries to redownload the bodypart from the server;
o Display as text – displays the bodypart (even the ones in a binary format) as a text;
o Export to filesystem – exports the bodypart to filesystem of the mobile device;
o View converted – attempts to convert the bodypart to HTML format to display it (currently only PDF format is supported).
· Forward - allows the user to forward a selected email. Note: Currently only plain mails without attachments can be forwarded.
· Quoted reply - the same as Reply but it includes the original text of the replied email.
· Reply All - the same function as Reply, but it replies to all recipient of the mails, including Bcc and Cc.
· E-mail addresses – gives a user a possibility to save all the email addresses mentioned in this mail.
· Edit – opens mail for editing. It is possible to resend the mail afterwards.
· Export mail to filesystem – exports the mail to the filesystem of the mobile phone.
· Bounce – performs a bounce: sending the mail further without changes. Note: this command, actually opens Write a mail window, where user can choose to modify some parts of the mail before sending.
· Reply - creates a form to reply to the sender of the selected mail.
This command connects to all remote servers and downloads all unread emails from them.
It displays a form for sending emails.
The form can add contacts from the Addressbook by "Insert contact" command.
Note: you can insert a contact everywhere (to the body, subject, ...) but it's recommended to type in at least a space in the selected text field and then press "Insert contact" to get it working.
The user can also send a Bcc: or Cc: copies by pressing the "Add Bcc/Cc"
The user can send the same mail to many recipients by typing in emails address separated by the comma to the To:, Bcc: or Cc: fields.
The recipient may be also named like "someone" < email@example.com >.
You can also choose a mail account mail will be sent from, that means with which address you will be visible to recipients.
Simply edit the From: field or press the "Select sending account" button.
There are three modes for sending messages and corresponding commands are:
· Send now - sends the email immediately.
· Send later - saves the email to the Outbox folder for batch mails sending.
· Save - saves an email to the Drafts folder for later editing.
This command sends all emails stored in the Outbox at once, so called batch sending.
This command searches selected emails for a given search phrase. It is possible to search for several phrases using Add new search phrase command from menu. Each phrase can be searched as Required, which means, that the given phrase has to occur in selected parts of a mail. Setting all search phrases to Required will result in that they will be searched with AND condition, and if no phrase is selected as Required then the phrases will be searched with OR condition. Also, as indicated above, user can set the mail parts in which the given phrase should be present. Those mail parts are: “To”, “From”, “Subject”, “Body”.
Some additional options can be chosen from “Advanced settings” command in the menu.
In “Advanced settings” menu the following options can be chosen:
· Date interval – set a From: field if you want to search all mails not older than the given date; set a To: field if you want to find the mails not newer than the given date.
· Mailboxes to search in – here user can select mailboxes in which to look for selected phrases.
This command triggers an automatic checking for new mails in a given interval for POP3 accounts. This interval can be set in the Settings menu.
For IMAP accounts so-called IDLE capability is implemented which notifies mujMail whenever new mail arrives to server.
Disconnects from all the connected servers.
This command clears specified databases. It is recommended to use this command from time to time to release memory for new datas and to resolve problems as databases may get messed after long usage.
Note: Message-IDs cache is used to recognize which mails were downloaded to mujMail.
So even when you delete all mails from InBox, thanks to Message-IDs cache, mujMail can recognize that these mails were downloaded once and they will not be downloaded again.
So unless you know what you are doing, do not delete Message-IDs cache database!
This command synchronizes phone's inbox with servers' inboxes. That means that if any change were made on server (you deleted mails from server by a browser or by other clients, or new mails arrived) this change will be also made to phone's inbox.
And if some mails were marked to be deleted on the phone and the setting "Also delete emails from servers if I delete them from InBox" is set True, then those mails will be deleted from the phone and the servers as well.
Inactive email accounts are not affected by synchronization.
These extra folders serve to logically divide emails. Each folder has its own database to store emails persistently. Under the folder's name there is a value in brackets that indicates current amount of emails in the folder. If there is a star, it means that the folder is in a progress, so the amount of emails is yet undetermined.
Its shortcut is "*" + "2".
Each folder has these commands:
· Delete/Undelete – marks the message as Deleted in case it is not deleted and removes the Deleted mark otherwise.
· Delete now! - deletes all emails marked as deleted.
· Clear database - clears all mails in the folder.
· Sort - sorts all email headers by a chosen criteria.
· View mail - displays the email's body and attachments. This command can be invoked by the standard SELECT button of the mobile device.
This folder is used as a temporary queue of outgoing emails. Whenever the user presses the "Send later" command in the Send Mail form, the mail is stored to this folder. All emails in this folder will be sent after pressing "Send all" command which is either in Action menu tab, or is a command in this folder.
The emails in Outbox have an extra icon: That means an error occurred while sending the email.
This folder serves to store mails that where sent.
This folder serves as the storage for emails that should be edited or rewritten. There is one extra command "Edit" that does the job.
This folder serves as the storage for emails that were deleted for the other folders and can be restored to the original folder.
Mails that should be restored are marked as restored by press command "restore" or the '3' key. The command "Restore Now!" does the factual restoring.
User folders are intended to store email from different sets mailboxes. It means, some accounts are retrieved into standard InBox folder (active accounts) and another accounts can be retrieved into created user folders. User folders are separated from standard mail folders be line.
To create user folder choose Add folder button. Then you can set name of the folder, accounts to be retrieve in this folder and for imap accounts you can select server folders to be retrieved here. Same form is shown for existing user folders by choosing Edit folder command.
To remove user folder is intended Delete folder command. Select user folder you want to delete and invoke command to remove mail box.
Hint: In account menu tab, create account for each email box you want to retrieve. If you want retrieve emails into Inbox folder, set account as active. If you want retrieve email into user folder, leave account passive and select this account into retrieve list when creating user folder.
Hint: Set only one target folder for each account.
It is a menu tab that serves to set up options and parameters.
Some settings' labels are very long and this tab is very useful to display them completely by scrolling the text.
Its shortcut is "*" + "3".
· Primary email - this is the email address under which you want the others to see you when they receive a mail from you. This parameter can be set in the Accounts menu tab.
· mujMail server settings – are needed in order to communicate with mujMail server. The fields are:
· mujMail server address – address of mujMail server.
· mujMail server port – port on which mujMail server listens (as the server is based on IMAP protocol it should be either 143 when no SSL is required or 993 for SSL communication).
· mujMail server login – user login name for mujMail server.
· mujMail server password – password for mujMail server.
· SMTP settings - are needed in order to send an email. It consists of five parts: SMTP server, SMTP port, SMTP SSL (secure connection), SMTP username, SMTP password. When SSL field is checked user can choose which SSL implementation to use: mujMail SSL or firmware SSL. The difference between them is that first one does not require certificates to be installed on the phone. Second one is an SSL implementation provided by mobile device itself. The port number changes automatically depending on whether SSL box is checked or not. This information should be available from your cell phone network operator. Mostly only the SMTP server is needed and any other SMTP setting should be left default,
i.e. settings for O2 CZ is
· no SSL
· no username
· no password
Note: If you experiencing CertificateException problems, try using mujMail SSL implementation.
· Font size – allows user to select the font size for the application. Note: some forms of the application are drawn using J2ME core objects. Sizes of these objects cannot be modified by this setting. Check your mobile device manual if it is possible to change the font size for these objects.
· Always retrieve whole mails - when checking for new mails, it also downloads emails' bodies and not only the headers.
· Retrieve only never seen mails - the application remembers which emails you have read since the installation of the application and will not download an email that you have once read.
· Delete mails from server when they're deleted from InBox - this setting determines whether the application will delete selected mails from servers or not.
· Delete mails from InBox without confirming by "Delete Now!" - enables auto-deleting of selected emails in the Inbox without pressing "Delete now!", after user leaves the Inbox.
· Auto-add to Addressbook - enables adding of new contacts to Addressbook automatically when sending a mail.
· View mail with small font - enables displaying email with small fonts.
· Display spaces instead of tabs - when reading mails it doesn't show tabulators but spaces instead.
Recommended for phones with small displays or with bugs to displays tabs - some Nokia phones.
· Move mails to Trash - enable usage of the Trash folder.
· Economical use of DataBase (don’t store messages’ bodies) - minimize using of Database. Does not use the Trash, SentBox and does not store mails' bodies either.
Recommended if your phone is old and experiences problems with “out of database space” issues.
· Clear InBox's DataBase if DB space left is less than (-1=off) kB - when the application has no more room to store emails, it will automatically clear the inbox's Database (deletes all mails in the phone's inbox but leaves them on servers untouched) to make more space.
Here you decide when it should do it. Leave it -1 if you do not wish it to do so.
· Retrieve max. mails from one account (0=disabled) - decides how many emails the application should download per an account during the check for new mails.
· Retrieve max. lines of a mail (-1=unlimited) - here you define how many lines of a mail you want to save and see.
If it is set to 0 then only body structure of mail is saved with no content.
· If polling detects new mails - select "Plays a sound" choice to be informed after the Polling process detects a new email. Select "Auto-downloads" choice to download the new mails immediately.
· Polling interval (sec) - an interval in seconds in which the Polling process should check for new mails.
· Communication timeout (msec) - a maximal time interval in which the application should wait in order to get a response from server.
· Signature - a text that is appended to each outgoing email.
This tab is used to manage email accounts. An account can be in three states:
1. Active - this account is used.
2. Inactive - using of this account is disabled.
3. Primary - a primary email address; that is the address from which you write emails to the others.
Note: only an active account can be set as a primary one, it's done by the "Set as primary" command.
This tab also has the following buttons:
1. Retrieve mails – retrieves mails from the selected account. If inactive account is selected an error is shown.
2. New account – creates a new account.
3. Edit – opens an edit form for the selected account.
4. Delete – deletes a selected account.
5. Set as primary – sets the given account as a primary.
6. Clear DB – deletes all accounts!
You can also create an alias/name to your email address so the recipients will see your name and email address as well.
To create the alias, edit or create an email account (go to the Accounts tab, select Create or Edit command) write the email address in this format: yourname < firstname.lastname@example.org >.
An example, the normal format: email@example.com, will be changed into: mujmail team <firstname.lastname@example.org>
Its shortcut is "*" + "4".
Selected account can be edited by choosing Edit command in Accounts tab. The following properties of the given account can be edited:
· Account activation – checking Active checkbox sets the account status to active, otherwise it is inactive.
· Email – sets user email address for this account. Upon selection of this account as primary this field’s value is taken as a Primary email.
· Protocol – selects which protocol to use for this account (IMAP or POP3).
· SSL – check this checkbox if you want to mujMail to use SSL to communicate with the server. If this field is checked new radio buttons will appear: Use mujMail SSL or Use firmware SSL. The difference between them is that first one does not require certificates to be installed on the phone. Second one is an SSL implementation provided by mobile device itself. The port number changes automatically depending on the protocol chosen (IMAP or POP3) and on whether SSL box is checked or not. Note: If you experiencing CertificateException problems, try using mujMail SSL implementation.
· Server – input the server address here (e.g. imap.gmail.com, pop.gmail.com, etc.).
· Port – server port has to be given here (default port is used automatically).
· User name – set user name to log in to the server with.
· Password – set the password to log in to the server with.
· IMAP4 mailboxes separated by commas – list mailboxes which should be inquired mujMail application.
· Save mails to server – this field contains the following checkboxes: Sent mail to Sent (it selects whether to copy mails sent by mujMail into Sent folder of this server) and Deleted mails to Trash (selects whether to delete mails deleted by mujMail in server too).
· Sentbox folder server name – set the mailbox name to be used by Sent mail to Sent option.
· Delete folder server name – set the mailbox name to be used by Deleted mails to Trash option.
This tab contains some other tools that are useful for the user.
Its shortcut is "*" + "5".
Addressbook is a directory used to save, delete and search contacts and add them as recipients when you write a mail. If you want to find a contact, just type in first letters of the contact's name and it will find the most matching contact. All its commands are pretty intuitive. When searching for a name, you can edit the searching term by pressing Back and Forward arrows (or move the joystick) and then press the "*" key for deleting a letter or press other letters to insert them into caret position.
Backup settings command serves for backing up mujMail’s configuration (Settings, Accounts and AddressBook tabs) either on local storage or remote mujMail server. After selecting this command a dialog form appears asking if the settings have to be saved locally (Local Backup data) or remotely (Remote Backup data). For local backup then user must select the path and filename to save the configuration into.
Warning: the command saves/sends plaintext passwords.
This command restores the configuration saved using Backup settings command. It can restore configuration either from local or remote source. For restoring locally saved configuration select Local Restore data option and then select a file containing configuration. Configuration saved remotely is restored by selecting Remote Restore data function.
Warning: the command receives plaintext passwords.