JBMail 3.2

Copyright (C) 1999-2003 Jem E. Berkes

Product web site: http://jbmail.pc-utils.com/
Developer web site: http://www.pc-tools.net/
Support e-mail: support@pc-tools.net

Modified: 2003-05-19 17:45
This manual is also available online.

This software manual covers both the free trial version and the full version, JBMail Plus. Technical support by e-mail is available for registered users only.

0. License & Conditions of Use

1. Introduction

2. Setup window

3. Inbox window

4. Message Viewer

5. Message composer

6. Address books

7. SSL / TLS security

8. Misc dialogs

9. Technical notes

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)

Executables and libraries were compressed with UPX

The automatic installer was created with Nullsoft's NSIS

0. License & Conditions of Use


This software is provided "as is" and without any warranties as to performance, merchantability, fitness for a particular purpose, or any other warranties whether expressed or implied. The entire risk as to the results and performance of the software is assumed by you. The author shall not have any liability to you or any other person or entity for any damages whatsoever, including, but not limited to, loss of revenue or profit, lost or damaged data or other. The author is also not responsible for claims by a third party.


The free trial version of JBMail may be used indefinitely for educational and non-commercial use. Commercial/business users may also use the free trial version for a limited period, but must purchase JBMail Plus if they plan to continue using the software.


You may distribute the free trial version of JBMail in its original, unmodified form only. You are specifically prohibited from charging, or requesting donations, for any such copies, however made; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission from the author.

You may not modify the software or documentation in any way. You may not translate, reverse engineer, decompile, or disassemble the software.

Use of the software indicates that you have read and agree with these terms and conditions.

Back to Table of Contents

1. Introduction

JBMail is a compact and portable secure e-mail client. The software has been designed for simplicity, security and "on-line mailbox access" meaning that mail is manipulated remotely and NOT stored locally. JBMail supports POP3, SMTP, SSL/TLS and all essential mail client features - but it is not "just another" mail client.

Who is it for? Who is it not for?
From the author:
JBMail is the only security-minded Windows e-mail client I'm aware of (immune to HTML, MIME, and scripting based exploits) that has complete support for SSL/TLS in about 600 KB. Since JBMail is also designed for "roaming use" (manipulate mail online, no local install) it really is perfect for travel or public workstation access.

System requirements:

JBMail runs on Windows 95, Windows 98, Windows ME, Windows NT 4.0, Windows 2000, and Windows XP. It has also been tested under Virtual PC on MacOS. At the time of this writing, WINE compatibility under Linux was not perfect, but functional.

1.1 JBMail Plus (full version)

The free trial version of JBMail never expires or nags for registration. The limitations are that: (1) it can only save one profile to disk, and (2) message flags (read, replied to states) are not retained between sessions. In all other respects the free trial version is identical to the full version.

The full version (JBMail Plus) can save multiple profiles to disk, without limit, and retains all message flags/states in all profiles. This makes JBMail much more convenient for frequent use since you can painlessly access multiple mail accounts and see at a glance which messages you have already read and replied to. The software can be ordered online by credit card; our orders are processed by ShareIt.

Volume discounts for JBMail version 3.2
Single user license 35.00 USD
2 - 9 licenses 32.00 USD/license
10 - 24 licenses 28.00 USD/license
Over 25 licenses 22.00 USD/license
Larger site license Available upon request
Prices are subject to change without notice.

JBMail Plus can be ordered online from PC-Tools.Net. The software is automatically delivered by e-mail upon receipt of payment (credit card, cheque, wire transfer). To order, please visit:


If you have any questions about purchasing this software, please contact us:


BENEFITS: Registered users receive JBMail Plus, a more capable version of the software. Customers can also enjoy 1 year free technical support by e-mail as well as free upgrades for 3 years.

PRIVACY: We do not ever sell private contact information. You will not receive spam resulting from your JBMail purchase. We also never see credit card numbers since the orders are processed by ShareIt.

1.2 Features

1.3 Installing the software

If you obtained JBMail in a ZIP file, use a standard archiving program to extract all the files to a new directory. The directory can be anywhere (including network drive, floppy, CD, or other removable media). No data will be saved to the registry, and no files are created outside this directory.

If you obtained JBMail as a self-extracting file (EXE file), simply run the file to start the installer. Among other customizations, you can specify whether you want any data saved to the registry. JBMail does not need to write installation info to the registry, but doing so makes future un-installation automatic and also lets you register the JBM system file type with the system. This lets you use JBMail as the default viewer from Explorer, for instance, to view saved mail on disk.

The registry keys created only store installation info, and never store anything relating to mail or accounts.

A full installation consists of the following files in the same directory. The INI and DAT files will be created if they don't already exist. The DLL files do not need to be present, but are needed to provide SSL-protected POP3 and SMTP.

The jbmail.md5 file stores MD5 hashes of the program files. If this file is present, JBMail will compute MD5 hashes for all the files listed inside and compare them to the provided values upon startup. This integrity check, while very useful for detecting file corruption or virus infections, will increase program load time. This is not foolproof tamper detection since the .md5 file can be modified or deleted to disable this feature.

1.4 Changes in version 3.2

