┌─────────────────┐ ┌──────────────────────────────────────────────────────────┐ │EmailRequest │ ┌──────────────────────────────────────────────────────┐ │EmailSenderController │ ├─────────────────┤ ┌─────────────────────┐ │AwsSesConfig │ ├──────────────────────────────────────────────────────────┤ │+ to: String │ │EmailServiceException│ ├──────────────────────────────────────────────────────┤ │- emailSenderService: EmailSenderService │ │+ subject: String│ ├─────────────────────┤ │+ amazonSimpleEmailService(): AmazonSimpleEmailService│ │+ sendEmail(request: EmailRequest): ResponseEntity│ │+ body: String │ └─────────────────────┘ └──────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────┘ └─────────────────┘ | | ┌──────────────────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────┐ │AwsSesEmailSender │ │EmailSenderService │ ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ │- amazonSimpleEmailService: AmazonSimpleEmailService │ │- emailSenderGateway: EmailSenderGateway │ │+ sendEmail(to: String, subject: String, body: String)│ │+ sendEmail(to: String, subject: String, body: String)│ └──────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────┘ | | ┌──────────────────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────┐ │EmailSenderGateway │ │EmailSenderUseCase │ ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ │+ sendEmail(to: String, subject: String, body: String)│ │+ sendEmail(to: String, subject: String, body: String)│ └──────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────┘