Хорошим подходом было бы реализовать интеграционные события в вашей системе.Это механизм, который вызывает событие «Эта особая вещь происходит» и позволяет получать уведомления других частей вашей системы.
Вы можете использовать RabbitMQ или Azure ServiceBus, например, для отправки сообщений.Каждая система, подписавшаяся на такого рода сообщение, получит его.
Таким образом, в вашем случае вы, например, создадите событие с именем UserChangedEmailAddressIntegrationEvent.Затем в вашей системе электронной почты вы подписываетесь на это событие.Как только оно будет создано, ваша система электронной почты получит сообщение и сможет его обработать.
UserChangedEmailAddressIntegrationEvent может фактически быть классом, содержащим (например) два свойства, OldEmail и NewEmail, поэтому система электронной почты знает, чтозначение, которое нужно изменить.
См. пример проекта eShopOnContainers, в котором реализован этот точный метод https://github.com/dotnet-architecture/eShopOnContainers