SMHS Ltd has been working on standardising STANAG 4406 Edition 2 Elements of Service for Internet Email. One of the Internet Drafts that has been submitted to the IETF is the Registration of Military Message Handling System (MMHS) header fields for use in Internet Mail. This Internet Draft specifies the header field definitions to support the provision of STANAG 4406 MMHS over Internet Email and also provides for a STANAG 4406 / Internet Email Gateway supporting message conversion compliant to the Internet Draft.
In order to help gain wider adoption of this approach for MMHS over SMTP, SMHS has prototyped a number of extensions to popular email clients. These extensions enable:
On this initiative, SMHS have been collaborating closely with Isode Ltd. MMHS Over SMTP has been documented in a Isode Whitepaper which delivers a detailed synopsis of the approaches that are being taken in order to make this a reality. Isode have enhanced their M-Switch capability in R15.0 to support the RFC’s and Internet Drafts outlined in this whitepaper in order to deliver a MMHS Over SMTP capability.
The SMHS Military Messaging Client extends Thunderbird by providing an MMHS Form that can be loaded by; default on compose; selected on the tool bar of a compose Message; and loaded on reception if an MMHS Header is present.
The Main Tab of the MMHS Form, illustrated below, allows for an MMHS User to select:

The Other Tab, illustrated below, allows for an MMHS User to select:

The ACP 127 tab, illustrated below, allows an MMHS User to select:

On Submission, the Header Values will be subjected to syntax compliance checks based on the Internet Draft.
Any value that is deemed invalid will result in an error dialog being displayed, illustrating the field at fault, valid values for that field and an example. Such an error message is depicted below.

A MMHS submitted message, with the values illustrated in the previous pages, will produce the following headers in the Internet Email Message:
Return-Path:
Received: from [10.0.0.101] (cpc4-stap7-0-0-cust500.12-2.cable.virginmedia.com [86.18.193.245])
by mx.google.com with ESMTPS id n73sm903346wej.12.2011.04.01.02.41.09
(version=SSLv3 cipher=OTHER);
Fri, 01 Apr 2011 02:41:10 -0700 (PDT)
Sender: Alan Ross
Message-ID: <4D959DAB.7050307@smhs.co.uk>
Date: Fri, 01 Apr 2011 10:40:59 +0100
From: Rossi
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: alan.ross@smhs.co.uk
Subject: Test MMHS Message Over SMTP
MMHS-Primary-Precedence: 1 (Routine)
MMHS-Message-Type: 0 (exercise); identifier="CANDLE FISH"
MMHS-Extended-Authorisation-Info: Fri, 01 Apr 2011 10:40:57 +0100
MMHS-Originator-Reference: UNCLAS WHAT WAS 1500Z POSITION OF USS ESTES
MMHS-Other-Recipient-Indicator: primary="UK SHL COS"; copy="UK SHL LEGAD"
MMHS-Message-Instructions: MINIMIZE CONSIDERED; NO DISTRIBUTION
MMHS-Subject-Indicator-Codes: SDM; KKZ; BRL
MMHS-Exempted-Address: UK SHL CGT Samuals G <graham.samuals@shl.example.com>,
UK SHL Duty Officer <duty@shl.example.com>
MMHS-Acp127-Message-Identifier: RPDLE 123 11/1215Z
MMHS-Originator-PLAD: SACLANT
MMHS-Codress-Message-Indicator: 23
MMHS-Handling-Instructions: ZNY; RRRRR
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
On reception the SMHS Client determines that the message is an MMHS Message when it finds a valid MMHS Header. This results in the MMHS Form being displayed in the reading pane and when the received message is opened. The figure below illustrates the MMHS Form on reception.

SMHS has developed the client extension by extending the functionality provided by the Trustedbird Mail XForms Add-On. The MMHS Capability consists of 3 items:
The client extension can be downloaded as a zip file from here.
The instructions for installation of these 3 items are provided in the SMHS Military Messaging Client Installation Instructions document included in the zip download.
The three modules are distributed under free software licenses MPL version 1.1 and GPL version 3.
The SMHS Military Messaging Client Extension for Thunderbird has been developed to support the adoption of a number of STANAG 4406 Elements of Service over Internet Email. Further work will be undertaken to aid and support additional Elements of Service facilitating a complaint secure client based MMHS capability over Internet Email. The roadmap listed below identifies some of the areas of work that will be addressed to support the evolution of this technology:
SMHS have developed a prototype Outlook custom form that can send and receive the MMHS extension header fields in accordance with the draft 02 of the Registration of Military Message Handling System (MMHS) header fields for use in Internet Mail.
The MMHS custom form has been developed using the in-built development features of Microsoft Outlook. The VBScripting makes use of the PropertyAccessor method which is only available in later versions of Outlook. Therefore this custom form will only work with Outlook 2007 or later.
In addition to the MMHS custom form, two additional extensions are also provided:
The SMHS custom MMHS form has been developed using the Outlook Forms Designer and some VBScript coding to handle the individual MMHS fields. It uses a feature of Outlook 2007 (and later) to allow the setting of custom properties which map in SMTP message heading fields. This approach works directory through an SMTP/IMAP account (e.g. to GMail) or through an SMTP Connector via an Exchange account
The MMHS custom form is derived from the "IPM.Note" message which is used to send standard email messages in Outlook, and as a result will be generally familiar to Outlook users. Whilst the "IPM.Note" form consists of only a single tab, containing the standard messaging fields, the MMHS custom form contains three separate tabs across which the the MMHS fields are distributed. These three tabs are present when the user is both composing an MMHS message and reading an MMHS message.
The most commonly used and/or important MMHS fields are included on the standard "IPM.Note" tab. These include the primary and copy precedences, which are grouped with the standard "To:" and "Cc:" recipients, the extended authorisation information (or DTG) which should always be present in an MMHS message and the message type. Note that the extended authorization info is not currently supported on reception.
In order to distinguish this tab from the other MMHS tabs, this tab is named "Message" (as the "IPM.Note" form has a single tab, it is not displayed with a name).

