В одном проекте нам был необходим список разрешенных адресов электронной почты, на которые приложение было разрешено отправлять почту, для одной среды (QA), чтобы различные стороны, участвующие в проекте, могли протестировать приложение без риска получения почты.быть отправлено нашим клиентам клиентам (конечным клиентам).
Было слишком большой задачей изменить все кодовые блоки, которые выполняли рассылку, поэтому я реализовал собственный расширитель для базового класса mail-plugin (grails).plugin.mail.MailMessageBuilder), который взял список разрешенных адресов электронной почты из конфигурации приложения и переопределил метод, который разрешал адреса перед отправкой почты (toDestinationAddresses).Затем я заменил фабричный метод (из плагина), который производит MailMessageBuilders, чтобы он создавал мои собственные компоновщики через Groovy metaClass в начальной загрузке Grails.
Это было чистое, ненавязчивое исправление, и оно работало хорошо.