The major new features in version 3.2 are listed below. See the version history for a complete list.


Although it's a good idea to read the entire manual, the following instructions will get you started:

  1. Install the software
  2. Start the program (use Desktop, Start Menu, or run the EXE file)
  3. The first window you see is the Setup window
  4. Enter your ISP's mail server host name in POP3 host
  5. Enter your User name and Password in the fields below
  6. If you want to store this profile, enter a description at the top of the Setup window and click the Save button at the right
  7. Click the Connect button to enter your mailbox
  8. If you have mail, you will see the Inbox window
  9. Highlight messages and press Delete to immediately remove them from your mailbox. Or double-click (or press enter) to view messages.
  10. While you browse your mailbox, you are continually connected to your ISP's mail server. You need to either Save & Exit your mailbox, or Cancel/Undo when you are done.
  11. Take advantage of context-sensitive help by using the Help button in different windows
Back to Table of Contents

2. Setup window

The Setup window is the first window shown when you start the program. This is where you define (or recall) all settings specific to a mail account. The Setup window is organized into several tabs -- Account, POP3 options, Send settings, Filters, Pattern filters, and Global. You can switch between these tabs with the keyboard by using the Setup menu options.

You can compose mail directly from the Setup window by selecting Compose Mail in the File menu. The File menu also gives quick access to the Address books and Profile Manager.

2.1 Setup - Profile control

JBMail stores all settings relating to a single mail account in a profile. The Profile controls at the top of the Setup window allow you to create, delete, and switch between profiles. Only one profile is active at any time, but there is no limit to how many total profiles you can create -- in other words, you can very easily switch between a large number of mail account and associated settings, such as your name/address used in replies. Multiple profiles are saved only in JBMail Plus.

Use the New button to create a new profile. All fields in the Setup window except those under the Global tab will be cleared. Enter any new account information, then change the name of the profile from (Untitled) to a descriptive name. Click the Save button to store the profile. Use the Delete button to remove a profile. You must Save changes to a profile to make them permanent.

2.2 Setup - Account tab

The Account tab stores information needed to access a POP3 mailbox:

2.3 Setup - POP3 options tab

The options under this tab give you additional control over your POP3 mail connection:

2.4 Setup - Send settings (SMTP options) tab

JBMail includes full SMTP (Simple Mail Transfer Protocol) and ESMTP (Extended) support, including authentication and SSL/TLS extensions to protect privacy. You can compose messages in a number of ways: use the Compose menu option in the Setup and Inbox windows, or use the Reply and Forward functions in the message viewer.

2.5 Setup - Filters tab

Under the Filters tab you can configure the basic junk mail (spam) filtering, based on: Whitelist, Blacklist, and Heuristics. Whitelist and Blacklist terms should be separated by commas with no extraneous spaces, since spaces may be used within a term. A match occurs if any of the specified terms appears (case insensitive) in the Subject, From, To, or CC headers. More advanced filtering is possible with the Pattern filters.

1) The Whitelist defines terms that identify e-mails as "not junk" if they exist in the headers listed above. Only e-mails that contain one of the listed terms will be cleared; all other mail will automatically be marked as junk. A good idea is to list addresses and subject keywords you frequently deal with. In the example below, any incoming e-mail that does not contain any of these terms will automatically be marked as junk.


2) Because spammers sometimes bypass the whitelist, JBMail also offers a Blacklist to define terms that always mark e-mails as junk. Any e-mail that contains a listed term will always be marked as junk, even if it passes the whitelist. For example:

$$,money,partnership required,mortgage

3) The Heuristic filters are a number of custom filters designed to take advantage of common spam properties. This can catch junk that makes it past the whitelist and blacklist.

