Question


DKIM was implemented for the customers domain within Office 365.

We notice that the dkim failure in the message header:
dkim=fail (body hash did not verify)
 

Workaround


What we have seen in the message headers, of Tenants with DKIM enabled is the below:

3. Email from O365 to Recipient: DKIM signature added DKIM passes

2. Emails from Crossware to O365: DKIM fails

1. Email From O365 to Crossware: the DKIM signature is added


Flow of Mail: Your Tenant O365 Tenant -> Crossware -> Your Tenant O365 Tenant -> Destination



Crossware does not usually remove any Header information.

However, attached is code for Field which can be used to remove the DKIM field, when it is being processed by Crossware.

The Field needs to be added to the signature configuration. Below are steps on how to create and add a field:

 

1. Log into Crossware signature portal - https://portal.crossware365.com/cms/home
 

2. Open the signature designer
 

3. From the menu on the left Expand Admin - Fields - Create New - formula
 

4. Field Name - Dkim_Removal
 

5. In Formula - window paste the attached code
 

6. Save the new field.

7. You now need to add this lookup to you Signature, it will not display anything but its a blank field that will trigger the removal action.

8. Edit a signature and then add the new DKIM filed to this signature (anywhere) below your signature , this will trigger the DKIM.


Below is the Updated Code to use in the DKIM removal field:


string strTemp = "";

if(pEmailHeaders.ContainsKey("DKIM-Signature")){ 
pEmailHeaders.Remove("DKIM-Signature");

if(pEmailHeaders.ContainsKey("ARC-Authentication-Results")){ 
pEmailHeaders.Remove("ARC-Authentication-Results");


if(pEmailHeaders.ContainsKey("ARC-Message-Signature")){ 
pEmailHeaders.Remove("ARC-Message-Signature");


if(pEmailHeaders.ContainsKey("ARC-Seal")){ 
pEmailHeaders.Remove("ARC-Seal");


if(pEmailHeaders.ContainsKey("Authentication-Results")){ 
pEmailHeaders.Remove("Authentication-Results");


if(pEmailHeaders.ContainsKey("X-MS-Exchange-SenderADCheck")){ 
pEmailHeaders.Remove("X-MS-Exchange-SenderADCheck");
}

if(pEmailHeaders.ContainsKey("X-MS-Exchange-Authentication-Results")){ 
pEmailHeaders.Remove("X-MS-Exchange-Authentication-Results");
}

return strTemp;




Remove DKIM (txt)