Welcome to DkimX

product logo
Welcome to DkimX 3.70

To create a simple, working DKIM signer configuration after a fresh installation, please follow the steps described in the topic Enable a Local Domain for DKIM Signing.

If you want to see something be implemented in a future release of this product or if you want to report a bug or have any other technical question related to this product, please send an email to support@netal.com.

company logo
www.netal.com
Franz Krainer
franzk@netal.com


Release Notes

DkimX 3.70 Release Notes

Welcome to DkimX 3.70. Please refer to these release notes to obtain the most up-to-date information about installation, documentation, support, and other known issues.

  • Release History
  • Installing DkimX 3.70
  • Upgrading from DkimX 1.x
  • Upgrading from DkimX 2.x
  • Upgrading from DkimX 3.x
  • Updating MS Exchange Server
  • Managing DkimX on Windows Server 2019/2022/2025 Server Core installations
  • Product Documentation
  • Evaluation License
  • Technical Support

Release History

v3.70 -/- 2025-04-03:

New or changed features:

  • A new property (CreationDate) has been added to Domain Key objects, which contains the date when the object has been created. In case of already existing Domain Key objects, the value of this new property is set to 2000-01-01 00:00:00 UTC.
  • A new property (HtmlText) has been added to Dmarc Aggregate Report objects, to provide optional support for report messages containing HTML formatted body text.
  • The new cmdlet Test-DmarcAggregateReportMessage (Management Shell) can generate and send a test Dmarc Aggregate Report message for review purposes.
  • Some changes in the Management Console UI should improve usability regarding the creation of DNS TXT records for Domain Key objects.

Fixed issues:

  • The DNS resolver of the verifier may fail to correctly process the response from a DNS server when communicating over TCP. This can happen if the DNS response contains a large result set which does not fit completely into a UDP packet, in which case the request is retried over TCP.

v3.60 -/- 2024-02-03:

New or changed features:

  • The import of key data, either by using the New-DkimSignerDomainKey cmdlet (Management Shell) or the New Domain Key dialog (Management Console), now also supports files in the legacy PKCS#1 format (.PEM).

Fixed issues:

  • The import of PKCS#8 formatted files (.PEM or .DER) containing key data, either by using the New-DkimSignerDomainKey cmdlet (Management Shell) or the New Domain Key dialog (Management Console), does not succeed in circa 20% of all cases.

v3.51 -/- 2022-03-01:

New or changed features:

  • None

Fixed issues:

  • The Set-VerifierMessageLog cmdlet incorrectly modifies the properties of the DKIM Signer Message Log configuration instead of the Verifier Message Log configuration.

v3.50 -/- 2022-01-14:

New or changed features:

  • Centralized management of multiple DkimX instances can optionally be implemented by configuring Inter-Server-Communication.
  • A new setting on the DKIM signer can be used to specify whether recipients in custom local domains should be treated by the DKIM signer as external recipients when deciding if a message should be signed or not.

Fixed issues:

  • None

v3.20 -/- 2019-01-09:

New or changed features:

  • The product now supports MS Exchange Server 2019 on Windows Server 2019 (Server Core & Desktop Experience).

Fixed issues:

  • The automatic cleanup of DKIM signer/verifier message log files that are older than the configured maximum age does not work.
  • The SPF verifier may fail to evaluate SPF records that contain one or more include mechanisms due to a race condition.

v3.10 -/- 2018-11-02:

New or changed features:

  • DKIM signer and DKIM verifier provide support for the signing algorithm Ed25519-SHA256, according to RFC 8463.
  • Support for importing a private key from file has changed: The import into an existing DKIM signer domain key object is no longer possible, the Import-DkimSignerDomainKey cmdlet (Management Shell) and the Import Private Key from File Wizard (Management Console) have been removed. The import is now supported at the time of creating a new DKIM signer domain key object, either by using the New-DkimSignerDomainKey cmdlet (Management Shell) or the New Domain Key dialog (Management Console).

Fixed issues:

  • The Set-DkimVerifier cmdlet incorrectly rejects valid values for the parameters MinRsaKeySize and MaxRsaKeySize.

v3.0 -/- 2018-06-07:

DkimX 3.0 has been greatly improved compared to previous versions and implements the following main changes:

  • Configuration management and resource management is now implemented in a distinct service which runs under the Network Service account.
  • Full support for SPF, DKIM and DMARC verification of inbound messages.
  • Full support for DMARC reporting.
  • Configuration changes are effective immediately. In previous versions configuration changes were cached till being explicitly applied.

Installing DkimX 3.7

Prerequisites for the DkimX feature:

  • Windows Server 2012 (R2), Windows Server 2016, Windows Server 2019 (Server Core & Desktop Experience), Windows Server 2022 (Server Core & Desktop Experience), Windows Server 2025 (Server Core & Desktop Experience).
  • MS Exchange Server 2013 with at least CU23 or MS Exchange Server 2016 with at least CU15 or MS Exchange Server 2019 with at least CU4, either with the Mailbox Server role or the Edge Transport Server role installed.

note Note During installation of DkimX, the service Microsoft Exchange Transport will be restarted.

note Note To create a simple, working DKIM signer configuration after a fresh installation, please follow the steps described in the topic Enable a Local Domain for DKIM Signing.

note Note Though optional, we strongly recommend that you configure one or more recipients of server notifications which will be notified by email of critical errors, license management events and product updates.

Other Installation Considerations

Uninstalling the Product

To uninstall the product, open the Add/Remove Programs applet in the Control Panel, select DkimX 3.70 and click the Remove button.

note Note During uninstallation of DkimX, the service Microsoft Exchange Transport will be restarted.

Upgrading from DkimX 1.x

An in-place upgrade from a DkimX 1.x version to DkimX 3.70 is not supported because DkimX 3.70 can only be installed on MS Exchange 2013/2016/2019 servers while DkimX 1.x versions could only be installed on MS Exchange 2007/2010 servers.

It is possible to perform a one-time migration of your DkimX 1.x configuration: How to Migrate DkimX 1.x/2.x Configuration Settings.

Upgrading from DkimX 2.x

Upgrading from any DkimX 2.x version is supported. All configuration settings will be preserved.

In an in-place upgrade from a DkimX 2.x version is not desired, it is possible to perform a one-time migration of your DkimX 2.x configuration: How to Migrate DkimX 1.x/2.x Configuration Settings.

Upgrading from DkimX 3.x

Upgrading from a previous DkimX 3.x version is supported. All configuration settings will be preserved.

Updating MS Exchange Server

When MS Exchange Server 2013/2016/2019 is updated to the latest cumulative update (CU), the priorities of registered transport agents may be changed, probably resulting in suboptimal functionality of DkimX. We recommend that you check and probably fix the priorities of the DkimX transport agents after updating MS Exchange Server 2013/2016/2019.

Managing DkimX on Windows Server 2019/2022/2025 Server Core installations

To manage a DkimX installation, you can either use the DkimX Management Shell, which provides a command-line interface, or you can use the DkimX Management Console, which provides a graphical user interface (GUI).

On a Windows Server 2019/2022/2025 Server Core installation, to start the DkimX Management Shell you run in the CMD prompt the CMD file LaunchDMS.cmd, located in the directory <InstallDir>\Bin, for example:

"%ProgramFiles%\DkimX\Bin\LaunchDMS.cmd"

To use the DkimX Management Console on a Windows Server 2019/2022/2025 Server Core installation requires installation of the optional feature package Server Core App Compatibility Feature on Demand (FOD). When FOD is installed, MMC 3.0 Snap-Ins, like DkimX Management Console, can be used. To start the DkimX Management Console you run in the CMD prompt the MSC file DkimX.msc, located in the directory <InstallDir>\Bin, for example:

"%ProgramFiles%\DkimX\Bin\DkimX.msc"

Product Documentation

The documentation for the product is available by accessing the DkimX Documentation item in the program group where the product is installed.

Evaluation License

DkimX 3.70 ships with an evaluation license which will expire 60 days after installation.

Technical Support

If you have a technical question about DkimX, use this online documentation or consult Help by clicking the Help button during a procedure. If this doesn't help you, please direct your technical questions to support@netal.com.

Copyright Information

© 2011-2025 Franz Krainer

These materials are provided "as-is", for informational purposes only.

Neither Franz Krainer nor his suppliers makes any warranty, express or implied with respect to the content of these materials or the accuracy of any information contained herein, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose. Because some states/jurisdictions do not allow exclusions of implied warranties, the above limitation may not apply to you.

Neither Franz Krainer nor his suppliers shall have any liability for any damages whatsoever including consequential, incidental, direct, indirect, special, and lost profits. Because some states/jurisdictions do not allow exclusions of implied warranties, the above limitation may not apply to you.

2025-04-03


Setup

Welcome to the Setup topic. This section provides general information about installation requirements, procedures, and options. If you are having difficulty with your installation, review this information to be sure your computer is configured correctly and meets all the system requirements.

This section contains:

  • System Requirements: Required and recommended software.
  • Installation: The installation process on your computer.
  • Uninstallation: How to remove DkimX from the system.


System Requirements

Please make sure that the following software is installed on the computer prior to the installation of DkimX:

Prerequisites for the DkimX feature:

  • Windows Server 2012 (R2), Windows Server 2016, Windows Server 2019 (Server Core & Desktop Experience), Windows Server 2022 (Server Core & Desktop Experience), Windows Server 2025 (Server Core & Desktop Experience)
  • MS Exchange Server 2013 with at least CU23 or MS Exchange Server 2016 with at least CU15 or MS Exchange Server 2019 with at least CU4, either with the Mailbox Server role or the Edge Transport Server role installed


Installation

To install DkimX
  1. Double-click the installation package .MSI file.
  2. On the Welcome page of the Setup Wizard, click Next.
  3. Read the license agreement on the End-User License Agreement page. Only if you accept all the terms of the license agreement, check I accept the terms in the License Agreement and click Next.
  4. On the Custom Setup page, select the product features to install and choose the folder into which to install the software and click Next.
  5. On the Ready to install DkimX 3.70 page, click Next to start the installation process.
  6. On the Setup Complete page, which is displayed after successful installation, click Finish.

note Note You must be logged in as an administrator of the computer to successfully install the product.

note Note During installation of DkimX, the service Microsoft Exchange Transport will be restarted.

note Note To create a simple, working DKIM signer configuration after a fresh installation, please follow the steps described in the topic Enable a Local Domain for DKIM Signing.


Uninstallation

To uninstall DkimX
  1. From the Start menu, choose Settings and then Control Panel.
  2. In Control Panel, double-click Add/Remove Programs.
  3. Select DkimX 3.70.
  4. Click the Remove button.
  5. Click Yes on the confirmation dialog.

note Note During uninstallation of DkimX, the service Microsoft Exchange Transport will be restarted.


Concepts

Welcome to the Concepts topic. This section provides information about product features and how the product works.

This section contains:

  • Introducing DkimX: Describes what DkimX is all about.
  • Product Components: Describes the product components of DkimX.
  • Deployment Scenarios: Describes how DkimX can be deployed in existing email environments.
  • Message Processing Logic: Describes how DkimX processes email messages.


Introducing DkimX

DkimX 3.70 is an add-on for MS Exchange Server 2013/2016/2019 server which supports DKIM-signing of outgoing messages and verification of incoming messages by using the following message authentication mechanisms: SPF, DKIM, DMARC.

Features:

  • DKIM Signer:
    • Supports rule-based message processing for outgoing messages in an MS Exchange Server environment.
    • Allows configuring every aspect of the DKIM-specification (RFC 6376, RFC 8301) for signing messages (including 3rd party signatures and multiple signatures).
  • Verifier:
    • SPF (RFC 7208) verification
    • DKIM (RFC 6376, RFC 8301) verification
    • DMARC (RFC 7489) verification
    • DMARC report generator:
      • Full support for DMARC aggregate reports, including support for intraday report generation periods.
      • Full support for DMARC failure reports.
      • Support for hosting environments: distinct settings depending on recipient domains.
    • The verification results are published by adding Authentication-Results header fields (RFC 7601) and optionally custom header fields to evaluated messages.
  • Administration by using the DkimX Management Shell (PowerShell-based command line interface) or DkimX Management Console (GUI implemented as an MMC 3.0 Snap-In).
  • Supports centralized management of multiple DkimX instances by using Inter-Server-Communication
  • Supports easy backup and restore of configuration data.
  • Monitoring and troubleshooting:
    • Message logs (DKIM signer message log, verifier message log)
    • Application-specific event logs
    • Performance counters
  • Low resource usage, excellent performance and high scalability of the processing engines, whose implementations are based on asynchronous tasks.


Product Components

DkimX consists of four main product components: Transport Agents, Management Service, Management Shell and Management Console.

  • DkimX Transport Agents implement the DKIM signer engine and the verifier engine. Each engine is implemented as an MS Exchange Server 2013/2016/2019 transport agent, which runs within the service Microsoft Exchange Transport.
  • DkimX Management Service implements configuration management, DNS record management (resolver and cache) and the DMARC report generator. The DkimX Management service runs under the Network Service account, like the service Microsoft Exchange Transport.
  • DkimX Management Shell provides a command-line interface for managing the configuration of DkimX. It is built on Windows PowerShell technology.
  • DkimX Management Console is a Microsoft Management Console (MMC) 3.0-based tool that provides administrators with a graphical user interface (GUI) to manage the configuration of DkimX. You can also add the DkimX Management Console snap-in to custom MMC-based tools.


Deployment Scenarios

DkimX can only be installed on MS Exchange 2013/2016/2019 servers with either the Mailbox Server role or the Edge Transport Server role installed. Please note the following deployment options:

  • If you send outbound messages and receive inbound messages through Edge Transport servers, it is recommended to deploy DkimX on all your Edge Transport servers.
  • If you don't make use of Edge Transport Servers, you must deploy DkimX on all Mailbox servers in your MS Exchange organization which are responsible for Internet mail delivery (e.g. are configured as bridgehead servers for the Internet SMTP send/receive connectors).


Message Processing Logic

DKIM Signer

The message processing logic of the DKIM signer works as follows:

  1. A message is received by the service Microsoft Exchange Transport and then evaluated by the DkimX DKIM Signer transport agent.
  2. The transport agent first checks if the sender address is a local address and at least one recipient is an external address. If this test fails, the message is ignored.
  3. Then the DKIM signer restrictions (excluded recipients and message size) are evaluated. If a restriction applies, the message is ignored.
  4. The message is now processed by matching it against the existing signer rules. If a signer rule matches, the specified actions are executed.

Verifier

The message processing logic of the verifier works as follows:

  1. A message is received by the service Microsoft Exchange Transport and then evaluated by the DkimX Verifier transport agent.
  2. The transport agent first checks if the inbound session through which the message is received is not exempted from verifier processing. If this test fails, the message is ignored.
  3. Then the verifier restrictions (excluded source IP addresses and excluded From addresses) are evaluated. If a restriction applies, the message is ignored.
  4. The message is now verified by evaluating the enabled message authentication mechanisms (SPF, DKIM, DMARC).
  5. The evaluation results are added to the message header for optional later use by MS Exchange transport rules.


Administrator’s Guide

Welcome to the Administrator’s Guide topic.

This section contains:
  • Configuration and Management: Help topics related to configuration and management.
  • DKIM Signer: Help topics related to the DKIM signer.
  • Verifier: Help topics related to the verifier.
  • DMARC Reporting: Help topics related to DMARC report generation.


Administrator’s Guide - Configuration and Management

Welcome to the Administrator’s Guide topic related to configuration and management.

This section contains:
  • Management Interfaces and Permissions: Describes available management interfaces and default permissions.
  • Configuration Files: Describes how and where configuration settings are stored.
  • Migrating DkimX 1.x/2.x Configuration Settings: Describes how to migrate the configuration of a DkimX 1.x/2.x installation.
  • Backing Up and Restoring the Configuration: Describes how to back up and restore the configuration.
  • Centralized Management with Inter-Server-Communication: Describes how to configure the Inter-Server-Communication feature to implement centralized management of your DkimX environment.
  • Replicating the Configuration Without Using Inter-Server-Communication: Describes how to replicate the configuration between multiple DkimX instances if the optional Inter-Server-Communication feature is not used.
  • Check and Fix Transport Agent Priorities: Describes how to check and fix, if needed, the priorities of the product's transport agents.
  • Monitoring and Troubleshooting: Describes how to monitor and troubleshoot product functionality.


Management Interfaces and Permissions

To manage a DkimX installation, you can either use the DkimX Management Shell, which provides a command-line interface, or you can use the DkimX Management Console, which provides a graphical user interface (GUI). Both mechanisms use the DkimX PowerShell Module to connect to the DkimX Management service to perform administrative activities.

note Note The DkimX Management Shell allows management of all configuration settings (with the exception of some optional registry settings), while some advanced configuration settings are not available in the DkimX Management Console.

By default, only members of the built-in Administrators group are allowed to connect to the DkimX Management service to perform administrative activities. If you want to assign management permissions to additional accounts, you can specify them by using the optional registry setting ManagementAccounts.

Related Topics

Registry Settings


Configuration Files

All configuration settings of DkimX, with the exception of some optional registry settings, are stored in three XML-files (DkimSigner.xml, Service.xml, Verifier.xml), located in the directory <InstallDir>\Data\Configuration. These configuration files are loaded by the DkimX Management service, which is responsible for configuration management, at service startup. Configuration changes through the DkimX PowerShell Module, which is used by the DkimX Management Shell and the DkimX Management Console, are effective immediately and then written to the relevant configuration files to be stored persistently.

When a configuration file is changed or overwritten when the DkimX Management service is running, the service will check if the timestamp of the modified configuration file is newer than the timestamp of the currently loaded content of the configuration file. If yes, the configuration file is loaded as the new current configuration content. If no, the current configuration content will be written to file, overwriting the configuration file.

Related Topics

Migrating DkimX 1.x/2.x Configuration Settings

Backing Up and Restoring the Configuration

Centralized Management with Inter-Server-Communication

Replicating the Configuration Without Using Inter-Server-Communication

Registry Settings


Migrating DkimX 1.x/2.x Configuration Settings

note Note The migration of an old configuration is only needed when an in-place upgrade is not possible.

If you want to migrate the configuration settings of an old DkimX 1.x/2.x installation, you need a copy of the old configuration file Config.xml, located in <InstallDir>\Data\Configuration, and then perform the following steps on the new installation:

  1. Stop the DkimX Management service.
  2. Delete all existing configuration files in the directory <InstallDir>\Data\Configuration.
  3. Copy the old configuration file Config.xml into the directory <InstallDir>\Data\Configuration.
  4. Start the DkimX Management service.


Backing Up and Restoring the Configuration

The configuration of DkimX is stored in three XML-files (DkimSigner.xml, Service.xml, Verifier.xml), located in the directory <InstallDir>\Data\Configuration. To backup the configuration, copy the content of this directory to a backup location.

If you want to restore a saved configuration, perform the following steps:

  1. Stop the DkimX Management service.
  2. Copy the saved configuration files into the directory <InstallDir>\Data\Configuration, probably overwriting existing configuration files.
  3. Start the DkimX Management service.

important IMPORTANT The private keys of DKIM signer domain key objects are stored unencrypted in the configuration file DkimSigner.xml. You must therefore make sure that only authorized users are allowed to read or write this configuration file!

Related Topics

Configuration Files


Centralized Management with Inter-Server-Communication

If you install and use DkimX on more than one MS Exchange server, you may optionally implement centralized management of your DkimX environment by configuring Inter-Server-Communication (ISC) between your DkimX instances.

ISC has the following properties:

  • Supports a star topology with one primary and one or more secondaries
  • A DkimX instance is configured either as primary or as secondary by registry settings
  • Encrypted data transfer by using the TLS protocol, where the primary functions as TLS server and the secondaries as TLS clients
  • Supports optional certificate-based authentication
  • Supports optional connection control by IP-addresses
  • Provides the following services:
    • Replication of configuration files from primary to secondary
    • Forwarding of message processing log records from secondary to primary for:
      • Centralized message logs (DKIM signer & verifier)
      • Centralized generation and sending of DMARC reports (verifier)
  • Provides fault tolerant handling of communication problems between primary and secondaries:
    • Secondaries continue to operate using their local configuration files
    • Message processing log records destined for the primary are buffered for a configurable period. Should the communication problems continue for longer than the maximum buffer period, the message processing log records are not discarded but processed locally by the secondary

After ISC has been configured, the primary is the single point of management: Configuration changes are automatically replicated to the secondaries and message processing log records from the primary and the secondaries are processed centrally by the primary.

note Note A configuration file from the primary will only be replicated to a secondary if the file on the primary has a timestamp which is newer than the timestamp of the file on the secondary. To make sure that newly configured secondaries receive the configuration files from the primary in case that their local configuration files are newer, the configuration on the primary should be modified to update the timestamps of its configuration files. The recommended approach to touch the complete configuration, which is contained in three configuration files, is to execute the following three commands in the DkimX Management Shell on the primary:

Set-RecordProvider -CacheEnabled (Get-RecordProvider).CacheEnabled
Set-DkimSigner -Enabled (Get-DkimSigner).Enabled
Set-Verifier -Enabled (Get-Verifier).Enabled

The ISC configuration is specified by registry values below the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Netal\DkimX\Settings\ISC.

Primary

To configure a DkimX instance as the primary requires the single registry value ListenerPort, which specifies the TCP port on which the primary will listen as TLS server for incoming connections from the secondaries as TLS clients.

Without further optional settings, the primary as TLS server will

  • Listen on all local IP-addresses for incoming connections from any IP-address
  • Use a temporary self-signed certificate as TLS server certificate
  • Accept any TLS client certificate from secondaries

You may specify the following optional registry values:

  • CertificateThumbprint: To specify an existing machine certificate for use as TLS server certificate
  • ListenerIPAddresses: To specify explicitly the local IP-addresses on which to listen for incoming connections
  • MaxConnections: To specify a custom maximum number of concurrent connections with secondaries
  • SecondaryCertificateThumbprints: To specify a list of accepted TLS client certificates. This requires that the secondaries as TLS clients are not using their temporary self-signed certificate but are configured with an existing machine certificate as TLS client certificate
  • SecondaryIPAddresses: To specify a list of allowed IP-addresses of secondaries

