Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Exchange / How to Configure DKIM on Exchange Server 2010/2013

February 20, 2018 Exchange

How to Configure DKIM on Exchange Server 2010/2013

It started when I decided to reduce the number of common e-mails that regularly got to the Spam folder in the recipient mailbox and were lost with no answer. By that time, SPF had been already configured in the domain, however, it seemed it was not enough for some of the mail servers. Thus, the idea to configure DKIM in MS Exchange Server 2010 originated.

DKIM Signer for Exchange

By default, MS Exchange Server does not support DKIM. While looking for a solution, a free transport agent Exchange DKIM Signer has been found.

If you have .NET Framework 4.5 installed, you can install the agent automatically. Otherwise, you will have to install and configure Exchange DKIM Signer manually. You can find a detailed guide on how to install it manually on the official website.

I decided to go and try the automatic installation.

  1. Back up your Exchange server just in case
  2. Download Configuration.DkimSigner.zip from https://github.com/Pro/dkim-exchange/releases/latest
  3. Unzip it into any folder and run Configuration.DkimSigner.exe
  4. Click Install
  5. Select the version to be installed in the next window
  6. Click Install and wait till the installation is complete
  7. Close the window

The new Exchange transport agent is installed. Now you have to configure it. Like in case with the installation, you can do it either manually (by editing the file C:\Program Files\Exchange DkimSigner\settigs.xml), or in the GUI (by running C:\Program Files\Exchange DkimSigner\Configuration.DkimSigner.exe).

configiring DkimSigner

Click Configure and make sure that Exchange DKIM Signer has the lowest priority (goes last in the list). It is necessary that the letters are signed at the last step after all possible modifications are made by other transport agents.

exchange transport agents

In DKIM Settings tab, specify what fields will be signed. By default, these are From, Subject, To, Date, Message-ID.

DKIM fields to sign

You can configure your domain in the Domain Settings tab. Specify the name of the domain, the selector (DNS name) and a file with the secrete key. The key can be generated right here. I had a couple of keys I got using OpenSSL:

openssl genrsa -out private.pem 1024
openssl rsa -pubout -in private.pem -out public.pem

exchnage domain key

After setting all parameters, click Save Domain. In theory, the settings should be applied right away automatically, but I have restarted Microsoft Exchange Transport just in case.

Only two DNS entries are left to be configured:

_domainkey.<your_domain_name>. TXT "t=s; o=~;"

mail._domainkey.<your_domain_name>. TXT "v=DKIM1; k=rsa; t=s; p=<public_key_contents>"

The o= parameter can take the following values:

  1. “~” — some e-mails from this domain are signed
  2. “-” — all e-mails from this domain are signed

“Mail” prior to “._domainkey” is the selector name.

It is also recommended to specify ADSP in your DNS:

_adsp._domainkey.<your_domain_name>. TXT "dkim=all"

The dkim parameter can take one of the following values:

  1. “unknown” — means there is no entry
  2. “all” — all e-mails must be signed
  3. “discardable” — unsigned e-mails must not be received

Send a text e-mail, say, to a Gmail mailbox, and look for dkim=pass in the headers:

dkim signature log

The strings are here, and it works well.

7 comments
0
Facebook Twitter Google + Pinterest
previous post
FAQ: MS Office 2013 KMS and Volume License Activation
next post
Enable Multiple Concurrent RDP Sessions in Windows 8.1 /8

Related Reading

Exchange Offline Address Book Not Updating in Outlook

March 21, 2023

How to Block Sender Domain or Email Address...

February 15, 2023

Managing Inbox Rules in Exchange with PowerShell

February 15, 2023

Convert a User Mailbox to a Shared in...

February 10, 2023

Finding Duplicate E-mail (SMTP) Addresses in Exchange

January 27, 2023

7 comments

Pete Tronga August 29, 2018 - 1:45 am

Great info thank you.

Reply
Tak Miyahira December 20, 2018 - 12:00 am

Does this even work? I have Windows 2012 R2, Exchange 2013 CU20 and doesn’t even install.

Reply
admin December 20, 2018 - 10:01 am

Are there any errors when installing DKIM Signer?

Reply
Robert February 21, 2019 - 2:10 am

Any chance of an update so it can run on CU22? Many Thanks!

Reply
talex06 April 29, 2019 - 10:58 am

Merci beaucoup pour ce tuto, Excellent!

Reply
dante July 29, 2019 - 8:44 am

Hello, this program is ok for Multi domain exchange? ( my exhange version is Exchange Hosted an i have many domain in the same exchange))

Reply
yickfatng September 4, 2019 - 11:08 am

Hello,after click “Configuration.DkimSigner.exe” on information page > changelog:Couldn’t get current version.
Check your Internet connection or restart the application.
Please help

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • How to Run Program without Admin Privileges and Bypass UAC Prompt?

    March 24, 2023
  • Configure Network Settings on Windows with PowerShell: IP Address, DNS, Default Gateway, Static Routes

    March 24, 2023
  • Exchange Offline Address Book Not Updating in Outlook

    March 21, 2023
  • Attaching Host USB Devices to WSL or Hyper-V VM

    March 20, 2023
  • Sending an E-mail to a Microsoft Teams Channel

    March 17, 2023
  • How to Restore Deleted Users in Azure AD (Microsoft 365)?

    March 16, 2023
  • Fix: Remote Desktop Services Is Currently Busy

    March 15, 2023
  • Send-MailMessage: Sending E-mails with PowerShell

    March 14, 2023
  • Clear Cache and Temp Files in User Profiles on Windows (RDS) with PowerShell and GPO

    March 13, 2023
  • Prevent Users from Creating New Groups in Microsoft 365 (Teams/Outlook)

    March 6, 2023

Follow us

woshub.com
  • Facebook
  • Twitter
  • RSS
Popular Posts
  • Configuring Anti-Spam Protection on Exchange 2013, 2016 – RBL Providers
  • New-MailboxRepairRequest: Fixing Corrupted Mailboxes in Exchange 2016/2013/2010
  • How to Import and Export Mailbox to PST in Exchange 2016/2013/2010?
  • Get-MessageTrackingLog: Search Message Tracking Logs on Exchange Server
  • Exchange Error “452 4.3.1 Insufficient system resources”
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top