Architecture
api, application, infrastructure. There is no domain package; this service is a delivery adapter.
Controllers validate and map HTTP. Use cases own transactions and business rules. Domain types do not import Spring Data or HTTP clients. Infrastructure implements ports (JDBC, Redis, HTTP).
Use cases
SendEmailUseCaseAsyncSendEmailUseCaseBulkSendEmailUseCaseInboxEnqueueEmailUseCaseGetDeliveryLogsUseCaseGetEmailUsageUseCaseProvider webhook handlers (Resend, Brevo, Mailjet, Mailtrap, SendPulse)
Local run: ./gradlew run task for this service from splick-backend (see the service README and Makefile targets such as runAuth). The relay must be running before you expect downstream side effects.