Secondary

To configure a DkimX instance as a secondary requires the single registry value PrimaryIPEndPoint, which specifies the endpoint of the primary to connect to.

Without further optional settings, the secondary as TLS client will

  • Use a temporary self-signed certificate as TLS client certificate
  • Accept any TLS server certificate from the primary
  • Utilize all available services

You may specify the following optional registry values:

  • CertificateThumbprint: To specify an existing machine certificate for use as TLS client certificate
  • ConnectRetryInterval: To specify a custom interval between attempts to create a connection to the primary
  • MaxMprQueueLength: To specify a custom maximum length of the queue holding message processing log records waiting to be delivered to the primary in case of connection problems
  • MaxMprQueueTime: To specify a custom maximum time how long message processing log records will be queued for transfer to the primary in case of connection problems
  • PrimaryCertificateThumbprint: To specify the TLS server certificate. This requires that the primary as TLS server is not using its temporary self-signed certificate but is configured with an existing machine certificate as TLS server certificate
  • Services: To specify which services will be utilized by the connection with the primary

Related Topics

Configuration Files

Replicating the Configuration Without Using Inter-Server-Communication

Registry Settings


Replicating the Configuration Without Using Inter-Server-Communication

If you install and use DkimX on more than one MS Exchange server, you must make sure that all instances of DkimX use the same configuration. If you configure Inter-Server-Communication (ISC) to implement centralized management, the replication of the configuration files from the primary to the secondaries is handled automatically. If you do not want for some reasons to use ISC for centralized management, the recommended approach to achieve the goal of all DkimX instances using the same configuration, is to perform all configuration changes on a single MS Exchange server with DkimX installed, and afterwards copy the three configuration files (DkimSigner.xml, Service.xml, Verifier.xml), located in <InstallDir>\Data\Configuration, from this MS Exchange server to all other MS Exchange servers with DkimX installed.

note Note The DkimX Management service will load a configuration file from disk only if the file has a timestamp which is newer than the timestamp of the currently loaded configuration file, otherwise the currently loaded configuration file will be written back to disk. This means that if you want restore older configuration files, you must stop the DkimX Management service before you overwrite the configuration files.

Related Topics

Configuration Files

Centralized Management with Inter-Server-Communication


Check and Fix Transport Agent Priorities

When DkimX is installed, its two transport agents are registered with MS Exchange server with optimal priorities. The DkimX DKIM Signer transport agent is assigned the last position in the transport agent list and the DkimX Verifier transport agent is assigned the first position in the transport agent list.

When MS Exchange Server 2013/2016/2019 is updated to the latest cumulative update (CU), the priorities of registered transport agents may be changed, probably resulting in suboptimal functionality of DkimX. After updating MS Exchange Server 2013/2016/2019 you should therefore check and probably fix the priorities of the DkimX transport agents by performing the following steps:

  1. Open the Exchange Management Shell.
  2. Start the script CheckAndFixDkimXTransportAgentPriorities.ps1, located in the directory <InstallDir>\Bin, without any parameter.
  3. If the script displays one or more warnings, continue with step 4, otherwise no priority change is needed.
  4. Start the script CheckAndFixDkimXTransportAgentPriorities.ps1 with the parameter -Fix.
  5. Restart the service Microsoft Exchange Transport for changes to take effect.


Monitoring and Troubleshooting

There are three mechanisms for providing log data for monitoring and troubleshooting purposes:

  • Event Logs
  • Message Logs
  • Performance Counters

note Note Though optional, we strongly recommend that you configure one or more recipients of server notifications which will be notified by email of critical errors, license management events and product updates.


Administrator’s Guide - DKIM Signer

Welcome to the Administrator’s Guide topic related to the DKIM signer.

This section contains:
  • Domain Keys, Policies and Rules: Describes what domain keys, policies and rules are and how they are related.
  • Enable a Local Domain for DKIM Signing: Describes the steps required to enable a local domain for DKIM signing.
  • Testing the Configuration: Describes how to test the configuration.


Domain Keys, Policies and Rules

How the DKIM signer signs which messages is specified by three types of management objects:

  • Domain Key: A domain key object specifies the RSA key data for a specific email domain and chosen selector. The private key is used for signing a message, the public key, which must be published in DNS, is used by a DKIM verifier for verifying the DKIM signature of a signed message.
  • Policy: A policy specifies how (canonicalization, header fields to sign, etc.) a message is signed.
  • Rule: A rule specifies which messages are signed using a specific domain key and policy.

Related Topics

Manage DKIM Signer Domain Keys

Manage DKIM Signer Policies

Manage DKIM Signer Rules

DKIM Signer Domain Key Properties

DKIM Signer Policy Properties

DKIM Signer Rule Properties


Enable a Local Domain for DKIM Signing

To enable a local domain for DKIM signing after a fresh installation of DkimX, perform the following steps:

  1. Open the DkimX Management Console.
  2. Navigate to the DKIM Signer node and select on the Action menu the item Enable a Local Domain for DKIM Signing.
  3. The first page of the Enable a Local Domain for DKIM Signing Wizard is displayed. Click Next to move to the Domain wizard page.
  4. On the Domain wizard page, select the local domain you want to enable for DKIM signing, then click Next.
  5. On the Selector wizard page, specify the selector to use for the domain key, then click Next.
  6. On the RSA Key Size wizard page, select the size of the RSA key to be generated, then click Next.
  7. On the Policy wizard page, select the existing policy Default, then click Next.
  8. On the Rule wizard page, accept the offered rule name or specify your own, then click Next.
  9. On the Enable wizard page, review the configuration, then click Enable.
  10. On the Completion wizard page, click DNS TXT Record....
  11. On the DNS TXT Record dialog page, click Generate.
  12. Make a copy of the displayed information of the generated DNS TXT record, then click Close.
  13. Click Finish to close the wizard.
  14. Publish the DNS TXT record in the DNS zone for the domain to allow DKIM verifiers to look up information required to verify messages sent from this domain.
  15. In the DkimX Management Console, right-click the rule that was created by the wizard and click Enable in the displayed context menu.

note Note After a fresh installation the management object DKIM Signer is disabled by default. You must enable it to activate the DKIM signer engine.

note Note We recommend that you test your configuration after you enable a domain for DKIM signing.

note Note Though optional, we strongly recommend that you configure one or more recipients of server notifications which will be notified by email of critical errors, license management events and product updates.


Testing the Configuration

To verify that your configuration of the DKIM signer is working as expected, you can send test messages to auto-responders on the Internet, which will validate a received message for having a valid DKIM signature and then respond with a reply message containing the result of the verification. Some of the currently available auto-responders on the Internet are:

  • check-auth@verifier.port25.com
  • dktest@blackops.org
  • dkim-test@mdaemon.com
  • autorespond+dkim@dk.elandsys.com

note Note As of 2025-04-03: None of the listed auto-responders implement support for RFC 8463 yet. This means that they all consider DKIM signatures using the signing algorithm Ed25519-SHA256 to be invalid.


Administrator’s Guide - Verifier

Welcome to the Administrator’s Guide topic related to the verifier.

This section contains:
  • Verifier Management Objects and Message Authentication Mechanisms: Describes verifier management objects and how they are related to the supported message authentication mechanisms (MAM).
  • Verification Results and How to Make Use of Them: Describes how message verification results are published and how to use this information.
  • MS Exchange Transport Configuration for SPF Verifier: Describes which MS Exchange transport setting must be configured if use of the SPF verifier is desired.


Verifier Management Objects and Message Authentication Mechanisms

The management object Verifier represents the verifier engine, which can verify incoming messages by evaluating up to three message authentication mechanisms (MAM): SPF (RFC 7208), DKIM (RFC 6376, RFC 8301) and DMARC (RFC 7489). Each implemented message authentication mechanism is represented by its own sub-verifier management object: SPF Verifier, DKIM Verifier and DMARC Verifier.

When the management object Verifier is enabled, the verifier engine will evaluate every message authentication mechanism, whose sub-verifier management object is enabled. When the management object Verifier is disabled, the verifier engine will not process any incoming message, no matter if any sub-verifier management object is enabled or not.

The verification results of a message are published by adding one or more header fields to the evaluated message, unless the message was rejected during the SMTP session.

Related Topics

Manage Verifier

Manage SPF Verifier

Manage DKIM Verifier

Manage DMARC Verifier

Verifier Properties

SPF Verifier Properties

DKIM Verifier Properties

DMARC Verifier Properties


Verification Results and How to Make Use of Them

When a message has been evaluated by the verifier engine and the message was not rejected during the SMTP session, one or more header fields will be added to the message before it is passed on:

  • An Authentication-Results header field (RFC 7601) will be added unconditionally.
  • A Received-SPF header field (RFC 7208, Section 9.1.) will be added if the SPF mechanism was evaluated and the addition of this header field is enabled (by default: disabled).
  • An X-DMARC-Fail-Disposition header field will be added if the DMARC mechanism was evaluated and the DMARC verification result is fail and the addition of this header field is enabled (by default: enabled). The value of this header field will be the evaluated fail disposition: None, Quarantine or Reject.

note Note The value of the Authentication-Results header field is also written to the verifier message log, if it is enabled.

You can specify what should happen (set SCL, redirect, reject, delete, etc.) to evaluated messages by creating MS Exchange transport rules (mail flow rules). For example, if you want to execute a specific action on messages which failed DMARC verification with disposition Quarantine, you would specify the following condition in the MS Exchange transport rule:

  • Type: A message header includes any of these words
  • Header name: X-DMARC-Fail-Disposition
  • Word: Quarantine

Related Topics

Verifier Properties

SPF Verifier Properties

DMARC Verifier Properties


Verification Results and How to Make Use of Them

MS Exchange Transport Configuration for SPF Verifier

If you want to use the SPF verifier, the property InternalSMTPServers of the MS Exchange transport configuration should be configured with the IP-addresses of your internal SMTP servers.

If the MS Exchange server doesn’t accept messages directly from the Internet but through one or more smarthosts/SMTP relays, for the SPF verifier to be able to evaluate the correct sender IP addresses it is necessary that the IP addresses of these intermediate smarthosts/SMTP relays are also contained in the list of internal SMTP servers.

To configure the property InternalSMTPServers of the MS Exchange transport configuration you will use the cmdlet Set-TransportConfig in the Exchange Management Shell:

Example:

Set-TransportConfig -InternalSMTPServers "10.10.1.10", "10.10.1.11", "10.10.20.200"


Administrator’s Guide - DMARC Reporting

Welcome to the Administrator’s Guide topic related to DMARC report generation.

This section contains:
  • DMARC Aggregate Reports: Describes configuration management and report generation of DMARC aggregate reports.
  • DMARC Failure Reports: Describes configuration management and report generation of DMARC failure reports.


DMARC Aggregate Reports

When DMARC verification is enabled, DkimX can generate and send by email DMARC aggregate reports according to RFC 7489, Section 7.2.

If and how DMARC aggregate reports are generated and sent depends on DMARC aggregate report objects in the configuration.

The management object Aggregate Report in the DkimX Management Console represents the default DMARC aggregate report object, which applies to all recipient domains that are not explicitly assigned to one or more custom DMARC aggregate report objects. By default, there are no custom DMARC aggregate report objects.

If the MS Exchange environment hosts a single company, custom DMARC aggregate report objects are usually not needed and the default DMARC aggregate report object is used to configure DMARC aggregate reporting.

note Note Management of custom DMARC aggregate report objects can only be done in the DkimX Management Shell.

note Note You can manage the default DMARC aggregate report object in the DkimX Management Console, but some of its properties, e.g. PlainText and HtmlText, can only be managed in the DkimX Management Shell.

Immediately after a message has been evaluated, the data needed for later DMARC aggregate report generation is written to database files in the directory <InstallDir>\Reporting. Some minutes after every hour the DMARC report generator task will read the existing database files to generate and send DMARC aggregate reports. Old database files that are no longer relevant for DMARC aggregate report generation are automatically deleted once a day.

The values of the properties PlainText and HtmlText are template strings. Both properties can make use of the following substitution variables: PolicyDomain, SenderDomain, MetadataOrgName, MetadataEmail, MetadataExtraContactInfo.

If you change the properties PlainText or HtmlText of a DMARC aggregate report object and you want to review how the resulting report message will look like, you can use the cmdlet Test-DmarcAggregateReportMessage to generate and send a test DMARC aggregate report message to custom recipients for review purposes.

Related Topics

DMARC Aggregate Report

Template Strings


DMARC Failure Reports

When DMARC verification is enabled, DkimX can generate and send by email DMARC failure reports according to RFC 7489, Section 7.3.

If and how DMARC failure reports are generated and sent depends on DMARC failure report objects in the configuration.

The management object Failure Report in the DkimX Management Console represents the default DMARC failure report object, which applies to all recipient domains that are not explicitly assigned to one or more custom DMARC failure report objects. By default, there are no custom DMARC failure report objects.

If the MS Exchange environment hosts a single company, custom DMARC failure report objects are usually not needed and the default DMARC failure report object is used to configure DMARC failure reporting.

note Note Management of custom DMARC failure report objects can only be done in the DkimX Management Shell.

note Note You can manage the default DMARC failure report object in the DkimX Management Console, but some of its properties, e.g. Subject and PlainText, can only be managed in the DkimX Management Shell.

Generation and delivery of a DMARC failure report happens immediately after a message has been evaluated.

The values of the properties Subject and PlainText are template strings. The property Subject can make use of one substitution variable: OriginalSubject. The property PlainText can make use of the following substitution variables: SourceIPAddress, ReceivedTimeUtc, ReceivedTimeLocal, ReceivedTimeMime.

Related Topics

DMARC Failure Report

Template Strings


Administrator’s Reference

Welcome to the Administrator’s Reference topic. This section provides information about the DkimX Management Console, DkimX Management Shell, match expressions and performance counters.

This section contains:

  • DkimX Management Console: Help topic content for administrative activities and configuration properties using DkimX Management Console.
  • DkimX Management Shell: Help topic content for all cmdlets provided by the DkimX Management Shell.
  • Filter Expressions: Help topic content describing available filter expressions.
  • Log Data: Help topic content describing the various available log data for monitoring and troubleshooting purposes.
  • Registry Settings: Help topic content describing optional registry settings.
  • Template Strings: Help topic content describing the syntax of template strings.


DkimX Management Console

This section provides information about administrative activities and configuration properties of DkimX objects in the DkimX Management Console. Use this information as a reference for administrative activities.

This section contains:
  • Managing DkimX Objects: Help topic content for administrative activities using DkimX Management Console.
  • Property Sheets: Help topic content for all property sheets in the DkimX Management Console.


ManagementConsoleObjectManagement

Managing DkimX Objects

The following section describes how to manage the objects provided in the DkimX Management Console.

This section contains:

  • Manage Server: Description of administrative activities for the server object.
  • Manage DKIM Signer: Description of administrative activities for the DKIM signer object.
  • Manage DKIM Signer Domain Keys: Description of administrative activities for DKIM signer domain keys.
  • Manage DKIM Signer Policies: Description of administrative activities for DKIM signer policies.
  • Manage DKIM Signer Rules: Description of administrative activities for DKIM signer rules.
  • Manage Verifier: Description of administrative activities for the verifier object.
  • Manage SPF Verifier: Description of administrative activities for the SPF verifier object.
  • Manage DKIM Verifier: Description of administrative activities for the DKIM verifier object.
  • Manage DMARC Verifier: Description of administrative activities for the DMARC verifier object.
  • Manage DMARC Aggregate Report: Description of administrative activities for the default DMARC aggregate report object.
  • Manage DMARC Failure Report: Description of administrative activities for the default DMARC failure report object.


Manage Server

The server object in the DkimX Management Console represents the MS Exchange 2013/2016/2019 server with DkimX installed.

Check for product updates
  1. Select the server object.
  2. On the Action menu, select Check for Updates, or right-click and select Check for Updates.
Configure the properties of the server
  1. Select the server object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the Server Property Pages.

Related Topics

Server Properties


Manage DKIM Signer

The DKIM signer object in the DkimX Management Console represents the DKIM signer of DkimX.

Enable a local domain for DKIM signing
  1. Select the DKIM Signer object.
  2. On the Action menu, select Enable a Local Domain for DKIM Signing, or right-click and select Enable a Local Domain for DKIM Signing.
  3. Follow the wizard steps to enable a local domain for DKIM signing.
Enable/disable the DKIM signer
  1. Select the DKIM Signer object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the DKIM signer
  1. Select the DKIM Signer object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DKIM Signer Property Pages.

Related Topics

DKIM Signer Properties


Manage DKIM Signer Domain Keys

Domain keys specify the key data used by the DKIM signer for signing messages.

Create a DKIM signer domain key
  1. Select the Domain Keys node.
  2. On the Action menu, select New Domain Key..., or right-click and select New Domain Key....
  3. On the New Domain Key dialog, select a domain, specify the selector and then specify either the desired key type (and key size in case of key type RSA) of the private key to generate or specify the path to a file (and password if required) from which to load the private key and click OK.
Configure the properties of a DKIM signer domain key
  1. Select the DKIM signer domain key you want to configure.
  2. Double-click, or, on the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties.
Delete a DKIM signer domain key
  1. Select the DKIM signer domain key you want to delete.
  2. Click the Delete button, or, on the Action menu, select Delete, or right-click and select Delete.
  3. Confirm the deletion of the selected DKIM signer domain key.
Export the private key of a DKIM signer domain key
  1. Select the DKIM signer domain key whose private key you want to export to file.
  2. Click the Export Private Key... button, or, on the Action menu, select Export Private Key... , or right-click and select Export Private Key....
  3. Follow the instructions on the Export Private Key to File Wizard pages.

Related Topics

DKIM Signer Domain Key Properties


Manage DKIM Signer Policies

DKIM signer policies specify how messages will be signed.

Create a DKIM signer policy
  1. Select the Policies node.
  2. On the Action menu, select New Policy..., or right-click and select New Policy....
  3. On the New Policy dialog, enter its name and click OK.
Copy a DKIM signer policy
  1. Select the DKIM signer policy you want to copy.
  2. On the Action menu, select Copy, or right-click and select Copy.
Rename a DKIM signer policy
  1. Select the DKIM signer policy you want to rename.
  2. On the Action menu, select Rename, or right-click and select Rename.
  3. Change the DKIM signer policy name in the edit field and then press Enter.
Configure the properties of a DKIM signer policy
  1. Select the DKIM signer policy you want to configure.
  2. Double-click, or, on the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DKIM Signer Policy Property Pages.
Delete a DKIM signer policy
  1. Select the DKIM signer policy you want to delete.
  2. Click the Delete button, or, on the Action menu, select Delete, or right-click and select Delete.
  3. Confirm the deletion of the selected DKIM signer policy.

Related Topics

DKIM Signer Policy Properties


Manage DKIM Signer Rules

DKIM Signer rules specify which and how messages will be signed.

Create a DKIM signer rule
  1. Select the Rules node.
  2. On the Action menu, select New Rule..., or right-click and select New Rule....
  3. On the New Rule dialog, enter its name, select a DKIM signer domain key and DKIM signer policy to use and click OK.
Change the priority of a DKIM signer rule
  1. Select the DKIM signer rule of which you want to change the priority.
  2. On the Action menu, select Change Priority..., or right-click and select Change Priority....
  3. Specify the desired new priority on the Change Rule Priority dialog.
Enable/disable a DKIM signer rule
  1. Select the DKIM signer rule you want to enable/disable.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Copy a DKIM signer rule
  1. Select the DKIM signer rule you want to copy.
  2. On the Action menu, select Copy, or right-click and select Copy.
Rename a DKIM signer rule
  1. Select the DKIM signer rule you want to rename.
  2. On the Action menu, select Rename, or right-click and select Rename.
  3. Change the DKIM signer rule name in the edit field and then press Enter.
Configure the properties of a DKIM signer rule
  1. Select the DKIM signer rule you want to configure.
  2. Double-click, or, on the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DKIM Signer Rule Property Pages.
Delete a DKIM signer rule
  1. Select the DKIM signer rule you want to delete.
  2. Click the Delete button, or, on the Action menu, select Delete, or right-click and select Delete.
  3. Confirm the deletion of the selected DKIM signer rule.

Related Topics

DKIM Signer Rule Properties


Manage Verifier

The verifier object in the DkimX Management Console represents the verifier of DkimX.

Enable/disable the verifier
  1. Select the Verifier object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the verifier
  1. Select the Verifier object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the Verifier Property Pages.

Related Topics

Verifier Properties


Manage SPF Verifier

The SPF verifier object in the DkimX Management Console represents the SPF verifier of DkimX.

Enable/disable the SPF verifier
  1. Select the SPF Verifier object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the SPF verifier
  1. Select the SPF Verifier object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the SPF Verifier Property Pages.

Related Topics

SPF Verifier Properties


Manage DKIM Verifier

The DKIM verifier object in the DkimX Management Console represents the DKIM verifier of DkimX.

Enable/disable the DKIM verifier
  1. Select the DKIM Verifier object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the DKIM verifier
  1. Select the DKIM Verifier object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DKIM Verifier Property Pages.

Related Topics

DKIM Verifier Properties


Manage DMARC Verifier

The DMARC verifier object in the DkimX Management Console represents the DMARC verifier of DkimX.

Enable/disable the DMARC verifier
  1. Select the DMARC Verifier object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the DMARC verifier
  1. Select the DMARC Verifier object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DMARC Verifier Property Pages.

Related Topics

DMARC Verifier Properties


Manage DMARC Reporting

The DMARC reporting object in the DkimX Management Console is just a container object containing the DMARC aggregate report object and the DMARC failure report object.

Related Topics


Manage DMARC Aggregate Report

The DMARC aggregate report object in the DkimX Management Console represents the default aggregate report of DkimX.

Enable/disable the DMARC aggregate report
  1. Select the Aggregate Report object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the DMARC aggregate report
  1. Select the Aggregate Report object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DMARC Aggregate Report Property Pages.

Related Topics

DMARC Aggregate Report Properties


Manage DMARC Failure Report

The DMARC failure report object in the DkimX Management Console represents the default failure report of DkimX.

Enable/disable the DMARC failure report
  1. Select the Failure Report object.
  2. Depending on the current state, on the Action menu, select Enable or Disable, or right-click and select Enable or Disable.
