better error handling in email (#6599)

Signed-off-by: Pierre Noël <petersg83@gmail.com>
This commit is contained in:
Pierre Noël 2020-06-09 12:11:25 +02:00 committed by GitHub
parent 7120bb2558
commit 9f277f67b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 8 deletions

View File

@ -330,7 +330,7 @@ module.exports = ({ env }) => ({
This plugin will allow configurations for each active environment. This plugin will allow configurations for each active environment.
```bash ```bash
npm install strapi-provider-upload-aws-s3@beta npm install strapi-provider-upload-aws-s3
``` ```
#### 4. Push your local changes to your project's GitHub repository. #### 4. Push your local changes to your project's GitHub repository.

View File

@ -35,7 +35,7 @@ To install a new provider run:
::: tab yarn ::: tab yarn
``` ```
yarn add strapi-provider-email-sendgrid@beta --save yarn add strapi-provider-email-sendgrid --save
``` ```
::: :::
@ -43,7 +43,7 @@ yarn add strapi-provider-email-sendgrid@beta --save
::: tab npm ::: tab npm
``` ```
npm install strapi-provider-email-sendgrid@beta --save npm install strapi-provider-email-sendgrid --save
``` ```
::: :::

View File

@ -8,7 +8,15 @@
module.exports = { module.exports = {
send: async ctx => { send: async ctx => {
let options = ctx.request.body; let options = ctx.request.body;
try {
await strapi.plugins.email.services.email.send(options); await strapi.plugins.email.services.email.send(options);
} catch (e) {
if (e.statusCode === 400) {
return ctx.badRequest(e.message);
} else {
throw new Error(`Couldn't send email: ${e.message}.`);
}
}
// Send 200 `ok` // Send 200 `ok`
ctx.send({}); ctx.send({});

View File

@ -26,7 +26,7 @@ module.exports = {
client.sendEmail(removeUndefined(msg), function(err) { client.sendEmail(removeUndefined(msg), function(err) {
if (err) { if (err) {
reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); reject(err);
} else { } else {
resolve(); resolve();
} }

View File

@ -29,7 +29,7 @@ module.exports = {
mailgun.messages().send(removeUndefined(msg), function(err) { mailgun.messages().send(removeUndefined(msg), function(err) {
if (err) { if (err) {
reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); reject(err);
} else { } else {
resolve(); resolve();
} }

View File

@ -26,7 +26,7 @@ module.exports = {
sendgrid.send(removeUndefined(msg), function(err) { sendgrid.send(removeUndefined(msg), function(err) {
if (err) { if (err) {
reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); reject(err);
} else { } else {
resolve(); resolve();
} }

View File

@ -28,7 +28,7 @@ module.exports = {
sendmail(removeUndefined(msg), err => { sendmail(removeUndefined(msg), err => {
if (err) { if (err) {
reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); reject(err);
} else { } else {
resolve(); resolve();
} }