HTML mail Headers indicate HTML format (doesn't catch HTML content in multi-part messages)
From: empty () or <> From field contains brackets with no address inside (bad formatting)
Subject: multiple spaces Subject field contains multiple spaces (perhaps staggered), used to evade filters
To/CC: similar usernames TO or CC fields contain too many similar usernames
From: missing @ From field is missing the @ character
To: missing address or @ TO field is missing an address, or the @ character
To/CC: similar domains TO or CC fields contain too many similar domains without text names

Any mail that is marked as junk mail after these stages of filtering is highlighted in the Inbox window immediately upon entering the mailbox. This means that you can simply press Delete to remove the junk. If you don't want to remove all the messages, you can use CTRL+Click to unmark certain e-mails. Press F12 while the junk is highlighted to see why the message(s) have been identifies as junk, using the information from the Message flags. Press F11 to filter the inbox (show/hide only junk).

Anti-spam strategies

2.6 Setup - Pattern filters tab

The Pattern filters extend the functionality of the regular whitelist and blacklist found under the Filters tab. You can add multiple case-insensitive search patterns (one per line) that can match any single message header line. This is more powerful than the simple whitelist and blacklist because the search patterns can more precisely match a wide range of headers. Use the Add, Edit and Del buttons to build each list.

The patterns work much like filename specifications, and support the * (asterisk) and ? (question mark) wild cards. The asterisk matches multiple characters, perhaps none. The question mark matches any single character. The entire pattern you specify must match a whole line, so be sure to use the * wildcard to match the "rest of a line" when necessary.

As described in the filters section, e-mails which don't match anything in the whitelist are marked as junk mail and e-mails which match anything in the blacklist are marked as junk mail. There is a great deal of flexibility with header pattern matching so this feature's flexibility will be illustrated through example.

Consider an ISP that runs server-side junk filtering/scoring software such as SpamProbe or DCC. This type of software will add a header line to e-mails, such as:

X-SpamProbe: SPAM 1.0000000 8dc06d23f6356a3d4058e23f03419f41
X-DCC-Metrics: kwyjibo 1032; Body=many Fuz1=many Fuz2=many

The server-side filtering software typically introduces a keyword when the mail is judged to be junk. In the example given, the keys are "SPAM" and "many", so the following Blacklist patterns would match the junk. Note the use of the * to match the rest of the line.

X-SpamProbe: SPAM*
X-DCC-Metrics: *many*

Next, consider a white listing example. The goal is to find headers that reliably appear in legitimate mail but which are unlikely to appear in junk mail. This depends heavily upon your particular setup, but consider an organization in which most people use the JBMail and Pegasus Mail mail clients. Also, all mail sent from your co-workers may arrive through one of several private corporate mail servers. Finally, anyone replying to one of your e-mails will automatically embed your Message-ID in their reply; the unique identifier in the ID identifies your computer and can be set as a header in the Composer's SMTP tab. A hypothetical legitimate e-mail on such a network may have headers that look like this:

Received: from smtp3.corp.example.com []
	by mail.corp.example.com (Postfix) with ESMTP id 9A0487C04
Received: from []
	by smtp3.corp.example.com (Postfix) with ESMTP id 0C2586D01
Subject: Bicycle parking spot?
From: coworker@example.com
To: myself@example.com
In-Reply-To: <jbm.20030428132211.7cfdfe31@myhost.example.com>
References: <jbm.20030428132211.7cfdfe31@myhost.example.com>
Message-Id: <1052352219.1111.55.camel@hishost.example.com>
X-mailer: Pegasus Mail for Windows (v4.02a)

The following Whitelist patterns would catch junk mail that didn't match any of these patterns:

Received: from smtp?.corp.example.com*
In-Reply-To: <*@myhost.example.com>
References: <*@myhost.example.com>
X-Mailer: Pegasus*
X-Mailer: JBMail*

2.7 Setup - Global settings tab

Unlike the other tabs, the settings under this tab are global and are not specific to a a particular profile. Most of the settings concern the Mailman, which is the name given to the process that checks all mailboxes for new mail (automatic poll all) at a fixed time interval.

Note: You have to click the Apply button before any changes take effect.

2.8 Setup - Profile Manager

The Profile Manager can be invoked using the option under the File menu in the Setup window. For a JBMail installation with many profiles (i.e., using JBMail Plus) the Profile Manager lets you easily re-arrange, rename, remove or clone profiles.

Select the profile to manipulate, and use the Up or Down buttons to change the position of this profile in the entire list (this is the same order used in the Profile control). The Rename, Delete and Clone buttons let you perform the indicated transformation on the profile. Note that the Clone option generates an exact duplicate of the profile, including any passwords stored within.

The modifications to your profiles are only saved if you click OK. You can discard all the changes you have made by using the Cancel button.

Back to Table of Contents

3. Inbox window

The Inbox window shows a listing of all mail that is currently in your mailbox (NOT stored on disk -- there are no mail folders on disk). Because JBMail is designed for direct access to the mail server, you will be connected to your mail server via the Internet as long as the Inbox is open.

Watch the status indicator text at the bottom of the Inbox window (beside the Abort button) for status messages and progress indicators.

3.1 Inbox - The message list

The message list is shown in a standard Windows list control, so you can resize the columns and sort by different columns in ascending or descending order by clicking the column headers one or more times. Select multiple messages by dragging the mouse over multiple subjects, or use the SHIFT key with the arrow keys. You can also use the CTRL key with the mouse button to select individual messages. The ENTER key will view or preview messages depending on the setting under the Options menu. The DELETE key will remove messages from your mail account.

Use the F11 key to apply Inbox filters, and use the F12 key to view or modify message flags. Three message flags are shown beside e-mails for convenience: messages that have been replied to have a dot; e-mails with multi-part MIME attachments have a paper clip; and e-mails that have been read have a check mark. These status indicators are stored locally in the jbmail.ini file only in JBMail Plus.

The Date/Time column shows the time that the e-mail was sent, adjusted to your current time zone. The Size column shows the size of the entire e-mail in kilobytes. Additionally, a To column is included so that you can see who the intended recipient of this e-mail was (if there are multiple recipients, the first is shown). The numeric column on the right shows the message number on the POP3 server.

JBMail reads the headers from e-mails in order to display the information in the Inbox (you can disable "Parse headers" in the POP3 options in the Setup window). Because only a very small part of each e-mail is downloaded, JBMail can only make a guess as to whether the e-mail has an attachment. When you view a message, you will enter the Message Viewer and can then view attachments.

3.2 Inbox - Buttons & menus

There are also many keyboard and mouse shortcuts for these operations. Please see Shortcuts under the Inbox's Help menu.

Buttons: Menus:

3.3 Inbox - Message Flags

Important Note: Although the free trial version of JBMail supports message flags and Inbox filters, the message flags are lost when you disconnect from your mailbox. In the full version, JBMail Plus, message flags are saved to disk and so JBMail can remember which messages have been read or replied to in previous sessions. The data required to remember this info is saved to jbmail.ini, and therefore relies on the local installation.

Each message in the Inbox has a number of message "flags" (states) associated with it. These flags are either ON or OFF, indicating the characteristics of a given message. The flags used by JBMail are:

Flag name Meaning User can modify?
Read Has message been read? YES
Replied to Has message been replied to? YES
Copy to self Is message a copy to self (using BCC)? no
Junk / spam Is message junk/spam (according to Filters)? yes, for session
Attachments Is message MIME/multi-part? no

The Replied to, Attachments, and Read flags are displayed visually beside Inbox messages in the form of a dot, paper clip and check mark respectively. The other flags still exist for each message, but are not displayed in iconic form. After highlighting a message, press F12 to view or modify the flags (or use menu Options/Message flags).

If JBMail has flagged a message as junk, then viewing the message flags will also tell you which filtering rule was used to decide that the message is junk.

3.4 Inbox - Filters

The Inbox Filters let you show only a subset of all the message in your Inbox. Press F11 from the Inbox to get quick access to the filters, or use menu Options/Inbox filters. The Inbox Filters do not delete messages from the mail server. They only filter what is displayed in the message list, and you can return to the full mail listing by using the "All mail" preset in the Inbox filters dialog box.

You can choose to show or hide messages based on any of JBMail's built in message flags. Use the controls to select the rule type (Hide only these types, or Show only these types) and check the specific message flags to filter based on.

The Presets are pre-programmed with common selections. For example, "New mail, unseen" automatically hides all Read, Replied to, and Copy to self messages in the Inbox. This leaves behind only new messages.

You can also show or hide messages that match a search string (case insensitive). The search text you enter is compared against the text shown in each of the columns (Subject, From, Date/Time, To) of the Inbox for each message.

Back to Table of Contents

4. Message Viewer

Messages are viewed and previewed in the Message viewer window. Messages can be shown both in raw mode (how they actually appear on the mail server), and also in formatted mode. Formatted mode is generally the more useful of the two, as useful information is extracted from message headers and most codes are hidden. You can also turn on the HTML filter (from the Inbox) to extract text content from HTML mail and hide all the codes.

When downloading large e-mails, the status indicator (located in the Inbox window) tells you how much of the message has been downloaded. Although you can view part of a message while it downloads, the download must complete before the message is fully formatted. To close the Message Viewer you can press Esc, hit the Window's X (close) button or select File / Close.

Remember that you can use the Preview button from the Inbox to download and view only a portion of a very large e-mail.

4.1 Viewer - Buttons & menus

Buttons: Menus:

4.2 Viewer - Attachments tab

When JBMail downloads an email, it parses the message to see whether there are any attachments that can be saved to disk. If attachments are found, they are added to the list of files shown in the Attachments tab and the Attachments tab itself is highlighted to indicate the presence of attachments.

JBMail will likely not recognize attachments properly if you have previewed a message (as opposed to full view). The preview only downloads a part of the message, meaning that encoded attachments may be cut off.

JBMail does not decode or save any attachments until instructed to by the user. Simply viewing an e-mail infected with a virus, worm, or trojan IS NOT in itself sufficient to infect the system. This is because there is no scripting infrastructure within JBMail that can automatically decode or view attachments. However, your system may be at risk whenever you decide to Save or View an attached file.

To save or view one or more attachments, highlight the file names shown in the listing and use the Save or Save & View buttons. The Save function lets you save a file to disk, and the View function extends this by opening the file with the default Windows viewer after it has been saved. The Erase last button allows you delete the last attachment that was saved to disk.

JBMail includes several layers of safety in the viewer, and will warn you before you save a potentially dangerous attachment to disk. See the section on the Block List and SanityCheck.

4.3 Viewer - Block List and SanityCheck

The user must always exercise caution and good judgement when opening e-mail attachments. The majority of modern worms, viruses and trojans are automatically sent by e-mail and may even appear to come from friends and colleagues (due to forged headers). Never open suspicious e-mail attachments, or your system may become infected with a virus. JBMail has several layers of safety that try to minimize the risk posed by dangerous attachments; however the risk can never be eliminated completely.

The first level of defense is the Block List, a list of potentially dangerous file extensions that can be modified by the user. Files carrying these extensions may be executable or otherwise dangerous, so JBMail will warn you before you attempt to Save them. If you try to Save & View such a file, JBMail will never let you view (launch) the file because of the high level of risk involved.

The second level of defense is the SanityCheck, which is used on files that are not caught by the Block List. In case an executable file (i.e. one containing the DOS/Win32 executable header) is about to be viewed, the SanityCheck ensures that the user is prompted with a dialog box that can not be casually bypassed. The user will have to repeat a random numeric string in order to force execution of the suspicious file.

These safety measures can not prevent virus infections completely, since the user can always save an attachment to disk and then execute it through Explorer. The Block List and SanityCheck will provide adequate warnings and help prevent careless user actions such as direct viewing of an executable.

4.4 Viewer - Reply options

This dialog box is shown when you use the Reply function from the Message viewer. Customize your reply using the check boxes shown, then click OK.

JBMail offers you a great deal of flexibility in addressing your replies. A full list of addresses associated with this message are shown (excluding the CC list, see above). You can then check off the addresses you want to send this reply to (click an address or use the space bar to select it). You can also use the Select all button to mark all addresses.

Back to Table of Contents

5. Message composer

The Composer allows you to write and send e-mails to other people. The SMTP parameters being used are shown in the SMTP tab and can be modified as necessary before sending an e-mail.

5.1 Composer - Buttons & menus

Buttons: Menus:

5.2 Composer - Message tab

The editor is purely plain text, which means that special formatting (HTML, etc.) is not used when you send messages. This guarantees the widest compatibility with other e-mail clients across the Internet, on all computer platforms.

The fields shown at the top of the Message tab allow you to set the standard message headers: To (the main recipients), Subject (the subject of the message), CC (carbon copy, more recipients), BCC (blind carbon copy recipients, not seen by other recipients). The BCC field can be used to invisibly send exact copies to other addresses, or to yourself for future reference; the Auto BCC field in your profile's Send settings automates this functionality and only requires that you check the Auto BCC box to fill in the predefined BCC address.

The Copy self, local checkbox provides another form of copies to self. This feature automatically saves a copy of the outgoing message to a plaintext file in a local directory. Click the Options button to access the Message Save options. The default options save copies to self under a subdirectory named after the current profile, all under the JBMail directory hierarchy.

JBMail supports multiple recipients, limited to 32 KB of text in Windows 9x edit controls. On Windows NT and later (Windows 2000, Windows XP) the number of recipients is only limited by what your mail server allows and not by edit box capacity. There are several ways to define recipients. You can type addresses in manually, separating each one by a comma. Alternatively you can use the [?] buttons which give you access to the recently used addresses (keeps 100 most recent). Finally, you can paste addresses from address books (Address button, or simply ALT+R) by marking an address book and selecting Use.

5.3 Composer - Attachments tab

JBMail can send attachments that are MIME/Base64 encoded for the widest compatibility with other mail clients. Under the Attachments tab, use the Add button to select a new file to attach. You can double click an attached file to open it with the default Windows viewer, or use the Del button to remove an attachment. A summary line at the bottom of the Attachments tab, which is duplicated in the Message tab tells you how many files are attached, and how large they are in total. (After the Base64 encoding, these attached files will actually occupy more space because of the binary-to-ASCII conversion involved.)

By default, JBMail uses the generic "application/octet-stream" MIME type. If you want to mark your attachment with a more specific MIME type, set one of the alternate MIME types before attaching a file.

5.4 Composer - SMTP tab

JBMail uses the settings shown under the SMTP tab while sending the e-mail. By default, the settings are loaded from the current profile but you can select any other profile from the drop-down list at the top of the SMTP tab. Any modified settings only apply to the current e-mail and do not modify the original profile.

The Mail Delivery options allow you to set: You can also modify the Headers of your e-mail:

You should not ever need to modify In-Reply-To or References. In contrast, The FQDN for Message-ID should be modified, otherwise JBMail will use the default host name which may be insufficient to identify your workstation on the Internet.

Back to Table of Contents

6. Address books

JBMail supports multiple address books (e.g. work, friends) that can be accessed from anywhere in the program. The Address books menu item under the File menus opens the Address book manager, from which you can edit or use your address books.

6.1 Address book manager

The address book manager lets you edit and use your address books. The options under the File menu let you create a new address book, rename an existing one, and delete an address book. You can also print the contents of an address book, import addresses from a file, or export an address book. See the section on importing and exporting address books.

The Use button is active only when you open the address book manager from the Composer. Click Use, or double click an address book, or press ENTER to open a dialog box showing all entries in the address book. Mark the addresses to use by clicking the names or pressing the space bar. If you click Paste or press ENTER, the selected addresses will then be pasted into an address field of the Composer.

The Use function is separated from the Edit function for safety. The Edit button will launch the built in Address book editor (see below).

6.2 Address book editor

The built in address book editor can be opened using the Edit button in the address book manager. You can make changes to your address book, then Save the changes and return to the manager.

6.3 Importing/exporting addresses

JBMail's address book system has several import and export features that automate the task of getting multiple addresses into or out of the system. To import or export addresses in JBMail, first select the address book to import into (or to export out, as the case may be) then select the appropriate import/export option from the File menu. The different file formats used are:

Comma delimited: Plain text with fields separated by commas.
Tab delimited: Plain text with fields separated by tab characters.
Text file: Plain text formatted for easy reading (like a printout).

Steps for importing addresses from Microsoft® Outlook®

  1. From your Outlook address book, select menu File/Export/Other Address Book
  2. Select Text File (Comma Separated Values)
  3. Specify a file name and choose Next
  4. Check only the Name and E-mail Address fields, leaving all other boxes unchecked. Then choose Finish
  5. In JBMail's Address book manager, select the address book to import into (or create a new, blank address book first)
  6. Select menu File/Import/Comma delimited
  7. Open the file you specified in Step 3
Back to Table of Contents

7. Secure Sockets Layer / Transport Layer Security

JBMail supports SSL (Secure Sockets Layer) and TLS (Transport Layer Security) for secure, encrypted communication channels. The encryption is provided by two OpenSSL DLL files that come with the JBMail distribution. JBMail can still run without these DLL files, but the extra security provided by SSL/TLS is highly recommended. This layer of security makes it nearly impossible for an attacker to listen in or spoof a connection.

You can check to see if SSL support is loaded by using JBMail's Help/About option in the Setup or Inbox windows. If SSL support is available, the About dialog box will also display the current version of the OpenSSL library.

The two DLL files included with JBMail were compiled directly from the original OpenSSL source code with assembly language optimizations enabled to ensure maximum performance. The library is configured to support SSLv2, SSLv3, and TLSv1. The newest protocol supported by client and server is always used; this is usually TLSv1.

7.1 Connection protocols

Both POP3 and SMTP can be used in one of several forms. It is important to understand these different protocols from a security standpoint. As a general rule of thumb, always use an SSL/TLS connection when possible. When SSL is being used, you will see a lock icon and SSL button in the bottom right hand corner of the Inbox window. Clicking this button (or using ALT+S) will display active SSL info.

7.2 SSL Information dialog

This dialog box serves two purposes. First, it provides relevant technical details of the SSL connection. Second, it asks you to Deny or Accept the connection in any uncertain situation - if this is the first time you are connecting, or if the properties of the server have changed since your first connection.

Protocol and Cipher: The protocol may be SSLv2, SSLv3, or TLSv1. The latest protocol is TLSv1 but older versions are supported for compatibility. The cipher used is also shown; this depends on what the client and server are able to negotiate.

Network host name and Certificate host name: The network host name is the host name you are currently using to access this server. The server's SSL certificate will also contain a host name. These names should be the same, otherwise it is possible that you have reached an unintended and possibly malicious server.

SHA1 fingerprint: This is a cryptographic hash of the entire certificate that uniquely identifies this SSL host. Every SSL server has its own SHA1 fingerprint and it is currently impossible for anyone to generate a certificate that has a pre-determined fingerprint. In other words, provided you know the fingerprint of your server, it is impossible for an attacker to perform a man-in-the-middle or spoofing attack without JBMail detecting the fingerprint change.

Validity start/end date: Every SSL certificate has a user-defined start and end validity date. Whoever created the SSL certificate wants the certificate data to only be valid between the given dates.

Trust evaluation: Based on the certificate presented by the server and prior knowledge, if any, JBMail will determine whether it trusts the server. The SHA1 fingerprint is the vital piece of data since it cannot be forged. Note that the subject and issuer data is for information purposes only and can easily be changed to any value; in itself, it cannot be trusted.

A note on "trusted" third parties

Many other SSL applications lay their trust evaluation solely upon the recommendation of a trusted third party (or certificate authority). JBMail does not use this method, but its security approach is equally valid. With a "trusted" third party you put 100% of your trust in a company you know little or nothing about, and believe that they will always properly check the reliability of parties they give certificates to. Instead, JBMail puts the power of trust solely in the hands of the user. After the user confirms the initial SHA1 fingerprint, the SSL server can not change without JBMail noticing it. The client acts independently by using her own knowledge; so a third party can not ever force acceptance of a certificate.

Many organizations skip the trusted third party for internal security (such as mail services) because there is no need to involve an external party in an internal trust issue. A certificate does not have to be signed by a third party to be secure, although this scheme is sometimes more convenient for users because the trust decision is taken out of their hands.

Back to Table of Contents

8. Misc Dialogs

8.1 Mailman window

The Mailman window shows a quick summary of multiple POP3 accounts and how much mail each contains. You can reach the Mailman window by using the Poll all button in the Account tab in setup. Alternatively, if you have enabled Mailman in the system tray from global settings, simply right-click the system tray icon to see Mailman. You can also left-click the system tray icon to restore the JBMail setup window.

If the Mailman in tray is active (see global settings) then JBMail will automatically check your mailboxes at a fixed time interval. If any mailboxes have changed (likely indicating new mail), the tray icon becomes a yellow envelope and your new mail sound is played.

You can open the Mailman (right-click) to see which accounts have new mail. Accounts with modified mailboxes will have a red marker beside them. Double clicking an account opens up the setup window and selects the desired account. All you have to do is click Connect to enter the mailbox, as usual. The Mailman also has a Poll all button which forces an immediate check of all mailboxes (same as Poll all button in the Account tab).

If a profile has been configured to use an SSL protocol, the Mailman will make an SSL-only connection and perform the same certificate validity checks used during an interactive login.

8.2 Message Save options

Although JBMail does not have any native local folder support (it is designed to be an on-line mail client), there exists a facility to automatically save full plaintext emails to disk. E-mails are stored in individual files and the contents can be viewed with any text viewer. The file extension is by default ".JBM", which makes it possible to open these e-mails using JBMail since this file type can be registered with the system during installation.

The Message Save options dialog configures all the details of the automatic save, and may be invoked from either the Inbox, File: Save Mail feature or from the Composer, Copy self feature.

The Output directory is automatically constructed from the JBMail path and the current profile name. An additional "copyself" subdirectory is used for saving copies to self. Uncheck Automatic profile subdirectory and then use the Browse button to select a custom directory instead of the automatic default.

The File name is composed of several fields, which can be customized to your liking - the Example demonstrates a typical output filename. The default file extension is ".jbm" but this can be changed to anything. For instance, you can use the ".txt" file extension if you want to open the plaintext e-mails with a text viewer such as Notepad.

JBMail will retain your customizations for each profile. This should allow you to automatically save e-mails and copies to self in uniquely named files in a directory, which can later be browsed from Explorer.

Back to Table of Contents

9. Technical notes

Included below for reference are the supported command line switches, as well as a complete version history.

9.1 Command line options

Command line parameters are optional. Valid syntax:

jbmail.exe Profile Name
jbmail.exe /min
jbmail.exe /poll
jbmail.exe /min /poll
jbmail.exe /view c:\path\filename

If you specify a profile name on the command line, the Setup window will jump to this profile. Do not use quotes around the profile name.

/min will cause JBMail to start minimized. If the Mailman in tray is enabled in global settings, JBMail will minimize to the tray.

/poll instructs the Mailman to check (poll) all mailboxes upon startup. This is only useful if the Mailman in tray is enabled.

You can combine the two switches. For example, typically one would put the following in the Startup folder to start JBMail minimized and poll all profiles: jbmail /min /poll

The /view switch lets you load JBMail only for the purpose of reading (and replying) to an RFC 822 email contained in a plain text file. Separate the filename from the /view switch with a space, and do not place any quotation marks around the filename. In this respect JBMail can be used as a viewer for generic email files. If you registered JBMail as the system viewer for ".JBM" files during installation, then JBMail is already configured to automatically view .JBM (plain text mail) files if you browse and open them from Windows Explorer.

9.2 Version history / changelog

Version 3.2 (May 2003)
- Added program integrity checker, hashes and compares to jbmail.md5
- Added /VIEW switch which lets JBMail view RFC 822 mail files on disk
- Message Flags window (F12) can temporarily remove the 'junk' flag
- Fixed multiple Fwd: and Re: tags; now recognizes Re, Ang, Aw, Sv
- JBMail now prompts for a one time username and password if left blank
- User can select both fixed and normal fonts in message viewer
- Added support for ISO-8859 encoding (western European characters)
- Corrected handling of soft line breaks in quoted printable content
- More thorough MIME support
- Copy self and Auto-BCC features now independant, both in Composer
- Profile manager (Setup, File menu) lets you re-arrange profiles
- You can now save mail to plain text in local folders (Inbox File menu)
- Copies to self can now be stored as plain text in a local folder (automatic)
- Added new icons, many thanks to Dr. Ash Alom for his contribution
- Inbox filter lets you filter mail by column contents - search, essentially
- You can now specify a FQDN to use for generating Message-IDs (in Composer)
- Added separate username, password for SMTP AUTH.
- Now removes signatures in replied messages (standard internet and PGP sigs)
- Inbox option lets you toggle read-only message viewer (e.g. WinPT support)
- Details of SSL connection available via "SSL" button in Inbox
- Both POP3 and SMTP connections can now be encrypted over SSL
- Added ability to launch URLs (highlight text, then right-click)
- Hopefully fixed Composer glitches, like 'V' key pastes
- Now includes SSL support if OpenSSL DLLs are in the JBMail directory
- Added new "Pattern filters" tab for advanced blacklist, whitelist
- Manual "poll all" operation now resets automatic interval timer
- Status shows accurate message count when loading Inbox (partial mode)
- Added new Inbox list column, for POP3 message number
- Address Book Manager window is now resizable, and retains its size
- Added right mouse-click editing options in Composer and Viewer
- Viewer now lets you delete e-mails without returning to Inbox
- Added "Confirm Delete" feature under Inbox Options
- JBMail now does a second check for executable attachments (before view)
- Mailman now avoids trying to poll a mailbox that is currently open
- You can now specify a MIME type when attaching files in Composer
- Message viewer now has Previous and Next buttons to simplify browsing
- The attachment block list (for security) can now be modified by user
- Attachment save/view interface redesigned for flexibility, ease of use
- Reply Options dialog now supports keyboard shortcuts
- Supports RFC 2076 server-side status headers (Pine, UW IMAP, gnu-pop3d)
- Free trial version now warns if loading an INI file from full version
- New interface for attaching files in Composer
- Composer now allows server configuration changes before send
- Composer now allows modification of headers such as From and Reply-To
- The Composer can now be used without pre-defined SMTP settings
- You can now specify the keep alive NOP interval under POP3 Options
- Context sensitive help should now be compatible with more web browsers
- Inbox Close button renamed to Cancel/Undo, File + Option menus updated
- Inbox GUI improvement: buttons greyed out when functions unavailable
- Inbox column sorting now works properly when header parsing is off
- The INI file is now also written whenever you Save&Exit your mailbox
- Message flags (F12) now also show the message number on the server
- Renamed "exceptions" filter (misleading) to "Whitelist" 
- There is now a confirmation required before you Delete a profile
- Corrected time zone in outgoing e-mails (daylight savings adjust)

Version 3.1 (July 2002)
- Checking an empty mailbox now clears the marker in Mailman
- JBMail now sends attachments with MIME/base64 encoding (standard)
- Allocates extra memory to handle broken MS Exchange servers
- Added option in Inbox to switch on/off confirmation upon "Close"
- Added support for POP before SMTP authentication
- Inbox filter uses message flags to show only certain messages
- Message flags show reason for spam match (which rule was used)
- Message flags (shortcut F12) let you view/modify message states
- Updated keyboard shortcuts for inbox (see Help/Shortcuts)
- Now generates Date header (with timezone) while sending mail
- Removed Hide messages from self option in Inbox
- New option under Global tab to reprompt for passphrase from Mailman
- Length of blacklist + antispam fields now only limited by win9x
- Long blacklist + antispam fields written as multiple lines in INI
- When using Preview, JBMail now asks how many lines to preview
- Mailman window is now resizable. Also remembers its state.
- Now warns if multiple instances are running 
- Added separator in forwarded messages
- In Windows 2000 and Windows XP, JBMail now starts in foreground
- Now generates a local Message-ID instead of relying on SMTP server
- Added option to manually modify In-Reply-To and References
- Added support for In-Reply-To and References (for threading)
- Fixed crash when trying to parse illegal dates (e.g. 1980)
- Added new junk mail filter for HTML mail
- Now supports HTML mail (the filter extracts and shows text content)
- Improved virus/trojan detection system: warns BEFORE saving
- Can now import comma delimited text files into address books
- Date header parser now works correctly if there are no seconds

Version 3.0 (February 2002)
- Now warns on attachments with suspect file types (exe, vbs, etc.)
- Inbox options: you can now set custom number of lines to preview
- Added feature to include a signature from file when Composing
- Can now send email attachment(s), UUencoded
- Added support for multiple address books, with built in editor
- Coded workaround for limitations of win9x winsock
- Added Blacklist feature in Filters
- Message viewer is now resizable (sticky setting)
- Added "Fixed width font" option to message viewer (sticky setting)
- Added "Hide messages from self" option to manage copies to self
- You can now force a Poll All from the Mailman as well
- Added Insert text file option under Composer's Edit menu
- Added recently used addresses popup in the Composer
- Switched to HTML format for help, by popular demand
- Improved attachment support, overhauled MIME parser
- Added several new junk mail/spam filters
- Inbox window can now be resized, and remembers its state
- Added Forward option (under viewer's Message menu)
- Free version now also writes INI file and one profile!
- Attachment decoding is now much faster!
- Message composer can now save and open (re-open) messages
- The viewer now cleans most MIME header codes from the display
- Composer shows in title bar your return address & SMTP server
- The viewer now supports Quoted Printable encoded characters
- You can now save or print the inbox listing
- Viewer: save, print, reply can all be restricted to a selection
- New option in message viewer to reformat e-mail to standard width
- Message composer now has print capability
- Message viewer now has more standard print capabilities
- Sizes in inbox are now right aligned and listed as "xyz K"
- Added the standard Edit menu to message composer
- Added "Copies to (BCC)" feature; i.e. copy sent messages to self
- Composer rewritten for robustness, and handles more addresses
- Added much more powerful reply options (multiple addresses, etc.)
- Message viewer can both save and now also append text to files
- Message viewer can switch between raw and formatted text
- New 'Archive' feature in viewer: appends full raw mail to file
- Uncluttered message viewer dialog by moving options into menus
- Profiles now support a "reply to" address (optional)
- Nicer line wrapping in replies
- Size limit in composer increased to 5 MB (attachments unlimited)
- Added "HTML filter" option
- Removed message viewer text color option; no longer of any use
- Much improved address/name parser
- Large messages are no longer cut off in the message viewer
- No longer displays the single period at end of e-mails
- Significantly faster when downloading very large e-mails
- Dates/times of emails in inbox are now adjusted to local time zone
- New "Refresh mailbox stat" feature in inbox updates mailbox size
- Can now play a sound when new mail arrives
- New mail icon is now yellow, better visibility
- New /poll switch will poll all profiles upon JBMail start
- New one-time password prompt when password is left out of profile
- New /min switch will start JBMail minimized
- Saves settings if user logs off/shuts down while program is running
- Mailman list contents and new mail icon are better synchronized
- Bugfix: you can now manipulate profiles or send mail during connect
- The New button automatically names profile (Untitled)
- You can now send mail without having to enter POP3 info
- Improved GUI; hopefully easier to use
- Added support for SMTP AUTH (PLAIN and LOGIN methods)
- Improved SMTP module; now supports ESMTP and improved error handling
- Fixed false 'new mail' reports due to minor header size increases
Back to Table of Contents