Configure the properties of the DMARC failure report
  1. Select the Failure Report object.
  2. On the Action menu, select Properties, or right-click and select Properties.
  3. Configure its properties on the DMARC Failure Report Property Pages.

Related Topics

DMARC Failure Report Properties


Property Sheets

The following section describes how you should use the property sheets to properly configure DkimX. The information provided reflects the context-sensitive Help that is provided for all property sheets. You can also access this information by clicking the Help button on any property sheet.

note Note The information presented in this section is context-sensitive; that is, many concepts and procedures described in this section relate directly to specific actions that can be carried out in DkimX Management Console. The topics are not intended to be read as a stand-alone reference.

Viewing Property Sheets

To view property sheets in the DkimX Management Console, select the item you are interested in and then click the Properties button, or, on the Action menu, select Properties. You can also right-click an item and select Properties.

This section contains:

  • Server Properties: Property sheet used to view and configure the server properties.
  • DKIM Signer Properties: Property sheet used to view and configure the DKIM signer properties.
  • DKIM Signer Domain Key Properties: Property sheet used to view and configure the properties of a DKIM signer domain key.
  • DKIM Signer Policy Properties: Property sheet used to view and configure the properties of a DKIM signer policy.
  • DKIM Signer Rule Properties: Property sheet used to view and configure the properties of a DKIM signer rule.
  • Verifier Properties: Property sheet used to view and configure the verifier properties.
  • SPF Verifier Properties: Property sheet used to view and configure the SPF verifier properties.
  • DKIM Verifier Properties: Property sheet used to view and configure the DKIM verifier properties.
  • DMARC Verifier Properties: Property sheet used to view and configure the DMARC verifier properties.
  • DMARC Aggregate Report Properties: Property sheet used to view and configure the DMARC aggregate report properties.
  • DMARC Failure Report Properties: Property sheet used to view and configure the DMARC failure report properties.


Server Properties

The Server property sheet consists of the following property pages:

General

Use this property page to view information about the installed product, the current configuration and MS Exchange Server.

Configuration
This information element shows the last modification date of current server configuration.
Product
This information element shows version, release date and installation date of DkimX installed on the computer.
MS Exchange Server
This information element shows version and transport role type (Mailbox/Edge) of the MS Exchange Server.

Notifications

Use this property page to specify sender and recipients of notification messages, which are sent by the DkimX Management service when events requiring intervention occur:

Sender
Use this text box to specify the sender address for notification messages.
Recipients
Use this list box to specify the SMTP email addresses of recipients of notification messages.
Add
Use this button to display the New Notification Recipient dialog to add a notification recipient by specifying its SMTP address.
Remove
Use this button to remove the selected recipients from the list.

License & Maintenance

Use this property page to view the properties of the product license certificate.

License Certificate

Filename
The value of this property is the name of the file that contains the license certificate data.
GUID
The value of this property is the globally unique identifier of the license certificate file.

License

Licensee
The value of this property is the name of the licensee for whom this license was issued.
Type
The value of this property is either Evaluation for a trial license, or Server or Enterprise for a customer license.
Issue date
The value of this property is the date when the license has been issued.
Expiration date
The value of this property is the expiration date of the license. In case of a customer license, which is perpetual, <Never> is displayed.
GUID
The value of this property is the globally unique identifier of the license.

Maintenance Period

Start date
The value of this property is the start date of the maintenance period. This information will only be displayed in case of a customer license.
End date
The value of this property is the end date of the maintenance period. This information will only be displayed in case of a customer license.
GUID
The value of this property is the globally unique identifier of the maintenance period. This information will only be displayed in case of a customer license.

Related Topics

Manage Server


DKIM Signer Properties

The DKIM Signer property sheet consists of the following property pages:

General

Use this property page to enable or disable the DKIM signer.

Enabled
Use this check box to specify whether messages should be processed by the DKIM signer.
Treat the NULL envelope sender address as a local one
Use this check box to specify whether the NULL envelope sender address (<>) should be treated as being a local envelope sender address. Automatic response messages, e.g. out-of-office messages, have a NULL envelope sender address. This means that this setting must be enabled if the processing of such automatic response messages is desired.
Treat a custom local domain recipient as an external one
Use this check box to specify whether recipients in custom local domains should be treated by the DKIM signer as external recipients when deciding if a message should be signed or not. The DKIM signer will only consider to sign a message if at least one recipient is an external one. In some MS Exchange hosting environments there may be a need for signing messages addressed to recipients of local domains. This can be accomplished by defining these local domains as custom local domains and enabling this setting.

Local Domains

Use this property page to specify which email domains will be treated as local domains.

Include Accepted Domains from MS Exchange
Use this check box to specify whether accepted domains (Authoritative and Internal Relay only) from MS Exchange will be treated as local domains.
Custom local domains
Use this list box to specify custom email domains as local domains.
Add
Use this button to display the New Custom Local Domain dialog to add an email domain as local domain.
Remove
Use this button to remove the selected custom local domains from the list.
Show Local Domains...
Click this button to display the list of currently configured local domains.

Restrictions

Use this property page to view and specify restrictions to prevent messages from being processed by the DKIM signer.

Excluded recipients
Use this list box to specify excluded recipients (wildcard and regular expressions are supported). If at least one recipient of a message matches any of those entries, the message will be ignored.
Add
Use this button to display the New Excluded Recipient Filter dialog to add an excluded recipient.
Remove
Use this button to remove the selected excluded recipients from the list.
Maximum header size
Use this setting to specify the maximum size of the SMTP header of messages that will be processed by the DKIM signer. If the size of the SMTP header of a message exceeds this value, the message will not be processed by the DKIM signer.
Maximum message size
Use this setting to specify the maximum total size of messages that will be processed by the DKIM signer. If the total size of a message exceeds this value, the message will not be processed by the DKIM signer.

Message Log

Use this property page to view and specify settings of the DKIM signer message log.

Enabled
Use this check box to specify whether the results of message processing should be logged to file or not.
Use local time for file naming and rollover
Use this check box to specify whether daily log file rollover happens at 00:00 local time or at 00:00 UTC.
Maximum age
Use this setting to specify the maximum age of log files in days. Log files older than the configured maximum age will be automatically deleted. Specify a maximum age of 0 days to disable the automatic cleanup mechanism.

Related Topics

Manage DKIM Signer

Match Expressions


DKIM Signer Domain Key Properties

The DKIM Signer Domain Key property sheet consists of the following property page:

General

Use this property page to view information about the domain key and to manage the corresponding DNS TXT record.

Description
Use this text box to specify a description for the domain key. This information element is optional and has no functional relevance.
Domain
Shows the domain to which this domain key applies.
Selector
Shows the selector of this domain key.
Key type
Shows key type of this domain key.
Key size
Shows the key size of this domain key.
DNS TXT Record...
Click this button to display the DNS TXT Record dialog.

Related Topics

Manage DKIM Signer Domain Keys


DKIM Signer Policy Properties

The DKIM Signer Policy property sheet consists of the following property pages:

General

Use this property page to view and change the description of this policy.

Description
Use this text box to specify a description for the policy. This information element is optional and has no functional relevance.

Canonicalization

Use this property page to view and specify which canonicalization will be used for the header and body of a message to sign.

Header canonicalization
Use this combo box to specify which canonicalization (Simple/Relaxed) to use for the header of a message to sign.
Body canonicalization
Use this combo box to specify which canonicalization (Simple/Relaxed) to use for the body of a message to sign.
Include canonicalization in signature even when having default value
Use this check box to specify whether the canonicalization attribute will be included in the signature even it if has the default value (= 'simple/simple').

Algorithm

Use this property page to view and specify the algorithm to use for signing a message.

Algorithm
Use this combo box to specify which algorithm (RSA-SHA1/RSA-SHA256/ED25519-SHA256) to use for signing a message.

Header Fields

Use this property page to view and specify which header fields will be included in the signature.

Header fields
Use this list box to specify which header fields will be signed. You can reorder the header field list by drag and drop. To change the action setting of an existing header field entry, click on the action text of the entry.
Restore Defaults
Use this button to restore the default header field list.
Add
Use this button to display the New Header Field dialog to add a header field.
Remove
Use this button to remove the selected header fields from the list.

Time

Use this property page to view and specify the algorithm to use for signing a message.

Include timestamp in signature
Use this check box to specify whether a timestamp indicating the time of signing will be included in the signature.
Include expiration time in signature
Use this check box to specify whether the expiration time will be included in the signature. You can specify the expiration time either as a relative or an absolute value.

Identity

Use this property page to view and specify the identity information element for the signature.

Identity template
Use this combo box to specify the desired identity template. Depending on the selected template, you may have to specify values for Static local part and Subdomain.
Include identity in signature even when having default value
Use this check box to specify whether the identity information element will be included in the signature even it if has the default value (= '@<SigningDomain>').

Advanced

Use this property page to view and specify advanced settings for signature processing.

Body length count
Specify whether the body length count information element will be excluded from the signature, which implies that the entire message body will be hashed, or whether the body length count information element will be included in the signature, in which case you have also to specify whether the entire message body will be hashed or only a specific number of bytes.
Include public key query methods in signature
Use this check box to specify whether the optional public key query methods information element will be included in the signature.
Include copies of signed header fields in signature for diagnostic use
Use this check box to specify whether copies of header fields to sign will be included in the signature.

note Note It is not recommended to activate this setting for normal operation. Limit use of this feature for diagnostic purposes.

Related Topics

Manage DKIM Signer Policies


DKIM Signer Rule Properties

The DKIM Signer Rule property sheet consists of the following property pages:

General

Use this property page to view and change the description and state of this DKIM signer rule.

Description
Use this text box to specify a description for the rule. This information element is optional and has no functional relevance.
Enabled
Use this check box to specify whether the rule is enabled or disabled.

Conditions

Use this property page to view and specify the conditions a message must meet for this rule to apply.

Apply From address filter
Specify a SMTP address filter expression to filter on the From address of messages.
Apply header field filter
Specify two header field filter expressions, one for the name and one for the value, which constitute a header field filter.

Actions

Use this property page to view and specify the actions to execute when a message meets the configured conditions.

Sign messages using this domain key and rule
Specify whether a message which meets the configured conditions will be signed or not, and which domain key and rule will be used for signing.
Remove existing signature
Use this check box to specify whether existing signatures will be removed from a message that meets the configured conditions.
Stop processing more rules
Use this check box to specify whether a message that meets the configured conditions will be evaluated against rules with lower priority or not.

Related Topics

Manage DKIM Signer Rules

SMTP Address Filter Expressions

Header Field Filter Expressions


Verifier Properties

The Verifier property sheet consists of the following property pages:

General

Use this property page to view and specify settings of the verifier.

Enabled
Use this check box to specify whether messages should be processed by the verifier.
Authentication service ID of 'Authentication-Results' header field to add
Use this text box to specify the authentication service identifier of the 'Authentication-Results' header field that will be added to evaluated messages. It's common practice to use the local DNS domain name or the hostname of the server. For more information about the authentication service identifier of 'Authentication-Results' header fields, please read RFC 7601, Section 2.5.

Restrictions

Use this property page to view and specify restrictions to prevent messages from being processed by the verifier.

Excluded source IP addresses
Use this list box to specify excluded source IP address filters. If the sender IP address of a message matches any of those filter entries, the message will be ignored.
Add
Use this button to display the New IP Address Filter dialog to add an excluded source IP address filter.
Remove
Use this button to remove the selected excluded source IP address filter from the list.
Excluded From addresses
Use this list box to specify excluded From address filters (wildcard and regular expressions are supported). If the From address of a message matches any of those filter entries, the message will be ignored.
Add
Use this button to display the New Excluded Recipient dialog to add an excluded recipient.
Remove
Use this button to remove the selected excluded recipients from the list.

Public Suffix List

Use this property page to view and specify from where and when to update the public suffix list.

Download URL
Use this text box to specify the URL for downloading new versions of the public suffix list. As of June 2018, the official download URL is https://publicsuffix.org/list/public_suffix_list.dat
Update interval
Use this setting to specify the period in days after which a new version of the public suffix list will be automatically downloaded by using the specified download URL. Specify 0 days as update interval to disable the automatic update mechanism.

Message Log

Use this property page to view and specify settings of the verifier message log.

Enabled
Use this check box to specify whether the results of message processing should be logged to file or not.
Use local time for file naming and rollover
Use this check box to specify whether daily log file rollover happens at 00:00 local time or at 00:00 UTC.
Maximum age
Use this setting to specify the maximum age of log files in days. Log files older than the configured maximum age will be automatically deleted. Specify a maximum age of 0 days to disable the automatic cleanup mechanism.

Related Topics

Manage Verifier

Match Expressions


SPF Verifier Properties

The SPF Verifier property sheet consists of the following property pages:

General

Use this property page to view and specify settings of the SPF verifier.

Enabled
Use this check box to specify whether the SPF verifier is enabled or not. The SPF verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires SPF verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent SPF verifier is implicitly disabled.
Add 'Received-SPF' header field to processed messages
Use this check box to specify whether a header field with name 'Received-SPF' will be added to evaluated messages. For more information regarding this header field please see RFC 7208, Section 9.1.
Permanently reject messages in case of SPF verification result 'fail'
Use this check box to specify whether messages will be permanently rejected with an SMTP reply code of 550 in case of SPF verification result 'fail'.
Temporarily reject messages in case of DNS lookup problems
Use this check box to specify whether messages should be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems.

Related Topics

Manage SPF Verifier


DKIM Verifier Properties

The DKIM Verifier property sheet consists of the following property pages:

General

Use this property page to view and specify settings of the DKIM verifier.

Enabled
Use this check box to specify whether the DKIM verifier is enabled or not. The DKIM verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires DKIM verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent DKIM verifier is implicitly disabled.
Accept signatures which do not sign the complete message body
Use this check box to specify whether DKIM signatures that do not sign all bytes of the message body will be verified or ignored.
Temporarily reject messages in case of DNS lookup problems
Use this check box to specify whether messages should be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems.

Related Topics

Manage DKIM Verifier


DMARC Verifier Properties

The DMARC Verifier property sheet consists of the following property pages:

General

Use this property page to view and specify settings of the DMARC verifier.

Enabled
Use this check box to specify whether the DMARC verifier is enabled or not. The DMARC verifier can only be enabled if both the DKIM and SPF verifiers are enabled because DMARC verification requires DKIM and SPF verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent DMARC verifier is implicitly disabled.
Verify DKIM and SPF only if existing DMARC record requests verification
Use this check box to specify whether SPF and DKIM verification will be performed only when required for DMARC verification or independent of DMARC verification. If the DMARC verifier is enabled and this setting is enabled, SPF and DKIM verification will only be performed if there exists a DMARC policy record to trigger DMARC verification.
Add 'X-DMARC-Fail-Disposition' header field if appropriate
Use this check box to specify whether a header field with name 'X-DMARC-Fail-Disposition' will be added to messages in case of DMARC verification result 'fail'. The value of this header field will be the evaluated fail disposition: 'None', 'Quarantine' or 'Reject'.
Permanently reject messages which fail verification with policy 'reject'
Use this check box to specify whether messages will be permanently rejected with an SMTP reply code of 550 in case of DMARC verification result 'fail' and the DMARC policy specifies the value 'reject'.
Temporarily reject messages in case of DNS lookup problems
Use this check box to specify whether messages should be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems.

Related Topics

Manage DMARC Verifier


DMARC Aggregate Report Properties

The DMARC Aggregate Report property sheet consists of the following property pages:

General

Use this property page to view and specify primary settings of the default DMARC aggregate report.

Enabled
Specifies whether this DMARC aggregate report is enabled or not.
Mail receiver domain
Use this text box to specify the name of the domain that will be used as submitter of DMARC aggregate report messages.
Honor intraday intervals
Use this check box to specify whether the DMARC aggregate report manager will honor intraday report generation intervals specified in DMARC records. If not enabled, the report generation intervals specified in DMARC records are ignored and DMARC aggregate report messages are generated and send once per day at 00:00 UTC. If enabled, the report generation interval specified in a DMARC record is used to derive the effective report generation interval (1, 2, 3, 4, 6, 8, 12 or 24 hours).

Delivery

Use this property page to view and specify delivery settings of the default DMARC aggregate report.

Sender
Use this text box to specify the sender address for DMARC aggregate report messages.
Maximum number of recipients
Use this setting to specify the maximum number of recipients of DMARC aggregate report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
Send copies of report messages to
Use this list box to specify additional recipients for DMARC aggregate report messages.
Add
Use this button to display the New BCC Recipient dialog to add a BCC recipient by specifying its SMTP address.
Remove
Use this button to remove the selected BCC recipients from the list.

Metadata

Use this property page to view and specify metadata settings of the default DMARC aggregate report.

Organization name:
Use this text box to specify the name of the organization that will be published in the metadata section of DMARC aggregate report XML documents.
Contact email address
Use this text box to specify the email address that will be published in the metadata section of DMARC aggregate report XML documents.
Contact information
Use this text box to specify extra contact information that will be published in the metadata section of DMARC aggregate report XML documents.

Related Topics

Manage DMARC Aggregate Report


DMARC Failure Report Properties

The DMARC Failure Report property sheet consists of the following property pages:

General

Use this property page to view and specify primary settings of the default DMARC failure report.

Enabled
Specifies whether this DMARC failure report is enabled or not.

Delivery

Use this property page to view and specify delivery settings of the default DMARC failure report.

Sender
Use this text box to specify the sender address for DMARC failure report messages.
Maximum number of recipients
Use this setting to specify the maximum number of recipients of DMARC failure report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
Send copies of report messages to
Use this list box to specify additional recipients for DMARC failure report messages.
Add
Use this button to display the New BCC Recipient dialog to add a BCC recipient by specifying its SMTP address.
Remove
Use this button to remove the selected BCC recipients from the list.

Related Topics

Manage DMARC Failure Report


DkimX Management Shell

This section provides information about the cmdlets for configuring DkimX using the DkimX Management Shell. Use this information as a reference for administrative activities.

This section contains:

  • Cmdlets: Help topic content which describes the cmdlets for configuring DkimX using the DkimX Management Shell.


DkimX Cmdlets

This section contains:

  • Clear-DkimRecordCache
  • Clear-DmarcRecordCache
  • Clear-DnsRecordCache
  • Clear-SpfRecordCache
  • Disable-DkimSigner
  • Disable-DkimSignerMessageLog
  • Disable-DkimSignerRule
  • Disable-DkimVerifier
  • Disable-DmarcAggregateReport
  • Disable-DmarcFailureReport
  • Disable-DmarcVerifier
  • Disable-SpfVerifier
  • Disable-Verifier
  • Disable-VerifierMessageLog
  • Enable-DkimSigner
  • Enable-DkimSignerMessageLog
  • Enable-DkimSignerRule
  • Enable-DkimVerifier
  • Enable-DmarcAggregateReport
  • Enable-DmarcFailureReport
  • Enable-DmarcVerifier
  • Enable-SpfVerifier
  • Enable-Verifier
  • Enable-VerifierMessageLog
  • Export-DkimSignerDomainKey
  • Get-DkimRecordCache
  • Get-DkimSigner
  • Get-DkimSignerDomainKey
  • Get-DkimSignerLocalDomain
  • Get-DkimSignerMessageLog
  • Get-DkimSignerPolicy
  • Get-DkimSignerRule
  • Get-DkimVerifier
  • Get-DmarcAggregateReport
  • Get-DmarcFailureReport
  • Get-DmarcRecordCache
  • Get-DmarcVerifier
  • Get-DnsRecordCache
  • Get-DnsResolver
  • Get-LicenseCertificate
  • Get-NotificationMailer
  • Get-ProductInformation
  • Get-PublicSuffixList
  • Get-RecordProvider
  • Get-SpfRecordCache
  • Get-SpfVerifier
  • Get-UpdateInformation
  • Get-Verifier
  • Get-VerifierMessageLog
  • New-DkimDnsTxtRecord
  • New-DkimSignerDomainKey
  • New-DkimSignerPolicy
  • New-DkimSignerRule
  • New-DmarcAggregateReport
  • New-DmarcFailureReport
  • Remove-DkimSignerDomainKey
  • Remove-DkimSignerPolicy
  • Remove-DkimSignerRule
  • Remove-DmarcAggregateReport
  • Remove-DmarcFailureReport
  • Rename-DkimSignerPolicy
  • Rename-DkimSignerRule
  • Rename-DmarcAggregateReport
  • Rename-DmarcFailureReport
  • Set-DkimSigner
  • Set-DkimSignerDomainKey
  • Set-DkimSignerMessageLog
  • Set-DkimSignerPolicy
  • Set-DkimSignerRule
  • Set-DkimVerifier
  • Set-DmarcAggregateReport
  • Set-DmarcFailureReport
  • Set-DmarcVerifier
  • Set-DnsResolver
  • Set-NotificationMailer
  • Set-PublicSuffixList
  • Set-RecordProvider
  • Set-SpfVerifier
  • Set-Verifier
  • Set-VerifierMessageLog
  • Test-DmarcAggregateReportMessage
  • Update-PublicSuffixList


Clear-DkimRecordCache

Clears the DKIM record cache.

Syntax

