Fix: AWS SES Mailer (#365)

As reported on issue #357, the aws ses configuration was not able to
store because of the missing `ses` service config. Additionally was
added a `AWS Region` field to be used by the `ses`.

closes #357
This commit is contained in:
Fabio Ribeiro
2025-05-02 11:16:31 +02:00
committed by GitHub
parent 14bfaff30b
commit 8a9392e400
11 changed files with 63 additions and 4 deletions

View File

@@ -37,6 +37,7 @@ export const useMailDriverStore = (useWindow = false) => {
mail_port: null,
mail_ses_key: '',
mail_ses_secret: '',
mail_ses_region: '',
mail_encryption: 'tls',
from_mail: '',
from_name: '',

View File

@@ -167,6 +167,25 @@
</template>
</BaseInput>
</BaseInputGroup>
<BaseInputGroup
:label="$t('settings.mail.ses_region')"
:content-loading="isFetchingInitialData"
:error="
v$.sesConfig.mail_ses_region.$error &&
v$.sesConfig.mail_ses_region.$errors[0].$message
"
required
>
<BaseInput
v-model.trim="mailDriverStore.sesConfig.mail_ses_region"
:content-loading="isFetchingInitialData"
type="text"
name="mail_ses_region"
:invalid="v$.sesConfig.mail_ses_region.$error"
@input="v$.sesConfig.mail_ses_region.$touch()"
/>
</BaseInputGroup>
</div>
<BaseButton
@@ -237,6 +256,9 @@ const rules = computed(() => {
mail_ses_secret: {
required: helpers.withMessage(t('validation.required'), required),
},
mail_ses_region: {
required: helpers.withMessage(t('validation.required'), required),
},
mail_encryption: {
required: helpers.withMessage(t('validation.required'), required),
},

View File

@@ -161,6 +161,26 @@
</template>
</BaseInput>
</BaseInputGroup>
<BaseInputGroup
:label="$t('settings.mail.ses_region')"
:content-loading="isFetchingInitialData"
:error="
v$.sesConfig.mail_ses_region.$error &&
v$.sesConfig.mail_ses_region.$errors[0].$message
"
required
>
<BaseInput
v-model.trim="mailDriverStore.sesConfig.mail_ses_region"
:content-loading="isFetchingInitialData"
type="text"
name="mail_ses_region"
:invalid="v$.sesConfig.mail_ses_region.$error"
@input="v$.sesConfig.mail_ses_region.$touch()"
/>
</BaseInputGroup>
</BaseInputGrid>
<div class="flex my-10">
@@ -238,6 +258,9 @@ const rules = computed(() => {
mail_ses_secret: {
required: helpers.withMessage(t('validation.required'), required),
},
mail_ses_region: {
required: helpers.withMessage(t('validation.required'), required),
},
mail_encryption: {
required: helpers.withMessage(t('validation.required'), required),
},