mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
Updated status and error message for newsletter email failures
refs https://github.com/TryGhost/Ghost/issues/11971 - Added statusCode from bulk email provider to API response - Updated error messages for different bulk email(mailgun) failure states - Added `context` to preview mail API error message with mail provider's error message
This commit is contained in:
parent
a520cdad0b
commit
90b39fbb9a
2 changed files with 14 additions and 4 deletions
|
@ -71,7 +71,9 @@ module.exports = {
|
|||
const response = await mega.mega.sendTestEmail(model, emails);
|
||||
if (response && response[0] && response[0].error) {
|
||||
throw new errors.EmailError({
|
||||
message: response[0].error.message
|
||||
statusCode: response[0].error.statusCode,
|
||||
message: response[0].error.message,
|
||||
context: response[0].error.originalMessage
|
||||
});
|
||||
}
|
||||
return response;
|
||||
|
|
|
@ -25,10 +25,18 @@ class SuccessfulBatch extends BatchResultBase {
|
|||
class FailedBatch extends BatchResultBase {
|
||||
constructor(error, data) {
|
||||
super();
|
||||
error.originalMessage = error.message;
|
||||
|
||||
// give a better error message for the invalid credentials state
|
||||
if (error.message === 'Forbidden') {
|
||||
error.message = 'Invalid Mailgun credentials';
|
||||
if (error.statusCode >= 500) {
|
||||
error.message = 'Email service is currently unavailable - please try again';
|
||||
} else if (error.statusCode === 401) {
|
||||
error.message = 'Email failed to send - please verify your credentials';
|
||||
} else if (error.message && error.message.toLowerCase().includes('dmarc')) {
|
||||
error.message = 'Unable to send email from domains implementing strict DMARC policies';
|
||||
} else if (error.message.includes(`'to' parameter is not a valid address`)) {
|
||||
error.message = 'Recipient is not a valid address';
|
||||
} else {
|
||||
error.message = 'Email failed to send - please verify your email settings';
|
||||
}
|
||||
|
||||
this.error = error;
|
||||
|
|
Loading…
Add table
Reference in a new issue