Clear-DkimRecordCache [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Clear-DkimRecordCache cmdlet purges all entries from the DKIM record cache.

Examples

-------------------------- Example 1 --------------------------

This example clears the DKIM record cache.
Clear-DkimRecordCache


Clear-DmarcRecordCache

Clears the DMARC record cache.

Syntax

Clear-DmarcRecordCache [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Clear-DmarcRecordCache cmdlet purges all entries from the DMARC record cache.

Examples

-------------------------- Example 1 --------------------------

This example clears the DMARC record cache.
Clear-DmarcRecordCache


Clear-DnsRecordCache

Clears the DNS record cache.

Syntax

Clear-DnsRecordCache [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Clear-DnsRecordCache cmdlet purges all entries from the DNS record cache.

Examples

-------------------------- Example 1 --------------------------

This example clears the DNS record cache.
Clear-DnsRecordCache


Clear-SpfRecordCache

Clears the SPF record cache.

Syntax

Clear-SpfRecordCache [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Clear-SpfRecordCache cmdlet purges all entries from the SPF record cache.

Examples

-------------------------- Example 1 --------------------------

This example clears the SPF record cache.
Clear-SpfRecordCache


Disable-DkimSigner

Disables the DKIM signer.

Syntax

Disable-DkimSigner [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DkimSigner cmdlet disables the DKIM signer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example disables the DKIM signer.
Disable-DkimSigner


Disable-DkimSignerMessageLog

Disables the DKIM signer message log.

Syntax

Disable-DkimSignerMessageLog [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DkimSignerMessageLog cmdlet disables logging of message processing results of the DKIM signer to log files.

Examples

-------------------------- Example 1 --------------------------

This example disables the DKIM signer message log.
Disable-DkimSignerMessageLog


Disable-DkimSignerRule

Disables a DKIM signer rule.

Syntax

Disable-DkimSignerRule [-InputObject] <DkimSignerRule> [-Confirm] [-WhatIf] [<CommonParameters>]
Disable-DkimSignerRule [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerRule | Specifies a DkimSignerRule object that represents the DKIM signer rule to be disabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerRule command. You can also pipe a DkimSignerRule object to Disable-DkimSignerRule.
Name | True | String | Specifies the name of the DKIM signer rule to be disabled. Wildcards are not permitted. You can also pipe a DKIM signer rule name to Disable-DkimSignerRule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DkimSignerRule cmdlet disables the specified DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example disables the DKIM signer rule with the name "Rule for dkimx.com".
Disable-DkimSignerRule -Name "Rule for dkimx.com"


Disable-DkimVerifier

Disables the DKIM verifier.

Syntax

Disable-DkimVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DkimVerifier cmdlet disables the DKIM verifier. The DKIM verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires DKIM verification.

Examples

-------------------------- Example 1 --------------------------

This example disables the DKIM verifier.
Disable-DkimVerifier


Disable-DmarcAggregateReport

Disables a DMARC aggregate report.

Syntax

Disable-DmarcAggregateReport [-InputObject] <DmarcAggregateReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Disable-DmarcAggregateReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report to be disabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Disable-DmarcAggregateReport.
Name | True | String | Specifies the name of the DMARC aggregate report to be disabled. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Disable-DmarcAggregateReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DmarcAggregateReport cmdlet disables the specified DMARC aggregate report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example disables the DMARC aggregate report with the name "Default".
Disable-DmarcAggregateReport -Name "Default"


Disable-DmarcFailureReport

Disables a DMARC failure report.

Syntax

Disable-DmarcFailureReport [-InputObject] <DmarcFailureReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Disable-DmarcFailureReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcFailureReport | Specifies a DmarcFailureReport object that represents the DMARC failure report to be disabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcFailureReport command. You can also pipe a DmarcFailureReport object to Disable-DmarcFailureReport.
Name | True | String | Specifies the name of the DMARC failure report to be disabled. Wildcards are not permitted. You can also pipe a DMARC failure report name to Disable-DmarcFailureReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DmarcFailureReport cmdlet disables the specified DMARC failure report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example disables the DMARC failure report with the name "Default".
Disable-DmarcFailureReport -Name "Default"


Disable-DmarcVerifier

Disables the DMARC verifier.

Syntax

Disable-DmarcVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-DmarcVerifier cmdlet disables the DMARC verifier.

Examples

-------------------------- Example 1 --------------------------

This example disables the DMARC verifier.
Disable-DmarcVerifier


Disable-SpfVerifier

Disables the SPF verifier.

Syntax

Disable-SpfVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-SpfVerifier cmdlet disables the SPF verifier. The SPF verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires SPF verification.

Examples

-------------------------- Example 1 --------------------------

This example disables the SPF verifier.
Disable-SpfVerifier


Disable-Verifier

Disables the verifier.

Syntax

Disable-Verifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-Verifier cmdlet disables the verifier.

Examples

-------------------------- Example 1 --------------------------

This example disables the verifier.
Disable-Verifier


Disable-VerifierMessageLog

Disables the verifier message log.

Syntax

Disable-VerifierMessageLog [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Disable-VerifierMessageLog cmdlet disables logging of message processing results of the verifier to log files.

Examples

-------------------------- Example 1 --------------------------

This example disables the verifier message log.
Disable-VerifierMessageLog


Enable-DkimSigner

Enables the DKIM signer.

Syntax

Enable-DkimSigner [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DkimSigner cmdlet enables the DKIM signer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example enables the DKIM signer.
Enable-DkimSigner


Enable-DkimSignerMessageLog

Enables the DKIM signer message log.

Syntax

Enable-DkimSignerMessageLog [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DkimSignerMessageLog cmdlet enables logging of message processing results of the DKIM signer to log files.

Examples

-------------------------- Example 1 --------------------------

This example enables the DKIM signer message log.
Enable-DkimSignerMessageLog


Enable-DkimSignerRule

Enables a DKIM signer rule.

Syntax

Enable-DkimSignerRule [-InputObject] <DkimSignerRule> [-Confirm] [-WhatIf] [<CommonParameters>]
Enable-DkimSignerRule [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerRule | Specifies a DkimSignerRule object that represents the DKIM signer rule to be enabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerRule command. You can also pipe a DkimSignerRule object to Enable-DkimSignerRule.
Name | True | String | Specifies the name of the DKIM signer rule to be enabled. Wildcards are not permitted. You can also pipe a DKIM signer rule name to Enable-DkimSignerRule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DkimSignerRule cmdlet enables the specified DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example enables the DKIM signer rule with the name "Rule for dkimx.com".
Enable-DkimSignerRule -Name "Rule for dkimx.com"


Enable-DkimVerifier

Enables the DKIM verifier.

Syntax

Enable-DkimVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DkimVerifier cmdlet enables the DKIM verifier.

Examples

-------------------------- Example 1 --------------------------

This example enables the DKIM verifier.
Enable-DkimVerifier


Enable-DmarcAggregateReport

Enables a DMARC aggregate report.

Syntax

Enable-DmarcAggregateReport [-InputObject] <DmarcAggregateReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Enable-DmarcAggregateReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report to be enabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Enable-DmarcAggregateReport.
Name | True | String | Specifies the name of the DMARC aggregate report to be enabled. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Enable-DmarcAggregateReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DmarcAggregateReport cmdlet enables the specified DMARC aggregate report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example enables the DMARC aggregate report with the name "Default".
Enable-DmarcAggregateReport -Name "Default"


Enable-DmarcFailureReport

Enables a DMARC failure report.

Syntax

Enable-DmarcFailureReport [-InputObject] <DmarcFailureReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Enable-DmarcFailureReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcFailureReport | Specifies a DmarcFailureReport object that represents the DMARC failure report to be enabled. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcFailureReport command. You can also pipe a DmarcFailureReport object to Enable-DmarcFailureReport.
Name | True | String | Specifies the name of the DMARC failure report to be enabled. Wildcards are not permitted. You can also pipe a DMARC failure report name to Enable-DmarcFailureReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DmarcFailureReport cmdlet enables the specified DMARC failure report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example enables the DMARC failure report with the name "Default".
Enable-DmarcFailureReport -Name "Default"


Enable-DmarcVerifier

Enables the DMARC verifier.

Syntax

Enable-DmarcVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-DmarcVerifier cmdlet enables the DMARC verifier. The DMARC verifier can only be enabled if both the DKIM and SPF verifiers are enabled because DMARC verification requires DKIM and SPF verification.

Examples

-------------------------- Example 1 --------------------------

This example enables the DMARC verifier.
Enable-DmarcVerifier


Enable-SpfVerifier

Enables the SPF verifier.

Syntax

Enable-SpfVerifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-SpfVerifier cmdlet enables the SPF verifier.

Examples

-------------------------- Example 1 --------------------------

This example enables the SPF verifier.
Enable-SpfVerifier


Enable-Verifier

Enables the verifier.

Syntax

Enable-Verifier [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-Verifier cmdlet enables the verifier.

Examples

-------------------------- Example 1 --------------------------

This example enables the verifier.
Enable-Verifier


Enable-VerifierMessageLog

Enables the verifier message log.

Syntax

Enable-VerifierMessageLog [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Enable-VerifierMessageLog cmdlet enables logging of message processing results of the verifier to log files.

Examples

-------------------------- Example 1 --------------------------

This example enables the verifier message log.
Enable-VerifierMessageLog


Export-DkimSignerDomainKey

Exports the private key of an existing DKIM signer domain key to file.

Syntax

Export-DkimSignerDomainKey [-InputObject] <DkimSignerDomainKey> [-Algorithm {Aes128Cbc | Aes192Cbc | Aes256Cbc}] -FilePath <String> [-Format {Pem | Der | Xml}] [-IncludePublicKey] [-Iterations <Int32>] [-Password <SecureString>] [-Prf {HmacWithSha1 | HmacWithSha256 | HmacWithSha512}] [<CommonParameters>]
Export-DkimSignerDomainKey [-Name] <String> [-Algorithm {Aes128Cbc | Aes192Cbc | Aes256Cbc}] -FilePath <String> [-Format {Pem | Der | Xml}] [-IncludePublicKey] [-Iterations <Int32>] [-Password <SecureString>] [-Prf {HmacWithSha1 | HmacWithSha256 | HmacWithSha512}] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Algorithm | False | Pbes2Algorithm | Specifies the encryption algorithm to use for protecting the private key. Valid values are: - Aes128Cbc - Aes192Cbc - Aes256Cbc The default value is Aes256Cbc.
FilePath | True | String | Specifies the path to the export file. If the file exists its contents will be overwritten.
Format | False | PrivateKeyFileFormat | Specifies the format of the output file. Valid values are: - Pem (PKCS#8 base-64 encoded) - Der (PKCS#8 encoded binary) - Xml (XKMS 2.0) The default value is Pem.
IncludePublicKey | False | SwitchParameter | Specifies if the public key of the DKIM signer domain key with key type Ed25519 should be explicitly written to the destination key file, according to RFC 5958, Section 2. This switch parameter is ignored in case of key type RSA.
InputObject | True | DkimSignerDomainKey | Specifies a DkimSignerDomainKey object that represents the DKIM signer domain key whose private key will be exported. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerDomainKey command. You can also pipe a DkimSignerDomainKey object to Export-DkimSignerDomainKey.
Iterations | False | Int32 | Specifies the number of iteration to use for deriving the encryption key when protecting the private key. Valid values are in the range 1..1000000000. The default value is 2048.
Name | True | String | Specifies the name of the DKIM signer domain key whose private key will be exported. You can also pipe a DKIM signer domain key name to Export-DkimSignerDomainKey.
Password | False | SecureString | Specifies the password for protecting the private key. If this parameter is not specified, the private key is exported unprotected.
Prf | False | Pbkdf2Prf | Specifies the pseudorandom function to use for deriving the encryption key when protecting the private key. Valid values are: - HmacWithSha1 - HmacWithSha256 - HmacWithSha512 The default value is HmacWithSha512.

Detailed Description

The Export-DkimSignerDomainKey cmdlet exports the private key of the specified DKIM signer domain key to file. The private key can be exported unprotected in form of a PKCS #8 PrivateKeyInfo structure (DER encoded binary or base-64 encoded) or XML-formatted (XKMS 2.0 format). The private key can be exported protected by a password in form of a PKCS #8 EncryptedPrivateKeyInfo structure (DER encoded binary or base-64 encoded). The protection is implemented according to PKCS #5 v2.0: It can use hmacWithSHA1, hmacWithSHA256 or hmacWithSHA512 as pseudorandom function (PRF) and aes128-cbc, aes192-cbc or aes256-cbc as encryption algorithm.

Examples

-------------------------- Example 1 --------------------------

The private key of the DKIM signer domain key "dkimx.com:nov2015" will be exported unprotected to the export file "C:\Temp\domainkey-nov2015.der" in DER format.
Export-DkimSignerDomainKey -Name "dkimx.com:nov2015" -FilePath "C:\Temp\domainkey-nov2015.der" -Format Der

-------------------------- Example 2 --------------------------

The private key of the DKIM signer domain key "dkimx.com:nov2015" will be exported password protected to the export file "C:\Temp\domainkey-nov2015.pem" in the default PEM format.
$pwd = ConvertTo-SecureString -String (Read-Host "Type the password to use") -AsPlainText -Force
Export-DkimSignerDomainKey -Name "dkimx.com:nov2015" -FilePath "C:\Temp\domainkey-nov2015.pem" -Password $pwd


Get-DkimRecordCache

Gets entries from the DKIM record cache.

Syntax

Get-DkimRecordCache [-InputObject] <MamRecordCacheEntry[]> [<CommonParameters>]
Get-DkimRecordCache [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | MamRecordCacheEntry[] | Specifies MamRecordCacheEntry objects to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe MamRecordCacheEntry objects to Get-DkimRecordCache.
Name | False | String[] | Specifies the names of DKIM records to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DkimRecordCache gets all entries in the DKIM record cache.

Detailed Description

The Get-DkimRecordCache cmdlet gets entries which are currently stored in the DKIM record cache.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all cached DKIM records published by domain dkimx.com.
Get-DkimRecordCache -Name "*.dkimx.com"


Get-DkimSigner

Gets information about the DKIM signer.

Syntax

Get-DkimSigner [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-DkimSigner cmdlet returns a DkimSigner object which contains information about the DKIM signer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example retrieves information about the DKIM signer.
Get-DkimSigner


Get-DkimSignerDomainKey

Gets the DKIM signer domain keys.

Syntax

Get-DkimSignerDomainKey [-InputObject] <DkimSignerDomainKey[]> [<CommonParameters>]
Get-DkimSignerDomainKey [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerDomainKey[] | Specifies DkimSignerDomainKey objects representing the DKIM signer domain keys to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DkimSignerDomainKey objects to Get-DkimSignerDomainKey.
Name | False | String[] | Specifies the name of DKIM signer domain keys to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DkimSignerDomainKey gets all of the configured DKIM signer domain keys.

Detailed Description

The Get-DkimSignerDomainKey cmdlet gets objects that represent the DKIM signer domain keys.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all DKIM signer domain keys for the domain dkimx.com.
Get-DkimSignerDomainKey -Name "dkimx.com:*"


Get-DkimSignerLocalDomain

Gets the local domains of the DKIM signer.

Syntax

Get-DkimSignerLocalDomain [-InputObject] <DkimSignerLocalDomain[]> [<CommonParameters>]
Get-DkimSignerLocalDomain [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerLocalDomain[] | Specifies DkimSignerLocalDomain objects representing the DKIM signer local domains to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DkimSignerLocalDomain objects to Get-DkimSignerLocalDomain.
Name | False | String[] | Specifies the names of signer local domains to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DkimSignerLocalDomain gets all of the configured local domains for the DKIM signer.

Detailed Description

The Get-DkimSignerLocalDomain cmdlet gets objects that represent the local domains used by the DKIM signer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all local domains of the DKIM signer which are subdomains of the domain dkimx.com.
Get-DkimSignerLocalDomain -Name "*.dkimx.com"


Get-DkimSignerMessageLog

Gets information about the DKIM signer message log.

Syntax

Get-DkimSignerMessageLog [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-DkimSignerMessageLog cmdlet returns a MessageLog object which contains information about the DKIM signer message log.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the DKIM signer message log.
Get-DkimSignerMessageLog


Get-DkimSignerPolicy

Gets the DKIM signer policies.

Syntax

Get-DkimSignerPolicy [-InputObject] <DkimSignerPolicy[]> [<CommonParameters>]
Get-DkimSignerPolicy [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerPolicy[] | Specifies DkimSignerPolicy objects representing the DKIM signer policies to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DkimSignerPolicy objects to Get-DkimSignerPolicy.
Name | False | String[] | Specifies the names of DKIM signer policies to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DkimSignerPolicy gets all of the configured DKIM signer policies.

Detailed Description

The Get-DkimSignerPolicy cmdlet gets objects that represent the DKIM signer policies.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all DKIM signer policies whose names contain "dkimx.com".
Get-DkimSignerPolicy -Name "*dkimx.com*"


Get-DkimSignerRule

Gets the DKIM signer rules.

Syntax

Get-DkimSignerRule [-InputObject] <DkimSignerRule[]> [<CommonParameters>]
Get-DkimSignerRule [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerRule[] | Specifies DkimSignerRule objects representing the DKIM signer rules to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DkimSignerRule objects to Get-DkimSignerRule.
Name | False | String[] | Specifies the names of DKIM signer rules to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DkimSignerRule gets all of the configured DKIM signer rules.

Detailed Description

The Get-DkimSignerRule cmdlet gets objects that represent the DKIM signer rules.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets the DKIM signer rule with the name "Rule for dkimx.com".
Get-DkimSignerRule -Name "Rule for dkimx.com"


Get-DkimVerifier

Gets information about the DKIM verifier.

Syntax

Get-DkimVerifier [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-DkimVerifier cmdlet returns a DkimVerifier object which contains information about the DKIM verifier.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the DKIM verifier.
Get-DkimVerifier


Get-DmarcAggregateReport

Gets the DMARC aggregate reports.

Syntax

Get-DmarcAggregateReport [-InputObject] <DmarcAggregateReport[]> [<CommonParameters>]
Get-DmarcAggregateReport [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcAggregateReport[] | Specifies DmarcAggregateReport objects representing the DMARC aggregate reports to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DmarcAggregateReport objects to Get-DmarcAggregateReport.
Name | False | String[] | Specifies the names of DMARC aggregate reports to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DmarcAggregateReport gets all of the configured DMARC aggregate reports.

Detailed Description

The Get-DmarcAggregateReport cmdlet gets objects that represent the DMARC aggregate reports.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets the DMARC aggregate report with the name "Default".
Get-DmarcAggregateReport -Name "Default"


Get-DmarcFailureReport

Gets the DMARC failure reports.

Syntax

Get-DmarcFailureReport [-InputObject] <DmarcFailureReport[]> [<CommonParameters>]
Get-DmarcFailureReport [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcFailureReport[] | Specifies DmarcFailureReport objects representing the DMARC failure reports to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DmarcFailureReport objects to Get-DmarcFailureReport.
Name | False | String[] | Specifies the names of DMARC failure reports to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DmarcFailureReport gets all of the configured DMARC failure reports.

Detailed Description

The Get-DmarcFailureReport cmdlet gets objects that represent the DMARC failure reports.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets the DMARC failure report with the name "Default".
Get-DmarcFailureReport -Name "Default"


Get-DmarcRecordCache

Gets entries from the DMARC record cache.

Syntax

Get-DmarcRecordCache [-InputObject] <MamRecordCacheEntry[]> [<CommonParameters>]
Get-DmarcRecordCache [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | MamRecordCacheEntry[] | Specifies MamRecordCacheEntry objects to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe MamRecordCacheEntry objects to Get-DmarcRecordCache.
Name | False | String[] | Specifies the names of DMARC records to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DmarcRecordCache gets all entries in the DMARC record cache.

Detailed Description

The Get-DmarcRecordCache cmdlet gets entries which are currently stored in the DMARC record cache.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all cached DMARC records published by domain dkimx.com.
Get-DmarcRecordCache -Name "*.dkimx.com"


Get-DmarcVerifier

Gets information about the DMARC verifier.

Syntax

Get-DmarcVerifier [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-DmarcVerifier cmdlet returns a DmarcVerifier object which contains information about the DMARC verifier.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the DMARC verifier.
Get-DmarcVerifier


Get-DnsRecordCache

Gets entries from the DMARC record cache.

Syntax

Get-DnsRecordCache [-InputObject] <DnsRecordCacheEntry[]> [-RecordType <DnsRecordType[]>] [<CommonParameters>]
Get-DnsRecordCache [[-Name] <String[]>] [-RecordType <DnsRecordType[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DnsRecordCacheEntry[] | Specifies DnsRecordCacheEntry objects to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe DnsRecordCacheEntry objects to Get-DnsRecordCache.
Name | False | String[] | Specifies the names of DNS records to retrieve. Wildcards are permitted. If this parameter is not specified, Get-DnsRecordCache gets all entries in the DNS record cache.
RecordType | False | DnsRecordType[] | Specifies the types of DNS records to retrieve. If this parameter is not specified, Get-DnsRecordCache returns all types of DNS records. The following record types are supported: A, NS, CNAME, SOA, PTR, MX, TXT, AAAA.

Detailed Description

The Get-DnsRecordCache cmdlet gets entries which are currently stored in the DNS record cache.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all cached DNS records published by domain dkimx.com.
Get-DnsRecordCache -Name "*.dkimx.com"

-------------------------- EXAMPLE 2 --------------------------

This example gets all cached DNS records of type A and AAAA.
Get-DnsRecordCache -RecordType A, AAAA


Get-DnsResolver

Gets information about the DNS resolver.

Syntax

Get-DnsResolver [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-DnsResolver cmdlet returns a DnsResolver object which contains information about the DNS resolver.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the DNS resolver.
Get-DnsResolver


Get-LicenseCertificate

Gets information about the license certificate currently in use.

Syntax

Get-LicenseCertificate [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-LicenseCertificate cmdlet returns a LicenseCertificate object which contains information of the license certificate currently in use, which includes information about the product license and maintenance period.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example retrieves information about the license certificate currently in use.
Get-LicenseCertificate


Get-NotificationMailer

Gets information about the notification mailer.

Syntax

Get-NotificationMailer [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-NotificationMailer cmdlet returns a NotificationMailer object which contains information about the notification mailer.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the notification mailer.
Get-NotificationMailer


Get-ProductInformation

Gets information about the installed DkimX product.

Syntax

Get-ProductInformation [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-ProductInformation cmdlet returns a ProductInformation object which contains information about the last modification date of the configuration, version, release and installation date of the installed DkimX product and version and role of the installed MS Exchange server product.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example retrieves information about the DkimX server.
Get-ProductInformation


Get-PublicSuffixList

Gets information about the public suffix list.

Syntax

Get-PublicSuffixList [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-PublicSuffixList cmdlet returns a PublicSuffixList object which contains information about the public suffix list.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the public suffix list.
Get-PublicSuffixList


Get-RecordProvider

Gets information about the record provider.

Syntax

Get-RecordProvider [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-RecordProvider cmdlet returns a RecordProvider object which contains information about the record provider.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the record provider.
Get-RecordProvider


Get-SpfRecordCache

Gets entries from the SPF record cache.

Syntax

Get-SpfRecordCache [-InputObject] <MamRecordCacheEntry[]> [<CommonParameters>]
Get-SpfRecordCache [[-Name] <String[]>] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | MamRecordCacheEntry[] | Specifies MamRecordCacheEntry objects to retrieve. Enter a variable that contains the objects, or type a command or expression that gets the objects. You can also pipe MamRecordCacheEntry objects to Get-SpfRecordCache.
Name | False | String[] | Specifies the names of SPF records to retrieve. Wildcards are permitted. If this parameter is not specified, Get-SpfRecordCache gets all entries in the SPF record cache.

Detailed Description

The Get-SpfRecordCache cmdlet gets entries which are currently stored in the SPF record cache.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example gets all cached SPF records published by domain dkimx.com.
Get-SpfRecordCache -Name "*.dkimx.com"


Get-SpfVerifier

Gets information about the SPF verifier.

Syntax

Get-SpfVerifier [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-SpfVerifier cmdlet returns a SpfVerifier object which contains information about the SPF verifier.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the SPF verifier.
Get-SpfVerifier


Get-UpdateInformation

Retrieves information about available product updates.

Syntax

Get-UpdateInformation [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-UpdateInformation cmdlet queries a web service for available product updates and returns the result as an UpdateInformation object.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about available product updates.
Get-UpdateInformation


Get-Verifier

Gets information about the verifier.

Syntax

Get-Verifier [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-Verifier cmdlet returns a Verifier object which contains information about the verifier.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the verifier.
Get-Verifier


Get-VerifierMessageLog

Gets information about the verifier message log.

Syntax

Get-VerifierMessageLog [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
None |  |  |

Detailed Description

The Get-VerifierMessageLog cmdlet returns a MessageLog object which contains information about the verifier message log.

Examples

-------------------------- Example 1 --------------------------

This example retrieves information about the verifier message log.
Get-VerifierMessageLog


New-DkimDnsTxtRecord

Creates a new DNS TXT record for DKIM.

Syntax

New-DkimDnsTxtRecord [-InputObject] <DkimSignerDomainKey> [-AcceptableHashAlgorithms {Sha1 | Sha256}] [-Flags {TestMode | DisallowSubdomains}] [-Notes <String>] [-ServiceTypes {All | Email}] [<CommonParameters>]
New-DkimDnsTxtRecord [-Name] <String> [-AcceptableHashAlgorithms {Sha1 | Sha256}] [-Flags {TestMode | DisallowSubdomains}] [-Notes <String>] [-ServiceTypes {All | Email}] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AcceptableHashAlgorithms | False | DkimHashAlgorithms | Specifies the value of the acceptable hash algorithms (h=) tag. The following values can be specified: - Sha1 - Sha256 - Sha1, Sha256 If not specified, the created DNS TXT record will not include the acceptable hash algorithms (h=) tag.
Flags | False | DomainKeyFlags | Specifies the value of the flags (t=) tag. The following values can be specified: - TestMode - DisallowSubdomains - TestMode, DisallowSubdomains If not specified, the created DNS TXT record will not include the flags (t=) tag.
InputObject | True | DkimSignerDomainKey | Specifies a DkimSignerDomainKey object that represents the DKIM signer domain key whose properties will be used for generating the DNS TXT record. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerDomainKey command. You can also pipe a DkimSignerDomainKey object to New-DkimDnsTxtRecord.
Name | True | String | Specifies the name of the DKIM signer domain key whose properties will be used for generating the DNS TXT record. You can also pipe a DKIM signer domain key name to New-DkimDnsTxtRecord.
Notes | False | String | Specifies the value of the notes (n=) tag. If not specified, the created DNS TXT record will not include the notes (n=) tag.
ServiceTypes | False | DomainKeyServiceTypes | Specifies the value of the service type (s=) tag. The following values can be specified: - All - Email - All, Email If not specified, the created DNS TXT record will not include the service type (s=) tag.

Detailed Description

The New-DkimDnsTxtRecord cmdlet creates a new DnsTxtRecord object for DKIM. The properties of this new object can then be used to manually create the DNS TXT record in the relevant DNS zone. The created DkimDnsTxtRecord object is only a temporary one, it is not stored in the configuration.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates and displays DNS TXT record data for the DKIM signer domain key with name "dkimx.com:jun2018".
New-DkimDnsTxtRecord -Name "dkimx.com:jun2018"

-------------------------- EXAMPLE 2 --------------------------

This example creates and displays DNS TXT record data for all DKIM signer domain keys for domain dkimx.com.
Get-DkimSignerDomainKey -Name "dkimx.com:*" | New-DkimDnsTxtRecord


New-DkimSignerDomainKey

Creates a new DKIM signer domain key.

Syntax

New-DkimSignerDomainKey [-Domain] <String> [-Selector] <String> [-KeyFilePath] <String> [-Description <String>] [-KeyFilePassword <SecureString>] [-Confirm] [-WhatIf] [<CommonParameters>]
New-DkimSignerDomainKey [-Domain] <String> [-Selector] <String> [-KeyType] {Rsa | Ed25519} [-Description <String>] [-KeySize <Int32>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Description | False | String | Specifies a description for the DKIM signer domain key.
Domain | True | String | Specifies the email domain of the DKIM signer domain key to create. The domain name is combined with the selector to implicitly construct the name of the DKIM signer domain key in the format <domain>:<selector>.
KeyFilePassword | False | SecureString | Specifies the password to use for decrypting the protected private key contained in the key file. If this parameter is not specified, an unprotected private key is expected.
KeyFilePath | True | String | Specifies the path of the file which contains the private key to import. The following file formats are supported: - Pem (PKCS#1/PKCS#8 base-64 encoded) - Der (PKCS#8 encoded binary) - Xml (XKMS 2.0)
KeySize | False | Int32 | Specifies the size of the RSA key for the DKIM signer domain key to create. The key size must be a multiple of 256 between 512 and 8192. This parameter is ignored if the parameter KeyType has the value Ed25519. The default value is 2048.
KeyType | True | DkimKeyType | Specifies the type of the private key to generate for the new DKIM signer domain key. Valid values are: - Rsa - Ed25519
Selector | True | String | Specifies the selector of the DKIM signer domain key to create. You can specify an arbitrary string but it must syntactically conform to the rules of one or more DNS labels (e.g. jun2018, key5.marketing).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The New-DkimSignerDomainKey cmdlet creates a new DKIM signer domain key for the specified domain and selector.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates a new DKIM signer domain key for domain dkimx.com and selector jun2021. A new RSA key of 2048 bits is created.
New-DkimSignerDomainKey -Domain "dkimx.com" -Selector "jun2021" -KeyType Rsa -KeySize 2048

-------------------------- EXAMPLE 2 --------------------------

This example creates a new DKIM signer domain key for domain dkimx.com and selector nov2021. An existing protected RSA or Ed25519 key is imported from the specified key file.
$pwd = ConvertTo-SecureString -String (Read-Host "Type the password to use") -AsPlainText -Force
New-DkimSignerDomainKey -Domain "dkimx.com" -Selector "nov2021" -KeyFilePath "C:\Temp\domainkey-nov2021.pem" -KeyFilePassword $pwd


New-DkimSignerPolicy

Creates a new DKIM signer policy.

Syntax

New-DkimSignerPolicy [-Name] <String> [-AddProductIdHeaderField <Boolean>] [-Algorithm {RsaSha1 | RsaSha256 | Ed25519Sha256}] [-AlwaysIncludeCanonicalization <Boolean>] [-AlwaysIncludeIdentity <Boolean>] [-AlwaysIncludeQueryMethods <Boolean>] [-BodyCanonicalization {Simple | Relaxed}] [-BodyLength <String>] [-Description <String>] [-Expiration <String>] [-HeaderCanonicalization {Simple | Relaxed}] [-HeaderFields <String[]>] [-Identity <String>] [-IncludeCopiedHeaderFields <Boolean>] [-IncludeTimestamp <Boolean>] [-QueryMethods {DnsTxt}] [-TemplateInstance <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AddProductIdHeaderField | False | Boolean | Specifies whether a product-ID header field will be added to messages. The default value is $true.
Algorithm | False | DkimAlgorithm | Specifies the algorithm to be used for generating the signature. Valid values are: - RsaSha1 - RsaSha256 - Ed25519Sha256 The default value is RsaSha256.
AlwaysIncludeCanonicalization | False | Boolean | Specifies whether the message canonicalization (c=) tag will be included in the signature even when both the header canonicalization and the body canonicalization have the default value of Simple. The default value is $false.
AlwaysIncludeIdentity | False | Boolean | Specifies whether the identity (i=) tag will be included in the signature even when identity has the default value of @<SigningDomain>. The default value is $false.
AlwaysIncludeQueryMethods | False | Boolean | Specifies whether the query methods (q=) tag will be included in the signature even when query methods has the default value of DnsTxt. The default value is $false.
BodyCanonicalization | False | DkimCanonicalization | Specifies the canonicalization method for the body of messages. Valid values are: - Simple - Relaxed The default value is Simple.
BodyLength | False | String | Specifies how many bytes of the body of messages will be signed and if the body length count (l=) tag will be added to the signature. Valid values are: - "Exclude": The entire body will be signed. The body length count (l=) tag will not be added to the signature. - "Include": The entire body will be signed. The body length count (l=) tag will be added to the signature. - Int32: The specified number of body bytes will be signed. The specified number must be 0 or greater. The body length count (l=) tag will be added to the signature. The default value is "Exclude".
Description | False | String | Specifies a description for the DKIM signer policy.
Expiration | False | String | Specifies whether the expiration (x=) tag will be added to the signature and if yes, which value the expiration (x=) tag will have. Valid values are: - "None": The expiration (x=) tag will not be added to the signature. - DateTime: The expiration (x=) tag will be added to the signature having the value of the specified DateTime object. - TimeSpan: The expiration (x=) tag will be added to the signature having the value of the specified TimeSpan object added to the signing time. The default value is "None".
HeaderCanonicalization | False | DkimCanonicalization | Specifies the canonicalization method for the header of messages. Valid values are: - Simple - Relaxed The default value is Simple.
HeaderFields | False | String[] | Specifies one ore more header fields to be signed. Each entry consists of the header field name, followed by a colon and the signing mode. The signing mode can be: - SignIfExists - SignAlways The default value is: From:SignIfExists Sender:SignIfExists Reply-To:SignIfExists Subject:SignIfExists Date:SignIfExists Message-ID:SignIfExists To:SignIfExists Cc:SignIfExists MIME-Version:SignIfExists Content-Type:SignIfExists Content-Transfer-Encoding:SignIfExists Content-ID:SignIfExists Content-Description:SignIfExists Resent-Date:SignIfExists Resent-From:SignIfExists Resent-Sender:SignIfExists Resent-To:SignIfExists Resent-Cc:SignIfExists Resent-Message-ID:SignIfExists In-Reply-To:SignIfExists References:SignIfExists List-Id:SignIfExists List-Help:SignIfExists List-Unsubscribe:SignIfExists List-Subscribe:SignIfExists List-Post:SignIfExists List-Owner:SignIfExists List-Archive:SignIfExists
Identity | False | String | Specifies the template for generating the identity (i=) tag of the signature. The value must end with <SigningDomain>, which is a placeholder for the domain of the DKIM signer domain key being used. Between the character '@' and <SigningDomain> one or more domain labels can be specified. Before the character '@' you can specify <FromAddressLocalPart>, which is a placeholder for the local-part of the From address, or a static local-part or the empty string. The default value is @<SigningDomain>.
IncludeCopiedHeaderFields | False | Boolean | Specifies whether copies of signed header fields will be included in the signature (z= tag). Enable this feature only for diagnostic use. The default value is $false.
IncludeTimestamp | False | Boolean | Specifies whether the timestamp (t=) tag will be included in the signature. The default value is $false.
Name | True | String | Specifies the name of the new DKIM signer policy. Because the name of a DKIM signer policy must be unique, you cannot specify the name of an existing DKIM signer policy.
QueryMethods | False | DkimQueryMethods | Specifies the query methods used to retrieve the public key. Currently only one method is defined: - DnsTxt The default value is DnsTxt.
TemplateInstance | False | String | Specifies the name of an existing DKIM signer policy to be used as a template for the new DKIM signer policy. If an existing DKIM signer policy is specified as a template, settings for the new DKIM signer policy which are not explicitly specified by optional parameters will be copied from the existing DKIM signer policy.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The New-DkimSignerPolicy cmdlet creates a new DKIM signer policy.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates a new DKIM signer policy with the name "Default with relaxed canonicalization" where all property values are copied from the existing DKIM signer policy "Default", except the header and body canonicalization properties, which are set to 'relaxed'.
New-DkimSignerPolicy -Name "Default with relaxed canonicalization" -TemplateInstance "Default" -HeaderCanonicalization Relaxed -BodyCanonicalization Relaxed


New-DkimSignerRule

Creates a new DKIM signer rule.

Syntax

New-DkimSignerRule [-Name] <String> [-Description <String>] -DomainKey <String> [-Enabled <Boolean>] [-FromAddressFilter <String>] [-HeaderFieldFilter <String>] -Policy <String> [-Priority <Int32>] [-RemoveExistingSignatures <Boolean>] [-SignMessages <Boolean>] [-StopProcessingRules <Boolean>] [-Confirm] [-WhatIf] [<CommonParameters>]
New-DkimSignerRule [-Name] <String> [-Description <String>] [-DomainKey <String>] [-Enabled <Boolean>] [-FromAddressFilter <String>] [-HeaderFieldFilter <String>] [-Policy <String>] [-Priority <Int32>] [-RemoveExistingSignatures <Boolean>] [-SignMessages <Boolean>] [-StopProcessingRules <Boolean>] -TemplateInstance <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Description | False | String | Specifies a description for the DKIM signer rule.
DomainKey | True | String | Specifies the name of an existing DKIM signer domain key, whose RSA key is used when a matching message is signed. If you are not copying values from another DKIM signer rule by providing the TemplateInstance parameter, you must provide this parameter even when signing of messages by this rule is disabled (-SignMessages $false).
Enabled | False | Boolean | Specifies whether the DKIM signer rule will be initially enabled or not. The default is $false. To change the state of an existing DKIM signer rule, use the cmdlets Enable-DkimSignerRule and Disable-DkimSignerRule.
FromAddressFilter | False | String | Specifies the From address filter. Wildcard and regular expressions are supported. If you want to disable this filter, specify the empty string as value. If this parameter is not specified, the default value is *@<domain>, where <domain> is the domain of the DKIM signer domain key being used.
HeaderFieldFilter | False | String | Specifies the header field filter. If this parameter is specified, the value must be either the empty string or it must be in the format <name>:<value>, where <name> is the filter expression for the header field name and <value> is the filter expression for the header field value. Wildcard and regular expressions are supported for both components. The default value is the empty string, which indicates that this filter is disabled.
Name | True | String | Specifies the name of the new DKIM signer rule. Because the name of a DKIM signer rule must be unique, you cannot specify the name of an existing DKIM signer rule.
Policy | True | String | Specifies the name of an existing DKIM signer policy, whose settings are used when a matching message is signed. If you are not copying values from another DKIM signer rule by providing the TemplateInstance parameter, you must provide this parameter even when signing of messages by this rule is disabled (-SignMessages $false).
Priority | False | Int32 | Specifies the priority of the DKIM signer rule. The priority specifies the order in which the DKIM signer rules are processed. Rules with a lower priority value are processed first. If you specify the priority of the DKIM signer rule, the new DKIM signer rule is inserted at the corresponding location in the DKIM signer rule list. If you do not specify the priority of the DKIM signer rule, the new DKIM signer rule is added to the end of the DKIM signer rule list. If specified, the value of this parameter must be greater than or equal to 0, and not exceed n, where n is the total number of DKIM signer rules.
RemoveExistingSignatures | False | Boolean | Specifies whether existing signatures should be removed from messages. The default value is $false.
SignMessages | False | Boolean | Specifies whether messages matching the conditions of this DKIM signer rule will be signed by using the settings of the specified DKIM signer domain key and DKIM signer policy. The default value is $true.
StopProcessingRules | False | Boolean | Specifies whether DKIM signer rules with lower priority (=greater priority value) will be processed or not in case a message matches the conditions of this DKIM signer rule. The default is $true.
TemplateInstance | True | String | Specifies the name of an existing DKIM signer rule to be used as a template for the new DKIM signer rule. If an existing DKIM signer rule is specified as a template, settings for the new DKIM signer rule which are not explicitly specified by optional parameters will be copied from the existing DKIM signer rule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The New-DkimSignerRule cmdlet creates a new DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates a new DKIM signer rule with the name "Rule for dkimx.com" for message signing using the specified DKIM signer domain key and DKIM signer policy.
New-DkimSignerRule -Name "Rule for dkimx.com" -DomainKey "dkimx.com:jun2018" -Policy "Default with relaxed canonicalization"


New-DmarcAggregateReport

Creates a new DMARC aggregate report.

Syntax

New-DmarcAggregateReport [-Name] <String> [-Domain] <String> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Enabled <Boolean>] [-HonorIntradayIntervals <Boolean>] [-HtmlText <String>] [-MaxRecipients <Int32>] [-MetadataEmail <String>] [-MetadataExtraContactInfo <String>] [-MetadataOrgName <String>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
BccRecipients | False | String[] | Specifies additional recipients for DMARC aggregate report messages.
CustomHeaderFields | False | String[] | Specifies custom header fields which will be added to DMARC aggregate report messages.
Description | False | String | Specifies a description for the DMARC aggregate report.
Domain | True | String | Specifies the name of the domain which will be used as submitter of DMARC aggregate report messages.
Enabled | False | Boolean | Specifies whether the DMARC aggregate report will be initially enabled or not. The default is $false. To change the state of an existing DMARC aggregate report, use the cmdlets Enable-DmarcAggregateReport and Disable-DmarcAggregateReport.
HonorIntradayIntervals | False | Boolean | Specifies whether the DMARC aggregate report manager will honor intraday report generation intervals specified in DMARC records. If you specify $false, the report generation intervals specified in DMARC records are ignored and DMARC aggregate report messages are generated and send once per day at 00:00 UTC. If you specify $true, the report generation interval specified in a DMARC record is used to derive the effective report generation interval (1, 2, 3, 4, 6, 8, 12 or 24 hours). The default is $false.
HtmlText | False | String | Specifies the text template which is used for generating the HTML text body part of DMARC aggregate report messages.
MaxRecipients | False | Int32 | Specifies the maximum number of recipients of DMARC aggregate report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
MetadataEmail | False | String | Specifies the email address which will be published in the metadata section of DMARC aggregate report XML documents.
MetadataExtraContactInfo | False | String | Specifies extra contact information which will be published in the metadata section of DMARC aggregate report XML documents.
MetadataOrgName | False | String | Specifies the name of the organization which will be published in the metadata section of DMARC aggregate report XML documents.
Name | True | String | Specifies the name of the new DMARC aggregate report. Because the name of a DMARC aggregate report must be unique, you cannot specify the name of an existing DMARC aggregate report.
PlainText | False | String | Specifies the text template which is used for generating the plain text body part of DMARC aggregate report messages.
RecipientDomains | False | String[] | Specifies a set of recipient domain filters. Wildcard and regular expressions are supported. When the domain part of at least one recipient address of an evaluated DMARC message matches a recipient domain filter, the message will be included in the report data for this aggregate report.
Sender | False | String | Specifies the sender address for DMARC aggregate report messages.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The New-DmarcAggregateReport cmdlet creates a new DMARC aggregate report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates a new DMARC aggregate report with the name "dkimx.com" for the submitter domain "dkimx.com" with support for intraday report generation intervals enabled.
New-DmarcAggregateReport -name "dkimx.com" -Domain "dkimx.com" -HonorIntradayIntervals $true


New-DmarcFailureReport

Creates a new DMARC failure report.

Syntax

New-DmarcFailureReport [-Name] <String> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Enabled <Boolean>] [-MaxRecipients <Int32>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Subject <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
BccRecipients | False | String[] | Specifies additional recipients for DMARC failure report messages.
CustomHeaderFields | False | String[] | Specifies custom header fields which will be added to DMARC failure report messages.
Description | False | String | Specifies a description for the DMARC failure report.
Enabled | False | Boolean | Specifies whether the DMARC failure report will be initially enabled or not. The default is $false. To change the state of an existing DMARC failure report, use the cmdlets Enable-DmarcFailureReport and Disable-DmarcFailureReport.
MaxRecipients | False | Int32 | Specifies the maximum number of recipients of DMARC failure report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
Name | True | String | Specifies the name of the new DMARC failure report. Because the name of a DMARC failure report must be unique, you cannot specify the name of an existing DMARC failure report.
PlainText | False | String | Specifies the text template which is used for generating the plain text body part of DMARC failure report messages.
RecipientDomains | False | String[] | Specifies a set of recipient domain filters. Wildcard and regular expressions are supported. When the domain part of at least one recipient address of an evaluated DMARC message matches a recipient domain filter, the message will be included in the report data for this failure report.
Sender | False | String | Specifies the sender address for DMARC failure report messages.
Subject | False | String | Specifies the text template which is used for generating the subject of DMARC failure report messages.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The New-DmarcFailureReport cmdlet creates a new DMARC failure report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example creates a new DMARC failure report with the name "dkimx.com". Specified are also recipient domain filter "dkimx.com" and all subdomains, the sender address and that the DMARC failure report is enabled.
New-DmarcFailureReport -name "dkimx.com" -RecipientDomain "dkimx.com", "*.dkimx.com" -Sender "noreply-dmarc-support@dkimx.com" -Enabled $true


Remove-DkimSignerDomainKey

Deletes a DKIM signer domain key.

Syntax

Remove-DkimSignerDomainKey [-InputObject] <DkimSignerDomainKey> [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-DkimSignerDomainKey [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerDomainKey | Specifies a DkimSignerDomainKey object that represents the DKIM signer domain key to be removed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerDomainKey command. You can also pipe a DkimSignerDomainKey object to Remove-DkimSignerDomainKey.
Name | True | String | Specifies the name of the DKIM signer domain key to be removed. Wildcards are not permitted. You can also pipe a DKIM signer domain key name to Remove-DkimSignerDomainKey.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Remove-DkimSignerDomainKey cmdlet deletes the specified DKIM signer domain key.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example deletes the DKIM signer domain key with the name "dkimx.com:jun2018".
Remove-DkimSignerDomainKey -Name "dkimx.com:jun2018"


Remove-DkimSignerPolicy

Deletes a DKIM signer policy.

Syntax

Remove-DkimSignerPolicy [-InputObject] <DkimSignerPolicy> [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-DkimSignerPolicy [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerPolicy | Specifies a DkimSignerPolicy object that represents the DKIM signer policy to be removed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerPolicy command. You can also pipe a DkimSignerPolicy object to Remove-DkimSignerPolicy.
Name | True | String | Specifies the name of the DKIM signer policy to be removed. Wildcards are not permitted. You can also pipe a DKIM signer policy name to Remove-DkimSignerPolicy.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Remove-DkimSignerPolicy cmdlet deletes the specified DKIM signer policy.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example deletes the DKIM signer policy with the name "Default with relaxed canonicalization".
Remove-DkimSignerPolicy -Name "Default with relaxed canonicalization1"


Remove-DkimSignerRule

Deletes a DKIM signer rule.

Syntax

Remove-DkimSignerRule [-InputObject] <DkimSignerRule> [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-DkimSignerRule [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerRule | Specifies a DkimSignerRule object that represents the DKIM signer rule to be removed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerRule command. You can also pipe a DkimSignerRule object to Remove-DkimSignerRule.
Name | True | String | Specifies the name of the DKIM signer rule to be removed. Wildcards are not permitted. You can also pipe a DKIM signer rule name to Remove-DkimSignerRule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Remove-DkimSignerRule cmdlet deletes the specified DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example deletes the DKIM signer rule with the name "Rule for dkimx.com".
Remove-DkimSignerRulePolicy -Name "Rule for dkimx.com"


Remove-DmarcAggregateReport

Deletes a DMARC aggregate report.

Syntax

Remove-DmarcAggregateReport [-InputObject] <DmarcAggregateReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-DmarcAggregateReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report to be removed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Remove-DmarcAggregateReport.
Name | True | String | Specifies the name of the DMARC aggregate report to be removed. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Remove-DmarcAggregateReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Remove-DmarcAggregateReport cmdlet deletes the specified DMARC aggregate report. The DMARC aggregate report with name 'Default' can not be deleted.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example deletes the DMARC aggregate report with the name "Customer ACME".
Remove-DmarcAggregateReport -Name "Customer ACME"


Remove-DmarcFailureReport

Deletes a DMARC failure report.

Syntax

Remove-DmarcFailureReport [-InputObject] <DmarcFailureReport> [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-DmarcFailureReport [-Name] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcFailureReport | Specifies a DmarcFailureReport object that represents the DMARC failure report to be removed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcFailureReport command. You can also pipe a DmarcFailureReport object to Remove-DmarcFailureReport.
Name | True | String | Specifies the name of the DMARC failure report to be removed. Wildcards are not permitted. You can also pipe a DMARC failure report name to Remove-DmarcFailureReport.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Remove-DmarcFailureReport cmdlet deletes the specified DMARC failure report. The DMARC failure report with name 'Default' can not be deleted.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example deletes the DMARC failure report with the name "Customer ACME".
Remove-DmarcFailureReport -Name "Customer ACME"


Rename-DkimSignerPolicy

Renames a DKIM signer policy.

Syntax

Rename-DkimSignerPolicy [-InputObject] <DkimSignerPolicy> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]
Rename-DkimSignerPolicy [-Name] <String> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerPolicy | Specifies a DkimSignerPolicy object that represents the DKIM signer policy to be renamed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerPolicy command. You can also pipe a DkimSignerPolicy object to Rename-DkimSignerPolicy.
Name | True | String | Specifies the name of the DKIM signer policy to be renamed. Wildcards are not permitted. You can also pipe a DKIM signer policy name to Rename-DkimSignerPolicy.
NewName | True | String | Specifies the new name of the DKIM signer policy. Because the name of a DKIM signer policy must be unique, you cannot specify the name of an existing DKIM signer policy.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Rename-DkimSignerPolicy cmdlet renames the specified DKIM signer policy.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example renames a DKIM signer policy.
Rename-DkimSignerPolicy -Name "Default with relaxed canonicalization1" -NewName "Default settings with relaxed canonicalization"


Rename-DkimSignerRule

Renames a DKIM signer rule.

Syntax

Rename-DkimSignerRule [-InputObject] <DkimSignerRule> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]
Rename-DkimSignerRule [-Name] <String> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DkimSignerRule | Specifies a DkimSignerRule object that represents the DKIM signer rule to be renamed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerRule command. You can also pipe a DkimSignerRule object to Rename-DkimSignerRule.
Name | True | String | Specifies the name of the DKIM signer rule to be renamed. Wildcards are not permitted. You can also pipe a DKIM signer rule name to Rename-DkimSignerRule.
NewName | True | String | Specifies the new name of the DKIM signer rule. Because the name of a DKIM signer rule must be unique, you cannot specify the name of an existing DKIM signer rule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Rename-DkimSignerRule cmdlet renames the specified DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example renames a DKIM signer rule.
Rename-DkimSignerRule -Name "Rule for dkimx.com" -NewName "Rule for domain dkimx.com"


Rename-DmarcAggregateReport

Renames a DMARC aggregate report.

Syntax

Rename-DmarcAggregateReport [-InputObject] <DmarcAggregateReport> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]
Rename-DmarcAggregateReport [-Name] <String> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report to be renamed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Rename-DmarcAggregateReport.
Name | True | String | Specifies the name of the DMARC aggregate report to be renamed. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Rename-DmarcAggregateReport.
NewName | True | String | Specifies the new name of the DMARC aggregate report. Because the name of a DMARC aggregate report must be unique, you cannot specify the name of an existing DMARC aggregate report.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Rename-DmarcAggregateReport cmdlet renames the specified DMARC aggregate report. The DMARC aggregate report with name 'Default' can not be renamed.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example renames a DMARC aggregate report.
Rename-DmarcAggregateReport -Name "Customer 1" -NewName "Customer ACME"


Rename-DmarcFailureReport

Renames a DMARC failure report.

Syntax

Rename-DmarcFailureReport [-InputObject] <DmarcFailureReport> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]
Rename-DmarcFailureReport [-Name] <String> [-NewName] <String> [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
InputObject | True | DmarcFailureReport | Specifies a DmarcFailureReport object that represents the DMARC failure report to be renamed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcFailureReport command. You can also pipe a DmarcFailureReport object to Rename-DmarcFailureReport.
Name | True | String | Specifies the name of the DMARC failure report to be renamed. Wildcards are not permitted. You can also pipe a DMARC failure report name to Rename-DmarcFailureReport.
NewName | True | String | Specifies the new name of the DMARC failure report. Because the name of a DMARC failure report must be unique, you cannot specify the name of an existing DMARC failure report.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Rename-DmarcFailureReport cmdlet renames the specified DMARC failure report. The DMARC failure report with name 'Default' can not be renamed.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example renames a DMARC failure report.
Rename-DmarcFailureReport -Name "Customer 1" -NewName "Customer ACME"


Set-DkimSigner

Changes properties of the DKIM signer.

Syntax

Set-DkimSigner [-CustomLocalDomainFilters <String[]>] [-CustomLocalDomains <String[]>] [-Enabled <Boolean>] [-ExcludedRecipients <String[]>] [-IncludeMxsAcceptedDomainsInLocalDomains <Boolean>] [-MaxHeaderSize <ByteSize>] [-MaxMessageSize <ByteSize>] [-ReportIgnoredMessages <Boolean>] [-TreatCustomLocalDomainRecipientAsExternal <Boolean>] [-TreatNullEnvelopeSenderAddressAsLocal <Boolean>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
CustomLocalDomainFilters | False | String[] | Specifies a set of custom local domain filters. Wildcard and regular expressions are supported.
CustomLocalDomains | False | String[] | Specifies a set of email domains which should be treated as local domains.
Enabled | False | Boolean | Specifies whether the DKIM signer is enabled or not.
ExcludedRecipients | False | String[] | Specifies a set of SMTP addresses of excluded recipients. Wildcard and regular expressions are supported. When at least one recipient of a message matches an excluded recipient, the message will not be processed by the DKIM signer.
IncludeMxsAcceptedDomainsInLocalDomains | False | Boolean | Specifies whether accepted domains (Authoritative and Internal Relay only) from MS Exchange will be treated as local domains.
MaxHeaderSize | False | ByteSize | Specifies the maximum size of the SMTP header of messages that will be processed by the DKIM signer. If the size of the SMTP header of a message exceeds this value, the message will not be processed by the DKIM signer. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the size of the SMTP header of messages that will be processed by the DKIM signer.
MaxMessageSize | False | ByteSize | Specifies the maximum size of messages that will be processed by the DKIM signer. If the size of a message exceeds this value, the message will not be processed by the DKIM signer. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the size of messages that will be processed by the DKIM signer.
ReportIgnoredMessages | False | Boolean | Specifies whether not only information about processed messages but also about ignored messages will be written to the DKIM signer message log, if enabled.
TreatCustomLocalDomainRecipientAsExternal | False | Boolean | Specifies whether a recipient of a custom local domain should be treated as an external recipient.
TreatNullEnvelopeSenderAddressAsLocal | False | Boolean | Specifies whether the NULL envelope sender address should be treated as a local envelope sender address.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimSigner cmdlet changes properties of the DKIM signer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets a new maximum message size of 10MB.
Set-DkimSigner -MaxMessageSize 10MB


Set-DkimSignerDomainKey

Changes properties of an existing DKIM signer domain key.

Syntax

Set-DkimSignerDomainKey [-InputObject] <DkimSignerDomainKey> [-Description <String>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-DkimSignerDomainKey [-Name] <String> [-Description <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Description | False | String | Specifies a new description for the DKIM signer domain key.
InputObject | True | DkimSignerDomainKey | Specifies a DkimSignerDomainKey object that represents the DKIM signer domain key to be changed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerDomainKey command. You can also pipe a DkimSignerDomainKey object to Set-DkimSignerDomainKey.
Name | True | String | Specifies the name of the DKIM signer domain key to be changed. Wildcards are not permitted. You can also pipe a DKIM signer domain key name to Set-DkimSignerDomainKey.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimSignerDomainKey cmdlet changes properties of the specified DKIM signer domain key.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets a new description for the DKIM signer domain key with the name "dkimx.com:jun2018".
Set-DkimSignerDomainKey -Name "dkimx.com:jun2018" -Description "Domain key for domain dkimx.com and selector jun2018"


Set-DkimSignerMessageLog

Changes properties of the DKIM signer message log.

Syntax

Set-DkimSignerMessageLog [-Enabled <Boolean>] [-LocalTimeRollover <Boolean>] [-MaxAge <TimeSpan>] [-MaxDirectorySize <ByteSize>] [-MaxFileSize <ByteSize>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Enabled | False | Boolean | Specifies whether the DKIM signer message log is enabled or not.
LocalTimeRollover | False | Boolean | Specifies whether daily log file rollover happens at 00:00 local time (=$true) or at 00:00 UTC (=$false).
MaxAge | False | TimeSpan | Specifies the maximum age of log files. Log files which are older are automatically deleted. If you specify a zero interval (00:00:00), no limit is imposed on the age of log files.
MaxDirectorySize | False | ByteSize | Specifies the maximum total size of all log files in the log directory. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the total size of all log files in the log directory.
MaxFileSize | False | ByteSize | Specifies the maximum size of a single log file in the log directory. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the size of a single log file in the log directory, which means that there will be one log file per day.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimSignerMessageLog cmdlet changes properties of the DKIM signer message log.

Examples

-------------------------- EXAMPLE 1 --------------------------

Specifies a maximum log file age of 30 days.
Set-DkimSignerMessageLog -MaxAge 30.00:00:00

--- -------------------------- -------------------------- ---


Set-DkimSignerPolicy

Changes properties of an existing DKIM signer policy.

Syntax

Set-DkimSignerPolicy [-InputObject] <DkimSignerPolicy> [-AddProductIdHeaderField <Boolean>] [-Algorithm {RsaSha1 | RsaSha256 | Ed25519Sha256}] [-AlwaysIncludeCanonicalization <Boolean>] [-AlwaysIncludeIdentity <Boolean>] [-AlwaysIncludeQueryMethods <Boolean>] [-BodyCanonicalization {Simple | Relaxed}] [-BodyLength <String>] [-Description <String>] [-Expiration <String>] [-HeaderCanonicalization {Simple | Relaxed}] [-HeaderFields <String[]>] [-Identity <String>] [-IncludeCopiedHeaderFields <Boolean>] [-IncludeTimestamp <Boolean>] [-QueryMethods {DnsTxt}] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-DkimSignerPolicy [-Name] <String> [-AddProductIdHeaderField <Boolean>] [-Algorithm {RsaSha1 | RsaSha256 | Ed25519Sha256}] [-AlwaysIncludeCanonicalization <Boolean>] [-AlwaysIncludeIdentity <Boolean>] [-AlwaysIncludeQueryMethods <Boolean>] [-BodyCanonicalization {Simple | Relaxed}] [-BodyLength <String>] [-Description <String>] [-Expiration <String>] [-HeaderCanonicalization {Simple | Relaxed}] [-HeaderFields <String[]>] [-Identity <String>] [-IncludeCopiedHeaderFields <Boolean>] [-IncludeTimestamp <Boolean>] [-QueryMethods {DnsTxt}] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AddProductIdHeaderField | False | Boolean | Specifies whether a product-ID header field will be added to messages.
Algorithm | False | DkimAlgorithm | Specifies the algorithm to be used for generating the signature. Valid values are: - RsaSha1 - RsaSha256 - Ed25519Sha256
AlwaysIncludeCanonicalization | False | Boolean | Specifies whether the message canonicalization (c=) tag will be included in the signature even when both the header canonicalization and the body canonicalization have the default value of Simple.
AlwaysIncludeIdentity | False | Boolean | Specifies whether the identity (i=) tag will be included in the signature even when identity has the default value of @<SigningDomain>.
AlwaysIncludeQueryMethods | False | Boolean | Specifies whether the query methods (q=) tag will be included in the signature even when query methods has the default value of DnsTxt.
BodyCanonicalization | False | DkimCanonicalization | Specifies the canonicalization method for the body of messages. Valid values are: - Simple - Relaxed
BodyLength | False | String | Specifies how many bytes of the body of messages will be signed and if the body length count (l=) tag will be added to the signature. Valid values are: - "Exclude": The entire body will be signed. The body length count (l=) tag will not be added to the signature. - "Include": The entire body will be signed. The body length count (l=) tag will be added to the signature. - Int32: The specified number of body bytes will be signed. The specified number must be 0 or greater. The body length count (l=) tag will be added to the signature.
Description | False | String | Specifies a new description for the DKIM signer policy.
Expiration | False | String | Specifies whether the expiration (x=) tag will be added to the signature and if yes, which value the expiration (x=) tag will have. Valid values are: - "None": The expiration (x=) tag will not be added to the signature. - DateTime: The expiration (x=) tag will be added to the signature having the value of the specified DateTime object. - TimeSpan: The expiration (x=) tag will be added to the signature having the value of the specified TimeSpan object added to the signing time.
HeaderCanonicalization | False | DkimCanonicalization | Specifies the canonicalization method for the header of messages. Valid values are: - Simple - Relaxed
HeaderFields | False | String[] | Specifies a set of header fields to be signed. Each entry consists of the header field name, followed by a colon and the signing mode. The signing mode can be: - SignIfExists - SignAlways
Identity | False | String | Specifies the template for generating the identity (i=) tag of the signature. The value must end with <SigningDomain>, which is a placeholder for the domain of the DKIM signer domain key being used. Between the character @ and <SigningDomain> one or more domain labels can be specified. Before the character @ you can specify <FromAddressLocalPart>, which is a placeholder for the local-part of the From address, or a static local-part or the empty string.
IncludeCopiedHeaderFields | False | Boolean | Specifies whether copies of signed header fields will be included in the signature (z= tag). Enable this feature only for diagnostic use.
IncludeTimestamp | False | Boolean | Specifies whether the timestamp (t=) tag will be included in the signature.
InputObject | True | DkimSignerPolicy | Specifies a DkimSignerPolicy object that represents the DKIM signer policy to be changed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerPolicy command. You can also pipe a DkimSignerPolicy object to Set-DkimSignerPolicy.
Name | True | String | Specifies the name of the DKIM signer policy to be changed. Wildcards are not permitted. You can also pipe a DKIM signer policy name to Set-DkimSignerPolicy.
QueryMethods | False | DkimQueryMethods | Specifies the query methods used to retrieve the public key. Currently only one method is defined: - DnsTxt
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimSignerPolicy cmdlet changes properties of the specified DKIM signer policy.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets relaxed header canonicalization for the DKIM signer policy with the name "Default".
Set-DkimSignerPolicy -Name "Default" -HeaderCanonicalization Relaxed


Set-DkimSignerRule

Changes properties of an existing DKIM signer policy.

Syntax

Set-DkimSignerRule [-InputObject] <DkimSignerRule> [-Description <String>] [-DomainKey <String>] [-Enabled <Boolean>] [-FromAddressFilter <String>] [-HeaderFieldFilter <String>] [-Policy <String>] [-Priority <Int32>] [-RemoveExistingSignatures <Boolean>] [-SignMessages <Boolean>] [-StopProcessingRules <Boolean>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-DkimSignerRule [-Name] <String> [-Description <String>] [-DomainKey <String>] [-Enabled <Boolean>] [-FromAddressFilter <String>] [-HeaderFieldFilter <String>] [-Policy <String>] [-Priority <Int32>] [-RemoveExistingSignatures <Boolean>] [-SignMessages <Boolean>] [-StopProcessingRules <Boolean>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Description | False | String | Specifies a new description for the DKIM signer rule.
DomainKey | False | String | Specifies the name of an existing DKIM signer domain key, whose RSA key is used when a matching message is signed
Enabled | False | Boolean | Specifies whether this DKIM signer rule is enabled or not.
FromAddressFilter | False | String | Specifies the From address filter. Wildcard and regular expressions are supported. If you want to disable this filter, specify the empty string as value.
HeaderFieldFilter | False | String | Specifies the header field filter. If this parameter is specified, the value must be either the empty string or it must be in the format <name>:<value>, where <name> is the filter expression for the header field name and <value> is the filter expression for the header field value. Wildcard and regular expressions are supported for both components. If you want to disable this condition, specify the empty string as value.
InputObject | True | DkimSignerRule | Specifies a DkimSignerRule object that represents the DKIM signer rule to be changed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DkimSignerRule command. You can also pipe a DkimSignerRule object to Set-DkimSignerRule.
Name | True | String | Specifies the name of the DKIM signer rule to be changed. Wildcards are not permitted. You can also pipe a DKIM signer rule name to Set-DkimSignerRule.
Policy | False | String | Specifies the name of an existing DKIM signer policy, whose settings are used when a matching message is signed.
Priority | False | Int32 | Specifies the priority of the DKIM signer rule. The priority specifies the order in which the DKIM signer rules are processed. Rules with a lower priority value are processed first. If you modify the priority of the DKIM signer rule, the position of the rule in the DKIM signer rule list changes to match the priority that you specified. The value of this parameter must be greater than or equal to 0, and not exceed n-1, where n is the total number of DKIM signer rules.
RemoveExistingSignatures | False | Boolean | Specifies whether existing signatures should be removed from messages.
SignMessages | False | Boolean | Specifies whether messages matching the conditions of this DKIM signer rule will be signed by using the settings of the specified DKIM signer domain key and DKIM signer policy.
StopProcessingRules | False | Boolean | Specifies whether DKIM signer rules with lower priority (=greater priority value) will be processed in case a message matches the conditions of this DKIM signer rule.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimSignerRule cmdlet changes properties of the specified DKIM signer rule.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets a new DKIM signer domain key for the DKIM signer rule with the name "Rule for dkimx.com"
Set-DkimSignerRule -Name "Rule for dkimx.com" -DomainKey "dkimx.com:mar2012"


Set-DkimVerifier

Changes properties of the DKIM verifier.

Syntax

Set-DkimVerifier [-AcceptObsoleteAlgorithms <Boolean>] [-AcceptPartialSignatures <Boolean>] [-AlwaysAddARPropertyHeaderB <Boolean>] [-Enabled <Boolean>] [-MaxClockSkew <TimeSpan>] [-MaxRsaKeySize <Int32>] [-MaxSignaturesToVerify <Int32>] [-MinRsaKeySize <Int32>] [-RejectOnTempError <Boolean>] [-SignedHeaderFields <String[]>] [-TempErrorSmtpResponse <String>] [-Timeout <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AcceptObsoleteAlgorithms | False | Boolean | Specifies whether DKIM signatures which use deprecated algorithms (currently: SHA-1) will be verified or rejected as invalid.
AcceptPartialSignatures | False | Boolean | Specifies whether DKIM signatures which do not sign all bytes of the message body will be verified or rejected as invalid.
AlwaysAddARPropertyHeaderB | False | Boolean | Specifies whether the authentication results for DKIM signatures will always contain the header.b reporting item or only if required in case of messages with multiple signatures having the same value for the d= tag (see RFC 6008).
Enabled | False | Boolean | Specifies whether the DKIM verifier is enabled or not. The DKIM verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires DKIM verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent DKIM verifier is implicitly disabled.
MaxClockSkew | False | TimeSpan | Specifies whether given timestamp and expiration values in DKIM signatures will be verified and if yes, how much clock drift is acceptable. If the value is the zero interval (00:00:00), given timestamp and expiration values in DKIM signatures will not be verified.
MaxRsaKeySize | False | Int32 | Specifies the maximum length of the RSA key used by a DKIM signature to be acceptable. The value must be a multiple of 256 between 512 and 8192.
MaxSignaturesToVerify | False | Int32 | Specifies the maximum number of DKIM signatures to verify per message. The value can be between 1 and 16.
MinRsaKeySize | False | Int32 | Specifies the minimum length of the RSA key used by a DKIM signature to be acceptable. The value must be a multiple of 256 between 512 and 8192.
RejectOnTempError | False | Boolean | Specifies whether messages should be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems or not.
SignedHeaderFields | False | String[] | Specifies a set of names of header fields which must be covered by a DKIM signature. If a header field in this set is present in the message header and is not signed, even an otherwise valid signature will be evaluated as invalid.
TempErrorSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is temporarily rejected because of DNS lookup problems.
Timeout | False | TimeSpan | Specifies the maximum time to wait for completion of DNS lookup operations. The value can be between one second (00:00:01) and five minutes (00:05:00).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DkimVerifier cmdlet changes properties of the DKIM verifier.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets a new maximum number of 8 DKIM signatures to verify per message.
Set-DkimVerifier -MaxSignaturesToVerify 8


Set-DmarcAggregateReport

Changes properties of an existing DMARC aggregate report.

Syntax

Set-DmarcAggregateReport [-InputObject] <DmarcAggregateReport> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Domain <String>] [-Enabled <Boolean>] [-HonorIntradayIntervals <Boolean>] [-HtmlText <String>] [-MaxRecipients <Int32>] [-MetadataEmail <String>] [-MetadataExtraContactInfo <String>] [-MetadataOrgName <String>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-DmarcAggregateReport [-Name] <String> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Domain <String>] [-Enabled <Boolean>] [-HonorIntradayIntervals <Boolean>] [-HtmlText <String>] [-MaxRecipients <Int32>] [-MetadataEmail <String>] [-MetadataExtraContactInfo <String>] [-MetadataOrgName <String>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
BccRecipients | False | String[] | Specifies additional recipients for DMARC aggregate report messages.
CustomHeaderFields | False | String[] | Specifies custom header fields which will be added to DMARC aggregate report messages.
Description | False | String | Specifies a description for the DMARC aggregate report.
Domain | False | String | Specifies the name of the domain which will be used as submitter of DMARC aggregate report messages.
Enabled | False | Boolean | Specifies whether this DMARC aggregate report is enabled or not.
HonorIntradayIntervals | False | Boolean | Specifies whether the DMARC aggregate report manager will honor intraday report generation intervals specified in DMARC records. If you specify $false, the report generation intervals specified in DMARC records are ignored and DMARC aggregate report messages are generated and send once per day at 00:00 UTC. If you specify $true, the report generation interval specified in a DMARC record is used to derive the effective report generation interval (1, 2, 3, 4, 6, 8, 12 or 24 hours).
HtmlText | False | String | Specifies the text template which is used for generating the HTML text body part of DMARC aggregate report messages.
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report to be changed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Set-DmarcAggregateReport.
MaxRecipients | False | Int32 | Specifies the maximum number of recipients of DMARC aggregate report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
MetadataEmail | False | String | Specifies the email address which will be published in the metadata section of DMARC aggregate report XML documents.
MetadataExtraContactInfo | False | String | Specifies extra contact information which will be published in the metadata section of DMARC aggregate report XML documents.
MetadataOrgName | False | String | Specifies the name of the organization which will be published in the metadata section of DMARC aggregate report XML documents.
Name | True | String | Specifies the name of the DMARC aggregate report to be changed. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Set-DmarcAggregateReport.
PlainText | False | String | Specifies the text template which is used for generating the plain text body part of DMARC aggregate report messages.
RecipientDomains | False | String[] | Specifies a set of recipient domain filters. Wildcard and regular expressions are supported. When the domain part of at least one recipient address of an evaluated DMARC message matches a recipient domain filter, the message will be included in the report data for this DMARC aggregate report. This property can not be set for the DMARC aggregate report named 'Default', because the recipient domain filters of this DMARC aggregate report are implicitly defined to be all possible domains, except domains assigned to all other DMARC aggregate reports.
Sender | False | String | Specifies the sender address for DMARC aggregate report messages.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DmarcAggregateReport cmdlet changes properties of the specified DMARC aggregate report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example limits the number of recipients of messages for the default DMARC aggregate report to 4 recipients.
Set-DmarcAggregateReport -name "Default" -MaxRecipients 4


Set-DmarcFailureReport

Changes properties of an existing DMARC failure report.

Syntax

Set-DmarcFailureReport [-InputObject] <DmarcFailureReport> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Enabled <Boolean>] [-MaxRecipients <Int32>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Subject <String>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-DmarcFailureReport [-Name] <String> [-BccRecipients <String[]>] [-CustomHeaderFields <String[]>] [-Description <String>] [-Enabled <Boolean>] [-MaxRecipients <Int32>] [-PlainText <String>] [-RecipientDomains <String[]>] [-Sender <String>] [-Subject <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
BccRecipients | False | String[] | Specifies additional recipients for DMARC failure report messages.
CustomHeaderFields | False | String[] | Specifies custom header fields which will be added to DMARC failure report messages.
Description | False | String | Specifies a description for the DMARC failure report.
Enabled | False | Boolean | Specifies whether this DMARC failure report is enabled or not.
InputObject | True | DmarcFailureReport | Specifies a DmarcFailureReport object that represents the DMARC failure report to be changed. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcFailureReport command. You can also pipe a DmarcFailureReport object to Set-DmarcFailureReport.
MaxRecipients | False | Int32 | Specifies the maximum number of recipients of DMARC failure report messages. If you specify a value of 0, no limit is imposed on the number of recipients. BCC recipients are not counted as recipients in this context.
Name | True | String | Specifies the name of the DMARC failure report to be changed. Wildcards are not permitted. You can also pipe a DMARC failure report name to Set-DmarcFailureReport.
PlainText | False | String | Specifies the text template which is used for generating the plain text body part of DMARC failure report messages.
RecipientDomains | False | String[] | Specifies a set of recipient domain filters. Wildcard and regular expressions are supported. When the domain part of at least one recipient address of an evaluated DMARC message matches a recipient domain filter and SPF and/or DKIM fails, a DMARC failure report message will be sent immediately. This property can not be set for the DMARC failure report named 'Default', because the recipient domain filters of this DMARC failure report are implicitly defined to be all possible domains, except domains assigned to all other DMARC failure reports.
Sender | False | String | Specifies the sender address for DMARC failure report messages.
Subject | False | String | Specifies the text template which is used for generating the subject of DMARC failure report messages.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DmarcFailureReport cmdlet changes properties of the specified DMARC failure report.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example limits the number of recipients of generated DMARC failure reports to 4 recipients.
Set-DmarcFailureReport -name "dkimx.com" -MaxRecipients 4


Set-DmarcVerifier

Changes properties of the DMARC verifier.

Syntax

Set-DmarcVerifier [-AddFailDispositionHeaderField <Boolean>] [-Enabled <Boolean>] [-EvaluateMamConditionally <Boolean>] [-FailDispositionRejectSmtpResponse <String>] [-RejectOnFailDispositionReject <Boolean>] [-RejectOnTempError <Boolean>] [-TempErrorSmtpResponse <String>] [-Timeout <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AddFailDispositionHeaderField | False | Boolean | Specifies whether a header field with name 'X-DMARC-Fail-Disposition' will be added to messages in case of DMARC verification result 'fail'. The value of this header field will be the evaluated fail disposition: 'None', 'Quarantine' or 'Reject'.
Enabled | False | Boolean | Specifies whether the DMARC verifier is enabled or not. The DMARC verifier can only be enabled if both the DKIM and SPF verifiers are enabled because DMARC verification requires DKIM and SPF verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent DMARC verifier is implicitly disabled.
EvaluateMamConditionally | False | Boolean | Specifies whether SPF and DKIM verification will be performed only when required for DMARC verification or independent of DMARC verification. If the DMARC verifier is enabled and this setting is set to $true, SPF and DKIM verification will only be performed if there exists a DMARC policy record to trigger DMARC verification.
FailDispositionRejectSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is permanently rejected because of DMARC verification result 'fail' and the DMARC policy specifies the value 'reject'.
RejectOnFailDispositionReject | False | Boolean | Specifies whether messages will be permanently rejected with an SMTP reply code of 550 in case of DMARC verification result 'fail' and the DMARC policy specifies the value 'reject'.
RejectOnTempError | False | Boolean | Specifies whether messages will be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems or not.
TempErrorSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is temporarily rejected because of DNS lookup problems.
Timeout | False | TimeSpan | Specifies the maximum time to wait for completion of DNS lookup operations. The value can be between one second (00:00:01) and five minutes (00:05:00).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DmarcVerifier cmdlet changes properties of the DMARC verifier.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example disables adding 'X-DMARC-Fail-Disposition' header fields to messages with DMARC verification result 'fail'.
Set-DmarcVerifier -AddFailDispositionHeaderField $false


Set-DnsResolver

Changes properties of the DNS resolver.

Syntax

Set-DnsResolver [-DnsServers <String[]>] [-MaxUdpPayloadSize <ByteSize>] [-RequestTimeout <TimeSpan>] [-ServerResponseTimeout <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
DnsServers | False | String[] | Specifies a set of IP addresses of DNS servers to use for DNS lookups. Both IPv4 and IPv6 addresses are supported. If the list is empty, the DNS server addresses configured on the local network interfaces will be used.
MaxUdpPayloadSize | False | ByteSize | Specifies the maximum size in bytes of the payload of UDP messages used for DNS responses. The value can be between 512 and 65507. If the used DNS servers do not support EDNS (RFC 6891) or firewalls may block EDNS traffic, you should specify the value 512 to use standard DNS.
RequestTimeout | False | TimeSpan | Specifies the maximum time to wait for completion of a single DNS lookup operation. The value can be between one second (00:00:01) and five minutes (00:05:00).
ServerResponseTimeout | False | TimeSpan | Specifies the maximum time to wait for the answer message from a DNS server in response to a query message. The value can be between 250 milliseconds (00:00:00.250) and thirty seconds (00:00:30).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-DnsResolver cmdlet changes properties of the DNS resolver.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example sets a new server response timeout of 2 seconds.
Set-DnsResolver -ServerResponseTimeout 00:00:02


Set-NotificationMailer

Changes properties of the notification mailer.

Syntax

Set-NotificationMailer [-Recipients <String[]>] [-Sender <String>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Recipients | False | String[] | Specifies a set of SMTP addresses which will receive notification messages by email regarding events requiring intervention.
Sender | False | String | Specifies the sender address for notification messages.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-NotificationMailer cmdlet changes properties of the notification mailer.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example specifies a new list of recipients for notification messages.
Set-NotificationMailer -Recipients "mxsadmins@dkimx.com", "support@dkimx.com"


Set-PublicSuffixList

Changes properties of the public suffix list.

Syntax

Set-PublicSuffixList [-DownloadUrl <String>] [-UpdateInterval <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
DownloadUrl | False | String | Specifies the download URL of the public suffix list.
UpdateInterval | False | TimeSpan | Specifies the interval for updating the public suffix list using the configured download URL. The intraday-part of the interval is ignored, only the days-part it used. If you specify the zero interval (00:00:00), which means 0 days, automatic updating of the Public suffix list is disabled.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-PublicSuffixList cmdlet changes properties of the Public suffix list.

Examples

-------------------------- Example 1 --------------------------

This example specifies an update interval of 14 days.
Set-PublicSuffixList -UpdateInterval 14.00:00:00


Set-RecordProvider

Changes properties of the record provider.

Syntax

Set-RecordProvider [-CacheEnabled <Boolean>] [-CacheMamDnsTxtRecords <Boolean>] [-MaxCacheTtl <TimeSpan>] [-MinCacheTtl <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
CacheEnabled | False | Boolean | Specifies whether the record provider will cache records or not. To disable the cache is not recommended.
CacheMamDnsTxtRecords | False | Boolean | Specifies whether DNS TXT records for DKIM, DMARC and SPF which are cached in their decoded form by the record provider should also be cached in their undecoded form. You will only enable this settings when you want to see the raw text values of DNS TXT records for troubleshooting purposes.
MaxCacheTtl | False | TimeSpan | Specifies the maximum time a record will be cached by the record provider. The value can be between one second (00:00:01) and seven days (7.00:00:00).
MinCacheTtl | False | TimeSpan | Specifies the minimum time a record will be cached by the record provider. The value can be between one second (00:00:01) and seven days (7.00:00:00).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-RecordProvider cmdlet changes properties of the record provider.

Examples

-------------------------- Example 1 --------------------------

This example specifies a maximum cache time of one day.
Set-RecordProvider -MaxCacheTtl 1.00:00:00


Set-SpfVerifier

Changes properties of the SPF verifier.

Syntax

Set-SpfVerifier [-AddReceivedSpfHeaderField <Boolean>] [-Enabled <Boolean>] [-FailSmtpResponse <String>] [-MaxVoidLookups <Int32>] [-RejectOnFail <Boolean>] [-RejectOnSoftFail <Boolean>] [-RejectOnTempError <Boolean>] [-SoftFailSmtpResponse <String>] [-TempErrorSmtpResponse <String>] [-Timeout <TimeSpan>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AddReceivedSpfHeaderField | False | Boolean | Specifies whether the result of SPF verification will be published by adding the 'Received-SPF' header field to verified messages.
Enabled | False | Boolean | Specifies whether the SPF verifier is enabled or not. The SPF verifier can only be disabled if the DMARC verifier is not enabled because DMARC verification requires SPF verification. This setting will only be honored if the verifier is enabled. If the verifier is disabled, the dependent SPF verifier is implicitly disabled.
FailSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is permanently rejected because of SPF verification result 'fail'.
MaxVoidLookups | False | Int32 | Specifies the maximum allowed number of void lookups. The value can be between 2 and 16. The recommended value is 2 (RFC 7208, Section 4.6.4).
RejectOnFail | False | Boolean | Specifies whether messages will be permanently rejected with an SMTP reply code of 550 in case of SPF verification result 'fail'.
RejectOnSoftFail | False | Boolean | Specifies whether messages will be permanently rejected with an SMTP reply code of 550 in case of SPF verification result 'softfail'.
RejectOnTempError | False | Boolean | Specifies whether messages should be temporarily rejected with an SMTP reply code of 451 in case of DNS lookup problems or not.
SoftFailSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is permanently rejected because of SPF verification result 'softfail'.
TempErrorSmtpResponse | False | String | Specifies the template text which is used for generating the SMTP response (enhanced status code and status text) when a message is temporarily rejected because of DNS lookup problems.
Timeout | False | TimeSpan | Specifies the maximum time to wait for completion of DNS lookup operations. The value can be between one second (00:00:01) and five minutes (00:05:00).
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-SpfVerifier cmdlet changes properties of the SPF verifier.

Examples

-------------------------- Example 1 --------------------------

This example enables that 'Received-SPF' header fields will be added to verified messages.
Set-SpfVerifier -AddReceivedSpfHeaderField $true


Set-Verifier

Changes properties of the verifier.

Syntax

Set-Verifier [-AuthenticationServiceId <String>] [-Enabled <Boolean>] [-ExcludedFromAddresses <String[]>] [-ExcludedSourceIPAddresses <String[]>] [-ExternalMailEnabled <Boolean>] [-IgnoreBypassAntiSpamPermission <Boolean>] [-IgnoreIPAllowList <Boolean>] [-InternalMailEnabled <Boolean>] [-RemoveAllARHeaderFields <Boolean>] [-ReportIgnoredMessages <Boolean>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
AuthenticationServiceId | False | String | Specifies the authentication service identifier of the 'Authentication-Results' header field which will be added to evaluated messages.
Enabled | False | Boolean | Specifies whether the verifier is enabled or not. If the verifier is disabled, all dependent sub-verifiers (DKIM, DMARC and SPF) are implicitly disabled, independent of their own Enabled property.
ExcludedFromAddresses | False | String[] | Specifies a set of From address filters. Wildcard and regular expressions are supported. If the From address of a message matches any of those filter entries, the message is ignored.
ExcludedSourceIPAddresses | False | String[] | Specifies a set of IP address filters. If the sender IP address of a message matches any of those filter entries, the message is ignored.
ExternalMailEnabled | False | Boolean | Specifies whether messages from external senders will be processed or ignored by the verifier.
IgnoreBypassAntiSpamPermission | False | Boolean | Specifies whether the Bypass-AntiSpam-permission of inbound sessions is ignored or not. If the value is $false and an inbound session has the Bypass-AntiSpam-permission, messages received through this session will be ignored by the verifier.
IgnoreIPAllowList | False | Boolean | Specifies whether the IP Allow list of MS Exchange Server is ignored or not. If the value is $false and the sender IP address of an inbound session in on the IP Allow list of MS Exchange Server, messages received through this session will be ignored by the verifier.
InternalMailEnabled | False | Boolean | Specifies whether messages from internal senders will be processed or ignored by the verifier.
RemoveAllARHeaderFields | False | Boolean | Specifies whether all existing 'Authentication-Results' header fields in messages to verify will be removed or if only existing 'Authentication-Results' header fields having the same authentication service identifier as locally configured will be removed.
ReportIgnoredMessages | False | Boolean | Specifies whether not only information about processed messages but also about ignored messages will be written to the verifier message log, if enabled.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-Verifier cmdlet changes properties of the verifier.

Examples

-------------------------- Example 1 --------------------------

This example specifies that information about ignored messages will be written to the verifier message log.
Set-Verifier -ReportIgnoredMessages $true


Set-VerifierMessageLog

Changes properties of the verifier message log.

Syntax

Set-VerifierMessageLog [-Enabled <Boolean>] [-LocalTimeRollover <Boolean>] [-MaxAge <TimeSpan>] [-MaxDirectorySize <ByteSize>] [-MaxFileSize <ByteSize>] [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Enabled | False | Boolean | Specifies whether the verifier message log is enabled or not.
LocalTimeRollover | False | Boolean | Specifies whether daily log file rollover happens at 00:00 local time (=$true) or at 00:00 UTC (=$false).
MaxAge | False | TimeSpan | Specifies the maximum age of log files. Log files which are older are automatically deleted. If you specify a zero interval (00:00:00), no limit is imposed on the age of log files.
MaxDirectorySize | False | ByteSize | Specifies the maximum total size of all log files in the log directory. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the total size of all log files in the log directory.
MaxFileSize | False | ByteSize | Specifies the maximum size of a single log file in the log directory. When you enter a value, qualify the value with one of the following units: - B (bytes) - KB (kilobytes) - MB (megabytes) - GB (gigabytes) - TB (terabytes) - PB (petabytes) - EB (exabytes) Unqualified values are treated as bytes. If you specify a value of 0 bytes, no limit is imposed on the size of a single log file in the log directory, which means that there will be one log file per day.
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Set-VerifierMessageLog cmdlet changes properties of the verifier message log.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example specifies a maximum log file age of 30 days.
Set-VerifierMessageLog -MaxAge 30.00:00:00


Test-DmarcAggregateReportMessage

Generates and sends a test report message for the specified DMARC aggregate report to the specified recipients.

Syntax

Test-DmarcAggregateReportMessage [-InputObject] <DmarcAggregateReport> [-Recipients] <String[]> [-IgnoreBccRecipients] [<CommonParameters>]
Test-DmarcAggregateReportMessage [-Name] <String> [-Recipients] <String[]> [-IgnoreBccRecipients] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
IgnoreBccRecipients | False | SwitchParameter | Copies of the test report message will not be sent to BCC recipients.
InputObject | True | DmarcAggregateReport | Specifies a DmarcAggregateReport object that represents the DMARC aggregate report based on which the test report message will be generated and sent. Enter a variable that contains the object, or type a command or expression that gets the object, such as a Get-DmarcAggregateReport command. You can also pipe a DmarcAggregateReport object to Test-DmarcAggregateReportMessage.
Name | True | String | Specifies the name of the DMARC aggregate report based on which the test report message will be generated and sent. Wildcards are not permitted. You can also pipe a DMARC aggregate report name to Test-DmarcAggregateReportMessage.
Recipients | True | String[] | Specifies the recipients of the test report message to generate and send.

Detailed Description

Generates and sends a test report message for the specified DMARC aggregate report to the specified recipients. These test report messages can be used to review the generated body text of report messages, based on the configured templates for plain text and HTML text of the message body.

Examples

-------------------------- EXAMPLE 1 --------------------------

This example will generate and send a test report message based on the default DMARC aggregate report to the recipient 'mxsadmins@dkimx.com', but configured BCC recipients will not receive a copy of the message.
Test-DmarcAggregateReportMessage -name "Default" -Recipients "mxsadmins@dkimx.com" -IgnoreBccRecipients


Update-PublicSuffixList

Updates the public suffix list.

Syntax

Update-PublicSuffixList [-Confirm] [-WhatIf] [<CommonParameters>]

Parameters

Parameter | Required | Type | Description
Confirm | False | SwitchParameter | Prompts you for confirmation before executing the command.
WhatIf | False | SwitchParameter | Describes what would happen if you executed the command without actually executing the command.

Detailed Description

The Update-PublicSuffixList cmdlet downloads a new version of the public suffix list by using the configured download URL.

Examples

-------------------------- Example 1 --------------------------

This example updates the public suffix list.
Update-PublicSuffixList


Filter Expressions

The following filter expressions are used in the DkimX Management Shell and DkimX Management Console:

This section contains:

  • Domain Filter Expressions: Description of domain filter expressions.
  • Header Field Filter Expressions: Description of header field filter expressions.
  • IP Address Filter Expressions: Description of IP address filter expressions.
  • SMTP Address Filter Expressions: Description of SMTP address filter expressions.


Domain Filter Expressions

Domain filter expressions are used as custom local domain filters of the DKIM signer object and as recipient domain filters of DMARC aggregate and failure report objects. They are specified either as wildcard expressions or as regular expressions.

Example:

To specify (case-insensitive) the domain dkimx.com and all its subdomains requires two wildcard expressions:

dkimx.com
*.dkimx.com

or one regular expression:

/(?i)(^|.+\.)dkimx\.com$/

Related Topics

Match Expressions


Header Field Filter Expressions

A header field filter is an optional condition of DKIM signer rules. A header field filter consists of two distinct filter expressions, one for the name and one for the value of a header field filter. Each one is specified either as a wildcard expression or as a regular expression.

Example:

Header field filter which matches the header field name X-DkimSignerRuleToUse and the header field value Rule1. Both are specified as wildcard expressions without the use of wildcard characters:

X-DkimSignerRuleToUse:Rule1

Related Topics

Match Expressions


IP Address Filter Expressions

IP address filter expressions are used as excluded source IP address filters of the verifier object. An IP address filter expression is either a single IPv4 or IPv6 address specification or an IPv4 or IPv6 network specification in CIDR notation.

Example:

Two excluded source IP address filters, the first one for a single IPv4 address and the second one for an IPv4 network:

192.168.30.201
10.10.62.0/24


SMTP Address Filter Expressions

SMTP Address filter expressions are used as excluded recipient filters of the DKIM signer object, as From address filter of DKIM signer rule objects and as excluded From address filters of the verifier object. They are specified either as wildcard expressions or as regular expressions.

Example:

noreply-*@dkimx.com

Related Topics

Match Expressions


Administrator’s Reference

Log Data

Different log data are collected permanently or on demand for monitoring and troubleshooting purposes.

This section contains:

  • Event Logs: Help topic content describing the available custom event logs.
  • Message Logs: Help topic content describing the available message logs.
  • Performance Counters: Help topic content describing the provided performance counters.


Event Logs

Events are logged to the following application-specific logs:

  • Netal/DkimX/Management/Admin
  • Netal/DkimX/Management/Operational
  • Netal/DkimX/Management-Diagnostic/Common *
  • Netal/DkimX/Management-Diagnostic/RecordManagement *
  • Netal/DkimX/Transport/Admin
  • Netal/DkimX/Transport/Operational
  • Netal/DkimX/Transport-Diagnostic/Common *
  • Netal/DkimX/Transport-Diagnostic/InboundMessageProcessing *
  • Netal/DkimX/Transport-Diagnostic/OutboundMessageProcessing *

These application-specific event logs can be viewed in Event Viewer (eventvwr.msc) below the folder Applications and Services Logs.

note Note The event logs marked with an asterisk (*) are diagnostic event logs, which are by default disabled and not visible in Event Viewer. In case of troubleshooting problems, it may be advisable to display these event logs (Event Viewer->View menu->Show Analytic and Debug Logs) and to enable them (Event Viewer->Event log to enable->Action->Enable Log). These diagnostic event logs should be disabled to preserve system resources when no longer used for diagnostic purposes.


Message Logs

There are two message logs, one for the DKIM signer engine and one for the verifier engine. The log entries, one for each processed message, are stored in daily log files, which are CSV-formatted text files, similar to log files of MS Exchange Server. The log files of the DKIM signer message log are written to the directory <InstallDir>\Logging\DkimSigner, the log files of the verifier message log are written to the directory <InstallDir>\Logging\Verifier.

Related Topics

DKIM Signer Message Log Properties

Verifier Message Log Properties


Performance Counters

The operation of the DkimX components can be monitored by using the following provided performance objects:

DkimX DKIM Signer

The DkimX DKIM Signer performance object exposes the following performance counters:

Counter Name | Description
Average Message Processing Time (sec) | Average processing time per message in seconds.
Current Message Processing Operations | Number of messages which are currently processed.
Messages Ignored Total | Total number of messages ignored by the DKIM signer since startup of the service Microsoft Exchange Transport.
Messages Ignored/sec | Number of messages ignored by the DKIM signer per second.
Messages Processed Total | Total number of messages processed by the DKIM signer since startup of the service Microsoft Exchange Transport.
Messages Processed/sec | Number of messages processed by the DKIM signer per second.
Messages Signed Total | Total number of messages signed by the DKIM signer since startup of the service Microsoft Exchange Transport.
Messages Signed/sec | Number of messages signed by the DKIM signer per second.

DkimX DNS Record Cache

The DkimX DNS Record Cache performance object exposes the following performance counters:

Counter Name | Description
Current Entries | Current number of cache entries.
Evictions Total | Total number of evictions from the cache since startup of the service DkimX Management.
Evictions/sec | Number of evictions from the cache per second.
Hits Total | Total number of cache hits since startup of the service DkimX Management.
Hits/sec | Number of cache hits per second.
Hits % | Ratio of total cache hits to total cache lookups, for the period between counter values.
Inserts Total | Total number of insertions into the cache since startup of the service DkimX Management.
Inserts/sec | Number of insertions into the cache per second.
Lookups Total | Total number of lookups into the cache since startup of the service DkimX Management.
Lookups/sec | Number of lookups into the cache per second.
Misses Total | Total number of cache misses since startup of the service DkimX Management.
Misses/sec | Number of cache misses per second.

DkimX DNS Resolver

The DkimX DNS Resolver performance object exposes the following performance counters:

Counter Name | Description
Current Lookups | Current number of DNS lookup operations.
Lookups Total | Total number of DNS lookups since startup of the service DkimX Management.
Lookups/sec | Number of DNS lookups per second.
Average Lookup Time (sec) | Average time per DNS lookup in seconds.

DkimX MAM Record Cache

The DkimX MAM Record Cache performance object, with instances for DKIM, DMARC and SPF, exposes the following performance counters:

Counter Name | Description
Current Entries | Current number of cache entries.
Evictions Total | Total number of evictions from the cache since startup of the service DkimX Management.
Evictions/sec | Number of evictions from the cache per second.
Hits Total | Total number of cache hits since startup of the service DkimX Management.
Hits/sec | Number of cache hits per second.
Hits % | Ratio of total cache hits to total cache lookups, for the period between counter values.
Inserts Total | Total number of insertions into the cache since startup of the service DkimX Management.
Inserts/sec | Number of insertions into the cache per second.
Lookups Total | Total number of lookups into the cache since startup of the service DkimX Management.
Lookups/sec | Number of lookups into the cache per second.
Misses Total | Total number of cache misses since startup of the service DkimX Management.
Misses/sec | Number of cache misses per second.

DkimX Verifier

The DkimX Verifier performance object exposes the following performance counters:

Counter Name | Description
Average Message Processing Time (sec) | Average processing time per message in seconds.
Current Message Processing Operations | Number of messages which are currently processed.
Messages Accepted Total | Total number of messages accepted by the verifier since startup of the service Microsoft Exchange Transport.
Messages Accepted /sec | Number of messages accepted by the verifier per second.
Messages Ignored Total | Total number of messages ignored by the verifier since startup of the service Microsoft Exchange Transport.
Messages Ignored/sec | Number of messages ignored by the verifier per second.
Messages Processed Total | Total number of messages processed by the verifier since startup of the service Microsoft Exchange Transport.
Messages Processed/sec | Number of messages processed by the verifier per second.
Messages Rejected Total | Total number of messages rejected by the verifier since startup of the service Microsoft Exchange Transport.
Messages Rejected/sec | Number of messages rejected by the verifier per second.


Match Expressions

The filter expressions, which can be specified as conditions of a signer rule (From address, header field), as excluded recipients of the DKIM signer object, as excluded From address of the verifier object and as recipients domains of the DMARC aggregate and failure report objects, are either wildcard expressions or regular expressions. If a filter expression starts and ends with the character '/', for example: /^test.*@.*\.mydomain.com$/, it is interpreted as a regular expression, otherwise it is interpreted as a wildcard expression.

This section contains:

  • Wildcard Expressions: Description of wildcard expressions.
  • Regular Expressions: Description of regular expressions.


Wildcard Expressions

DkimX uses wildcard expressions, along with regular expressions, as match expressions for filter expressions (domain filters, header field filters and SMTP address filters).

DkimX uses the same syntax for wildcard expressions as is being implemented in PowerShell, with one notable difference:

  • The * wildcard matches any sequence of characters (including the empty sequence).
  • The ? wildcard matches any single character.
  • [m-n] matches a range of characters from m to n, so test[0-3] will match test0, test1, test2, test3.
  • [abc] matches a set of characters a, b, c, so [flmt]ake will match fake, lake, make, take.
  • To escape one of the reserved characters (*, ?, [, ]), the character must be prefixed with the backslash character (\).

The one notable difference is the character used as escape character, which is the backtick character (`) in PowerShell but the backslash character (\) in DkimX.

note Note Case-insensitive matching is performed for wildcard expressions.


Regular Expressions

DkimX uses regular expressions, along with wildcard expressions, as match expressions for filter expressions (domain filters, header field filters and SMTP address filters).

The regular expression engine used is the one provided by .NET Framework.

note Note To differentiate a regular expression from a wildcard expression when being used as a filter expression, the regular expression must start and end with the character '/', for example: /^test.*@.*\.mydomain\.com$/.

note Note Case-sensitive matching is performed by default for regular expressions. You can override this behavior in the expression itself.

For in-depth information about regular expressions, we recommend Jeffrey E. Friedl's excellent book Mastering Regular Expressions, 3rd Edition, Jeffrey E. F. Friedl, O'Reilly and Associates, 2006.


Registry Settings

The following optional registry values below the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Netal\DkimX\Settings can be used to specify settings that may be different for each DkimX installation.

note Note Existing registry values below the key HKEY_LOCAL_MACHINE\SOFTWARE\Netal\DkimX\Settings are preserved when upgrading to a newer version.

note Note These registry values are read only at startup of the DkimX Management service. This means that changes to these registry values to be effective requires a restart of the DkimX Management service.

General Settings

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Netal\DkimX\Settings

Registry Value | Description
AggregateReportUniqueId [REG_SZ] | Specifies a unique id which is used as an additional part of the filename of DMARC aggregate reports. It must be a string consisting of alphanumeric characters only. For more information please see RFC 7489, Section 7.2.1.1.
DataPath [REG_SZ] | Specifies an alternate location for the directory containing data files. The default path is <InstallDir>\Data.
HostName [REG_SZ] | Specifies an alternate hostname to be used when the local hostname is required by one of the implemented message authentication mechanisms (SPF, DKIM, DMARC). The default hostname is: <ComputerName> + '.' + <DnsDomainName>.
LoggingPath [REG_SZ] | Specifies an alternate location for the directory containing logging files. The default path is <InstallDir>\Logging.
ManagementAccounts [REG_MULTI_SZ] | Specifies one or more additional accounts with permission to manage this DkimX installation. By default only administrators have this permission. For example: To assign members of the Power Users group the management permission, specify BUILTIN\Power Users.
ReportingPath [REG_SZ] | Specifies an alternate location for the directory containing report database files. The default path is <InstallDir>\Reporting.
TempPath [REG_SZ] | Specifies an alternate location for the directory containing temporary files. The default path is <InstallDir>\Temp.

ISC Settings

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Netal\DkimX\Settings\ISC

ISC Primary

Registry Value | Description
CertificateThumbprint [REG_SZ] | Specifies the thumbprint of the machine certificate which will be used as server certificate for TLS sessions. This setting is optional. If this setting is not specified, a self-signed certificate will be created and used as server certificate.
ListenerIPAddresses [REG_MULTI_SZ] | Specifies one or more IP addresses on which the primary will listen for incoming connections from secondaries. This setting is optional. If this setting is not specified, the primary will listen on all local IP addresses for incoming connections from secondaries.
ListenerPort [REG_DWORD] | Specifies the TCP port on which the primary will listen for incoming connections from secondaries. This setting is the only required setting for an ISC primary. You can specify any valid TCP port which is not already in use by other applications.
MaxConnections [REG_DWORD] | Specifies the maximum number of concurrent connections with secondaries. This setting is optional. If this setting is not specified, a default value of 64 is used.
SecondaryCertificateThumbprints [REG_MULTI_SZ] | Specifies one or more thumbprints of accepted client certificates. When a secondary presents a client certificate during setup of the TLS session, the primary will only accept the connection from the secondary if the presented client certificate is listed. This setting is optional. If this setting is not specified or specifies an empty list, the primary will accept any presented client certificate.
SecondaryIPAddresses [REG_MULTI_SZ] | Specifies allowed IP addresses of secondaries. An incoming connection of a secondary will only be accepted by the primary if the source IP address matches at least one entry in the list. Each entry specifies either a single IP address or a range of IP addresses in CIDR notation, e.g. 10.10.1.0/24. This settings is optional. If this setting is not specified or specifies an empty list, the primary will accept incoming connections from any source IP address.

ISC Secondary

Registry Value | Description
CertificateThumbprint [REG_SZ] | Specifies the thumbprint of the machine certificate which will used as client certificate for the TLS sessions. This setting is optional. If this setting is not specified, a self-signed certificate will be created and used as client certificate.
ConnectRetryInterval [REG_DWORD] | Specifies the interval in seconds between attempts to create a connection to the primary. This setting is optional. If this setting is not specified, a default value of 60 is used.
MaxMprQueueLength [REG_DWORD] | Specifies the maximum number of message processing log records waiting in the transmission queue to be forwarded to the primary because there's currently no existing connection. If the specified maximum number of queued records is exceeded, the oldest records will be processed locally by the secondary and removed from the transmission queue. This setting is optional. If this setting is not specified, a default value of 10000 is used.
MaxMprQueueTime [REG_DWORD] | Specifies the maximum waiting time in seconds of message processing log records in the transmission queue, waiting to be forwarded to the primary because there's currently no existing connection. Records exceeding the specified maximum waiting time will be processed locally by the secondary and removed from the transmission queue. This setting is optional. If this setting is not specified, a default value of 3600 is used.
PrimaryCertificateThumbprint [REG_SZ] | Specifies the thumbprint of the accepted server certificate. When the primary presents his server certificate during setup of the TLS session, the secondary will terminate the connection if the thumbprint of the presented server certificate does not match. This setting is optional. If this setting is not specified, the secondary will accept any presented server certificate.
PrimaryIPEndPoint [REG_SZ] | Specifies hostname or IP address and port of the primary in the following format: <HostNameOrAddress> + ':' + <Port>, e.g. 10.10.1.10:43334. This setting is the only required setting for an ISC secondary.
Services [REG_DWORD]

Specifies a bitmask which determines which services will be provided by the ISC connection to the primary.

Bitmask Value | Service
0x00000001 | Replication of the configuration file Service.xml from primary
0x00000002 | Replication of the configuration file DkimSigner.xml from primary
0x00000004 | Replication of the configuration file Verifier.xml from primary
0x00000100 | Forwarding of DkimSigner message processing log records to primary
0x00000200 | Forwarding of Verifier message processing log records to primary

This setting is optional. If this setting is not specified, a default value of 0xffffffff is used, which covers all services.

note Note Registry values for specifying one or more certificate thumbprints must specify a thumbprint in the following format: <HashAlgorithm> + ':' + <HashBytesInHex>, e.g. SHA256:732E63B485804165B8456583007DC912 or SHA256:73 2E 63 B4 85 80 41 65 B8 45 65 83 00 7D C9 12. The supported hash algorithms are SHA1, SHA256, SHA384 and SHA512. The thumbprint of a certificate when displayed on MS Windows is generated using the SHA1 algorithm, this means that the displayed hash bytes must be prefixed with SHA1:.

note Note Please note the following requirements for a custom certificate to be used as a TLS client or a TLS server certificate:
- The certificate property Enhanced Key Usage must contain the entry Client Authentication (1.3.6.1.5.5.7.3.2) if it will be used as a TLS client certificate by a secondary.
- The certificate property Enhanced Key Usage must contain the entry Server Authentication (1.3.6.1.5.5.7.3.1) if it will be used as a TLS server certificate by the primary.
- The account NETWORK SERVICE must have READ permission on the private key of the certificate.


Template Strings

The values of some properties of DMARC report objects are so-called template strings, which provide support for non-printable characters and variable substitution during runtime.

Non-printable characters and special characters can be specified by using so-called escape sequences, which all start with the backslash (\) character:

Escape Sequence | Represents
\a | Bell (alert)
\b | Backspace
\e | ESC character
\f | Form feed
\n | New line
\r | Carriage return
\t | Horizontal tab
\v | Vertical tab
\\ | Literal backslash
\{ | Literal left curly brace
\} | Literal right curly brace
\o \oo \ooo | ASCII character in octal notation
\uhhhh | Unicode character in hexadecimal notation
\xhh | ASCII character in hexadecimal notation

To specify a variable substitution, the variable name (case-insensitive) must be enclosed in curly braces, e.g. {OriginalSubject}. It depends on the specific property of an object what variables can be used in the template string for the property.


Licenses and Software Maintenance

Evaluation License

DkimX ships with an evaluation license which expires 60 days after installation. The DkimX transport agents (DKIM signer, verifier) will be disabled when the evaluation license expires. According to the End-User License Agreement ("EULA"), on expiration of the evaluation license, you must purchase one or more server licenses or an enterprise license by paying the required license fees, or, as an alternative, uninstall the software from all servers on which it was installed and where the evaluation license has expired.

Server License

A server license is a perpetual license to use DkimX on one server.

Enterprise License

An enterprise is a perpetual license to use DkimX on an unlimited number of servers.

Software Maintenance

Software Maintenance means the right to download, install and use software updates and software upgrades (if any) released during a maintenance period.

Each server and enterprise license is associated with a software maintenance period.

A newly purchased server or enterprise license has an associated Software Maintenance period of one, two or three years commencing on the date of license purchase.

Before or after expiration of the software maintenance period you may renew software maintenance for one, two or three years. Subsequent renewal periods of software maintenance commence upon the expiration of the prior software maintenance period regardless of when the new one is purchased. Renewal of software maintenance is only possible if the expiration date of the new period lies in the future. This means that if the software maintenance period expired more than three years ago, renewal of software maintenance is not possible.

note Note For more information about prices for licenses and software maintenance renewals, please go to http://www.netal.com/dkimx.htm.

License Certificate File

For each server or enterprise license purchased, you will receive a license certificate file. To activate the new license, copy the license certificate file to the directory <InstallDir>\Data\Licenses.

Also, when you renew software maintenance for a license, you will receive a new license certificate file which you has then to apply to your product installation by copying it to the directory <InstallDir>\Data\Licenses.

A license certificate files has an arbitrary name with the extension .lic and contains XML-formatted data about the license and the associated software maintenance period. A license certificate file must be located in the directory <InstallDir>\Data\Licenses to be recognized by DkimX.

The properties of the license certificate file can be viewed using the License General Property Page.

important IMPORTANT Because the content of a license certificate file is protected by a digital signature, never change the content of a license certificate file!


DkimX End-User License Agreement

Important – Read carefully: This End-User License Agreement (“EULA”) is a legal agreement between you (either an individual or a single entity) and Franz Krainer for the software product DkimX. By installing, copying, or otherwise using this software, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install or use this software.

  1. Definitions
    1. “EULA” means this End User License Agreement.
    2. “License Certificate” means a cryptographically secured file which contains information about a product license and, depending on the license type, optionally contains information about a Software Maintenance period.
    3. “Licensee” means you or the single entity (if any) on whose behalf you are taking the EULA (also referred to as “You”).
    4. “Licensor” means the licensor of the Software Product, who is Franz Krainer, Kettenbrueckengasse 20/25, 1040 Vienna, Austria.
    5. “Server” means a physical or virtual computer which fulfills the requirements for installing the Software Product.
    6. “Software Maintenance” means the right to download, install and use software updates and software upgrades (if any) released during a maintenance period.
    7. “Software Product” means the software product DkimX and all associated media, printed materials and may include online or electronic documentation.
    8. “Trial Period” means a period of sixty (60) days after installation for evaluating the Software Product.
  2. License Grants
    1. Evaluation License. You may download, install and then use the Software Product for free during the Trial Period. During the Trial Period, Licensor grants You a limited, non-exclusive, non-transferable, non-renewable license to copy and use the Software Product for evaluation purposes only. The evaluation license will expire at the end of the Trial Period. On expiration of the evaluation license, You must purchase one or more server licenses or an enterprise license by paying the required license fees, or, as an alternative, uninstall the Software Product from all Servers on which it was installed and where the evaluation license has expired
    2. Server License. Upon payment of the license fee for a perpetual server license, Licensor grants You a limited, non-exclusive, non-transferable license to use the Software Product on one Server. A server license includes one, two or three years of Software Maintenance. Licensor will provide You with a License Certificate which has to be applied to the installation of the Software Product on the Server to activate the server license
    3. Enterprise License. Upon payment of the license fee for a perpetual enterprise license, Licensor grants You a limited, non-exclusive, non-transferable license to use the Software Product on an unlimited number of Servers. An enterprise license includes one, two or three years of Software Maintenance. Licensor will provide You with a License Certificate which has to be applied to all installations of the Software Product on the Servers to activate the enterprise license.
  3. Software Maintenance
    1. Each server and enterprise license is associated with a Software Maintenance period.
    2. A newly purchased server or enterprise license has an associated Software Maintenance period of one, two or three years commencing on the date of license purchase.
    3. Before or after expiration of the Software Maintenance period You may renew Software Maintenance for one, two or three years. Subsequent renewal periods of the Software Maintenance commence upon the expiration of the prior Software Maintenance period regardless of when the new one is purchased. Renewal of Software Maintenance is only possible if the expiration date of the new period lies in the future. This means that if the Software Maintenance period expired more than three years ago, renewal of Software Maintenance is not possible.
  4. License Restrictions
    1. You shall undertake any necessary steps to protect License Certificates against unauthorized use.
    2. You may not alter, merge, modify, adapt or translate the Software Product, or decompile, reverse engineer, disassemble, or otherwise reduce the Software Product to a human-perceivable form, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
    3. You may not sell, rent, lease, sub license, transfer, resell for profit or otherwise distribute the Software Product or any part thereof.
    4. You may not modify the Software Product or create derivative works based upon the Software Product.
    5. You may not remove or obscure any copyright and trademark notices relating to the Software Product.
  5. Termination
    1. Without prejudice to any other rights, Licensor may terminate this EULA if You fail to comply with the terms and conditions of this EULA. In such event, You must destroy all readily usable copies of the Software Product and all of its component parts.
  6. Copyright
    1. The Software Product is licensed, not sold. Title and copyrights in and to the Software Product (including any images, applets, photographs, animations, video, audio, music, and text incorporated into the Software Product), accompanying printed materials, and any copies You are permitted to make herein are owned by Licensor or his suppliers and are protected by Austrian copyright laws and international treaty provisions.
  7. Disclaimer of Warranty
    1. This Software Product is provided by Licensor “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, are disclaimed.
    2. In no event shall Licensor or its suppliers be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, savings, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this Software Product, even if advised of the possibility of such damage. Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to You.

© Franz Krainer 2011-2025. All Rights Reserved. Legal Notices.

2025-04-03