Você poderia implementar um TransportAgent que atuaria como um coletor para todas as mensagens de saída que pudessem modificar o endereço de email "De" antes que ele fosse realmente enviado para o servidor de email do destinatário. Isso permitiria que você cria regras de negócios estáticas (ou configuráveis se você quiser que as regras sejam orientadas por dados) com base nos metadados da mensagem. Eu acho que você pode estar interessado em um RoutingAgent. Existem algumas informações fundamentais sobre o SDK disponível aqui e uma exemplo aqui que você deve ser capaz