Bartosz Sekula
Optimizely
Nov 20, 2018
visibility 4566
star star star star star
(4 votes)

Delayed approval email notifications

Up to this point, if you had SMTP configured, your editors would receive immediate emails about every approval step that the content went into.

In cases when a page goes through a long approval sequence - is reviewed at few steps, declined, marked as ready for review once again, approved, etc. it would cause the editors to be flooded with emails.

Version 11.13.0 of EPiServer.CMS.UI brings an improvement to our Content Approval email notifications. 

The frequency of incoming emails is now just dependent on the Notification Dispatcher scheduled job interval setting (configured in the admin mode, nothing changed about it) which means that a single editor will only receive a single email with a batch of all Approval related notifications.

An example email that contains 4 notifications about two different content items is presented below:

By adding the following module:

[ModuleDependency(typeof(FrameworkInitialization))]
[InitializableModule]
public class ApprovalNotificationInitialization : IConfigurableModule
{
	public void ConfigureContainer(ServiceConfigurationContext context)
	{
		context.Services.Configure<ApprovalNotificationOptions>(options => options.Immediate = true);
	}

	public void Initialize(InitializationEngine context)
	{
	}

	public void Uninitialize(InitializationEngine context)
	{
	}
}

you can turn this feature off and not have the emails bundled.

Nov 20, 2018

Comments

Aria Zanganeh
Aria Zanganeh Nov 21, 2018 11:53 PM

For one of customer there were looking for this for a long time :) 

error Please login to comment.
Latest blogs
The Low-Level API Is Not Automatically Fast. Part 4: Counting Round Trips

The low-level Commerce DTO API is not automatically fast: counting the database round trips per imported row, and four fixes I would apply first.

Stanisław Szołkowski | Oct 21, 2026 |

The Migration Bugs That Actually Caught Us Out

The less obvious issues we hit migrating Optimizely CMS 11 to CMS 12 and .NET 8, including routing changes, JSON model binding, package dependency...

Dom Reilly | Oct 20, 2026 |

Camp Opticon 26 (London): AI requires a different operating model

Introduction Last week I attended Camp Opticon 26 in London and although it was far from my first time at Opticon, it was in fact my first time tha...

WilliamP | Oct 20, 2026

Migrating ContentArea.FilteredItems in Optimizely CMS 13

If you have

Adnan Zameer | Oct 19, 2026 |