У меня обычно есть конечная точка, которая обрабатывает электронную почту. Я использую свою Shuttle.Esb служебную шину с открытым исходным кодом для облегчения обмена сообщениями, но любая служебная шина подойдет, или вы можете выбрать кодирование сообщений напрямую, используя что-то вроде RabbitMQ.
Интеграция между конечными точкамиобрабатывается конечной точкой оркестровки для рассматриваемого ограниченного контекста. Этот уровень оркестровки будет отправлять SendEMailCommand
на конечную точку электронной почты, а затем получать подтверждение, как только электронная почта будет успешно отправлена. Таким образом, есть одна точка, которая обрабатывает электронную почту.
Когда у вас есть доступ к любому ограниченному контексту, например, IEMailGateway
, это означает, что вам, возможно, придется сделать немного больше работы с точки зрения полученияэлектронная почта отправляется, поскольку вам необходим доступ к соответствующему почтовому серверу, а это может означать работу с брандмауэрами, портами, безопасностью