The "Message" Tab in Compose Mode
The second tab is the "Other" tab which contains the other MMHS fields. These fields include the other recipients indicators, the exempted recipients, the subject indicator codes (SICs) and the message instructions. The "Other" tab can be chosen by selecting it from the "Show" button in the "Message" ribbon.

The "Other" Tab in Compose Mode
The third tab is the "ACP127" which contains the MMHS fields which provide interoperability with ACP127 systems. This tab could be removed for systems that do not require ACP127 interoperability or any of the services that these fields offer.

The "ACP127" Tab in Compose Mode
The Internet message headers that have been set by the MMHS custom form can be seen on a message in the Sent Items folder by selecting File | Info | Properties:

Internet headers
This long-winded navigation can be circumvented by using a simple macro. For example, the following "NewMMHSMessage" macro can be used to create an MMHS form:
Sub NewMMHSMessage()
Dim oApp As Outlook.Application
Dim oEmail As Outlook.MailItem
Dim oNS As Outlook.NameSpace
Dim oItems As Outlook.Items
Set oApp = New Outlook.Application
Set oNS = oApp.GetNamespace("MAPI")
Set oDrafts = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDrafts)
Set oItems = oDrafts.Items
Set oEmail = oItems.Add("IPM.Note.Custom.MMHS")
oEmail.Display
Set oEmail = Nothing
Set oItems = Nothing
Set oDrafts = Nothing
Set oNS = Nothing
Set oApp = Nothing
End Sub
In order to write the macro, the Developer Tick Box must first be selected. Once Selected a Developer Tab will appear on the Outlook Ribbon. Select the Macros Button to create a new macro and paste the code from above into your new macro. The Developer Tab can be seen in the image below for the Customised Ribbon.
To create the "NewMMHSMessage" select Home (Mail) on the Main Tabs pane. Select New Group and call it MMHS. Select the macro and Add >> to the MMHS (Custom) Folder. Select the Folder Underneath (created after the add) and rename. Choose the Shield Icon and call it "New Message".
This "NewMMHSMessage" configuration provides support for the ability to add a button to the ribbon that will run this macro and create a new MMHS message.

Customising the Ribbon with a MMHS Compose Macro
The resulting ribbon may look something like below:

Customised Ribbon
This prototype system does not currently provide signed macros and therefore the File | Options | Trust Center | Macro Settings | Trust Center Settings... | Macro Settings must be appropriately modified to allow the macro to be run. To enable the macro to run without prompting, the Macro Settings should be set to Enable all macros. This settings is not recommended for anything other than demonstration systems.
All the SMTP messages that Outlook receives will be associated with the message class "IPM.Note" and consequently will be opened with the standard Microsoft IPM.Note form. This form will not display any MMHS fields to the recipient. (Microsoft does include a way to carry the message class of the received message, but this requires the support of TNEF by both sending and receiving clients.)
In order to be able to display the MMHS fields with the MMHS form, the message class of the Outlook message must be changed as it arrives in the recipients mailbox. This can be achieved my writing a custom action will be be performed on every message as it arrives.
A simple action looks at the PR_TRANSPORT_MESSAGE_HEADERS (0x007D001E) property which, for an SMTP message, contains the SMTP message headers. If this property contains one of the MMHS over SMTP message headers, the message class can be changed appropriately.
Sub MMHSMailMessageRule(Item As Outlook.MailItem)
Dim headers As String
headers = Item.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E")
If (InStr(1, headers, vbCrLf & "mmhs-", vbTextCompare) > 0) Then
Item.MessageClass = "IPM.Note.Custom.MMHS"
Item.Save
End If
End Sub
A new rule can then be created in the "Rules and Alerts" dialog (Home | Rules | Manage Rules & Alerts...) which runs this script whenever a new message arrives. (The rule could be written to perform the action on different criteria, or even manually.)

Rule and Alerts Dialog
As a prototype system, the Outlook client extensions do not have an installation build and the various components must be installed by hand. The Outlook form is distributed as a zip file containing:
The MMHS form can be installed from the form definition file into Outlook through the "Forms Manager" dialogue on the File | Options | Advanced | Custom Forms... | Manage Forms... button. This will result in the form being installed in the Personal Forms Library.

Similarly, the rules can be imported from the rules wizard file Home | Rules | Manage Rules & Alerts... | Options | Import Rules....
The Ribbon Macro must be installed manually from the code provided on the Ribbon Macro page.
The Outlook client extensions are beig developed to keep up to date with the Draft RFC and also to add further functionality and integration with Outlook.
If you would like to know more about the MMHS custom form, or would like SMHS to consider adding some further functionality, please contact info@smhs.co.uk