A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

alga
Nov 24, 2009
  5241
(4 votes)

EPiServerMail should be reactivated if the project is moved / copied

The following information should be considered when opting to move / copy a project with an EPiServer Mail installation from a test server to a production server, rather than creating a fresh installation on the production server.

The EPiServerMail.config file is a file containing unique data relating to the server the project, and EPiServerMail installation, is hosted on.  This means that a project cannot simply be moved / copied from a test server to a production server without issue. Note: Trying to reinstall EPiServerMail on any projects which already have EPiServerMail installed can also cause issues.

Happily, however, when copying a project it is only certain values within the EPiServerMail.config file which will need to be updated. It will be necessary to:

  1. Empty the brokerName attribute in the broker element.
  2. Remove the rsaKeyValue element under broker.
  3. Update the attributes in the editor and smtpServer elements as necessary.

Another option, of course, would be to create a temporary project and install a new copy of EpiServerMail - putting in the details to match the production server as necessary.  This would create a new EPiServerMail.config file which could be used to replace the  file on the production server.

In both cases, it should be noted that certain corresponding values will also have to be deleted from the tblEPiServerCommonSetting table, in the database.  For example, the EPiServermail_Default_activationStatus row would need to be deleted, however, rows which contain EPiServerCommon_version or EPiServerMail_version should be left.

Once the changes have been made you will need to activate EPiServerMail again - using the 'create an account' option which should have become available again due to the above steps.

Disclaimer: Reasonable effort has been made by the author to ensure that the information provided here is accurate, however, no guarantees for the accuracy of information are made. You hold full responsibility for your actions - please remember to make a backup before making any changes.

Nov 24, 2009

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP - OptiGraphExtensions v2.0: Enhanced Search Control with Language Support, Synonym Slots, and Stop Words

Supercharge your Optimizely Graph search experience with powerful new features for multilingual sites and fine-grained search tuning. As search...

Graham Carr | Dec 16, 2025

A day in the life of an Optimizely OMVP - Optimizely Opal: Specialized Agents, Workflows, and Tools Explained

The AI landscape in digital experience platforms has shifted dramatically. At Opticon 2025, Optimizely unveiled the next evolution of Optimizely Op...

Graham Carr | Dec 16, 2025

Optimizely CMS - Learning by Doing: EP09 - Create Hero, Breadcrumb's and Integrate SEO : Demo

  Episode 9  is Live!! The latest installment of my  Learning by Doing: Build Series  on  Optimizely Episode 9 CMS 12  is now available on YouTube!...

Ratish | Dec 15, 2025 |

Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |