mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-07 13:41:23 +00:00
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:
@@ -58,6 +58,7 @@ class MailConfigurationController extends Controller
|
|||||||
'mail_mailgun_secret' => config('services.mailgun.secret'),
|
'mail_mailgun_secret' => config('services.mailgun.secret'),
|
||||||
'mail_ses_key' => config('services.ses.key'),
|
'mail_ses_key' => config('services.ses.key'),
|
||||||
'mail_ses_secret' => config('services.ses.secret'),
|
'mail_ses_secret' => config('services.ses.secret'),
|
||||||
|
'mail_ses_region' => config('services.ses.region'),
|
||||||
];
|
];
|
||||||
|
|
||||||
return response()->json($MailData);
|
return response()->json($MailData);
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ class EnvironmentManager
|
|||||||
'MAIL_FROM_NAME' => $request->get('from_name'),
|
'MAIL_FROM_NAME' => $request->get('from_name'),
|
||||||
'SES_KEY' => $request->get('mail_ses_key'),
|
'SES_KEY' => $request->get('mail_ses_key'),
|
||||||
'SES_SECRET' => $request->get('mail_ses_secret'),
|
'SES_SECRET' => $request->get('mail_ses_secret'),
|
||||||
|
'SES_REGION' => $request->get('mail_ses_region'),
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -48,4 +48,10 @@ return [
|
|||||||
'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0),
|
'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0),
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'ses' => [
|
||||||
|
'key' => env('SES_KEY'),
|
||||||
|
'secret' => env('SES_SECRET'),
|
||||||
|
'region' => env('SES_REGION', 'us-east-1'),
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -893,6 +893,7 @@
|
|||||||
"mailgun_endpoint": "Mailgun Endpoint",
|
"mailgun_endpoint": "Mailgun Endpoint",
|
||||||
"ses_secret": "SES Secret",
|
"ses_secret": "SES Secret",
|
||||||
"ses_key": "SES Key",
|
"ses_key": "SES Key",
|
||||||
|
"ses_region": "AWS Region",
|
||||||
"password": "Mail Password",
|
"password": "Mail Password",
|
||||||
"username": "Mail Username",
|
"username": "Mail Username",
|
||||||
"mail_config": "Mail Configuration",
|
"mail_config": "Mail Configuration",
|
||||||
@@ -1281,7 +1282,7 @@
|
|||||||
"title": "Update App",
|
"title": "Update App",
|
||||||
"description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below",
|
"description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below",
|
||||||
"check_update": "Check for updates",
|
"check_update": "Check for updates",
|
||||||
"insider_consent" : "Opt-in for Insider releases. Recommended for testing purposes only.",
|
"insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.",
|
||||||
"avail_update": "New Update available",
|
"avail_update": "New Update available",
|
||||||
"next_version": "Next version",
|
"next_version": "Next version",
|
||||||
"requirements": "Requirements",
|
"requirements": "Requirements",
|
||||||
@@ -1469,9 +1470,9 @@
|
|||||||
"failed": "Domain verification failed. Please enter valid domain name.",
|
"failed": "Domain verification failed. Please enter valid domain name.",
|
||||||
"verify_and_continue": "Verify And Continue",
|
"verify_and_continue": "Verify And Continue",
|
||||||
"notes": {
|
"notes": {
|
||||||
"notes" : "Notes:",
|
"notes": "Notes:",
|
||||||
"not_contain" : "App domain should not contain",
|
"not_contain": "App domain should not contain",
|
||||||
"or" : "or",
|
"or": "or",
|
||||||
"in_front": "in front of the domain.",
|
"in_front": "in front of the domain.",
|
||||||
"if_you": "If you're accessing the website on a different port, please mention the port. For example:"
|
"if_you": "If you're accessing the website on a different port, please mention the port. For example:"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -893,6 +893,7 @@
|
|||||||
"mailgun_endpoint": "Mailgun endpoint",
|
"mailgun_endpoint": "Mailgun endpoint",
|
||||||
"ses_secret": "Secreto SES",
|
"ses_secret": "Secreto SES",
|
||||||
"ses_key": "Clave SES",
|
"ses_key": "Clave SES",
|
||||||
|
"ses_region": "Región de AWS",
|
||||||
"password": "Contraseña de correo",
|
"password": "Contraseña de correo",
|
||||||
"username": "Nombre de usuario de correo",
|
"username": "Nombre de usuario de correo",
|
||||||
"mail_config": "Configuración de correo",
|
"mail_config": "Configuración de correo",
|
||||||
|
|||||||
@@ -571,6 +571,7 @@
|
|||||||
"mailgun_endpoint": "Mailgun Endpoint",
|
"mailgun_endpoint": "Mailgun Endpoint",
|
||||||
"ses_secret": "SES Segredo",
|
"ses_secret": "SES Segredo",
|
||||||
"ses_key": "SES Chave",
|
"ses_key": "SES Chave",
|
||||||
|
"ses_region": "Região AWS",
|
||||||
"password": "Senha do Email",
|
"password": "Senha do Email",
|
||||||
"username": "Nome de Usuário do Email",
|
"username": "Nome de Usuário do Email",
|
||||||
"mail_config": "Configuração de Email",
|
"mail_config": "Configuração de Email",
|
||||||
|
|||||||
@@ -1484,6 +1484,7 @@
|
|||||||
"mailgun_endpoint": "Endpoint do Mailgun",
|
"mailgun_endpoint": "Endpoint do Mailgun",
|
||||||
"ses_secret": "Senha do SES",
|
"ses_secret": "Senha do SES",
|
||||||
"ses_key": "Chave SES",
|
"ses_key": "Chave SES",
|
||||||
|
"ses_region": "Região AWS",
|
||||||
"password": "Senha do email",
|
"password": "Senha do email",
|
||||||
"username": "Nome do Usuário do email",
|
"username": "Nome do Usuário do email",
|
||||||
"mail_config": "Configuração de email",
|
"mail_config": "Configuração de email",
|
||||||
|
|||||||
@@ -893,6 +893,7 @@
|
|||||||
"mailgun_endpoint": "Mailgun Endpoint",
|
"mailgun_endpoint": "Mailgun Endpoint",
|
||||||
"ses_secret": "SES Secret",
|
"ses_secret": "SES Secret",
|
||||||
"ses_key": "SES Key",
|
"ses_key": "SES Key",
|
||||||
|
"ses_region": "AWS Region",
|
||||||
"password": "Mail Password",
|
"password": "Mail Password",
|
||||||
"username": "Mail Username",
|
"username": "Mail Username",
|
||||||
"mail_config": "Mail Configuration",
|
"mail_config": "Mail Configuration",
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ export const useMailDriverStore = (useWindow = false) => {
|
|||||||
mail_port: null,
|
mail_port: null,
|
||||||
mail_ses_key: '',
|
mail_ses_key: '',
|
||||||
mail_ses_secret: '',
|
mail_ses_secret: '',
|
||||||
|
mail_ses_region: '',
|
||||||
mail_encryption: 'tls',
|
mail_encryption: 'tls',
|
||||||
from_mail: '',
|
from_mail: '',
|
||||||
from_name: '',
|
from_name: '',
|
||||||
|
|||||||
@@ -167,6 +167,25 @@
|
|||||||
</template>
|
</template>
|
||||||
</BaseInput>
|
</BaseInput>
|
||||||
</BaseInputGroup>
|
</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>
|
</div>
|
||||||
|
|
||||||
<BaseButton
|
<BaseButton
|
||||||
@@ -237,6 +256,9 @@ const rules = computed(() => {
|
|||||||
mail_ses_secret: {
|
mail_ses_secret: {
|
||||||
required: helpers.withMessage(t('validation.required'), required),
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
},
|
},
|
||||||
|
mail_ses_region: {
|
||||||
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
|
},
|
||||||
mail_encryption: {
|
mail_encryption: {
|
||||||
required: helpers.withMessage(t('validation.required'), required),
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -161,6 +161,26 @@
|
|||||||
</template>
|
</template>
|
||||||
</BaseInput>
|
</BaseInput>
|
||||||
</BaseInputGroup>
|
</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>
|
</BaseInputGrid>
|
||||||
|
|
||||||
<div class="flex my-10">
|
<div class="flex my-10">
|
||||||
@@ -238,6 +258,9 @@ const rules = computed(() => {
|
|||||||
mail_ses_secret: {
|
mail_ses_secret: {
|
||||||
required: helpers.withMessage(t('validation.required'), required),
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
},
|
},
|
||||||
|
mail_ses_region: {
|
||||||
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
|
},
|
||||||
mail_encryption: {
|
mail_encryption: {
|
||||||
required: helpers.withMessage(t('validation.required'), required),
|
required: helpers.withMessage(t('validation.required'), required),
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user