Was anyone able to resolve the Email failed to send - please verify your email settings error? I have followed the ghost email setup guide and used my private API key on Mailgun only to keep running into this issue. If anyone could offer any guidance, that would be much appreciated.
Did you share your error logs with Mailgun guys? They might be able to help
I had the same issue, but I have moved to Ghost Pro for the time being.
I have updated Ghost to the latest version 3.35.3
.
The newsletter still doesnāt work.
The error message has changed: |Email service is currently unavailable - please try again|
So how I should fix it?
IMPORTANT UPDATE
Hey, Guys,
After moving heaven and earth on why maligun isnāt working, finally maligun informs me that they have restriction to max 100 emails per hour. Here is the screenshot of their email CleanShot 2020-10-04 at 20.44.02 Ā· CleanShot Cloud
So there was nothing wrong in the settings.
I do hope you donāt have similar issues. I have written to them on why they should remove the restrictions on my account.
Praying that the same is done asap.
Hi, thanks for this information.
Personally I donāt think thatās my case.
I have never tried the newsletter before and I donāt have 100 registered members.
The single user trial email newsletter works fine.
I have never changed my configurations.
Initially I got the error āplease check your configurationsā, and after the update āthe email service is not availableā
At least some feedback from the staff would be interesting.
I also donāt have 100 members and I have no troubles sending emails. I cannot send transactional emails for signing in and signing upā¦I just get the message āThere was an error sending the email, please try againā.
I am getting the same error.
Error Log File:
{"name":"Log","hostname":"ghost-ubuntu-s-1vcpu-1gb-fra1-01","pid":1223,"level":50,"req":{"meta":{"requestId":"039e7b2b-7b9a-4930-b9af-b6726da55ee0","userId":"1"},"url":"/email_preview/posts/5f78e04a5abbb6641544e095/","method":"POST","originalUrl":"/ghost/api/v3/admin/email_preview/posts/5f78e04a5abbb6641544e095/","params":{},"headers":{"x-forwarded-for":"178.233.17.38","x-forwarded-proto":"https","x-real-ip":"censored","host":"censored","connection":"close","content-length":"35","accept":"application/json, text/javascript, */*; q=0.01","x-requested-with":"XMLHttpRequest","x-ghost-version":"3.35","app-pragma":"no-cache","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36","content-type":"application/json; charset=UTF-8","origin":"https://censored","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://censored/ghost/","accept-encoding":"gzip, deflate, br","accept-language":"tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7,de;q=0.6,vi;q=0.5,th;q=0.4,nl;q=0.3","cookie":"**REDACTED**"},"query":{}},"res":{"_headers":{"x-powered-by":"Express","cache-control":"no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0","access-control-allow-origin":"https://censored","vary":"Origin, Accept-Encoding","content-type":"application/json; charset=utf-8","content-length":"267","etag":"W/\"10b-h600eyTqStHjNUAD25TfzdPyWoo\""},"statusCode":500,"responseTime":"554ms"},"err":{"id":"e1e97f70-07a0-11eb-a938-6b95e7d04462","domain":"https://censored","code":"BULK_EMAIL_SEND_FAILED","name":"EmailError","statusCode":500,"level":"normal","message":"The server has encountered an error.","context":"\"The email service was unable to send an email batch.\"","stack":"EmailError: The server has encountered an error.
at EmailError.GhostError (/var/www/ghost/versions/3.35.3/node_modules/@tryghost/errors/lib/errors.js:10:26)
at new EmailError (/var/www/ghost/versions/3.35.3/node_modules/@tryghost/errors/lib/errors.js:34:20)
at /var/www/ghost/versions/3.35.3/core/server/services/bulk-email/index.js:236:30
at tryCatcher (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:725:18)
at _drainQueueStep (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:15:14) at processImmediate (internal/timers.js:456:21)
at process.topLevelDomainCallback (domain.js:137:15)
Error: Forbidden
at IncomingMessage.<anonymous> (/var/www/ghost/versions/3.35.3/node_modules/mailgun-js/lib/request.js:327:17)
at IncomingMessage.emit (events.js:327:22)
at IncomingMessage.EventEmitter.emit (domain.js:482:12)
at endReadableNT (_stream_readable.js:1221:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)"},"msg":"The server has encountered an error.","time":"2020-10-06T06:55:13.143Z","v":0}
- Version 3.35.5
The problem persists.
Email service is currently unavailable - please try again
I replied to a similar topic and added a link to the discussionā¦itās been going on for too longā¦
I have the same problem described. I have my page hosted by DigitalOcean. I have already checked my Mailgun configuration and Ghost connection and the problem is definitely Ghost.
Any news ?
The error is showing the problem. The mailgun library is not able to successfully connect to mailgun. Check your api keys, network configuration, and ensure your mailgun account is fully configured so that you can send to external email accounts without restrictions.
Anyone else seeing the error in the admin UI will need to check their logs, there should be an indication for what you need to check.
@Kevin
In the log file https ___ DOMAIN_it_production.error.log I have only one error that repeats itself dozens of times:
{
"name": "Log",
"hostname": "DOMAIN",
"pid": 20944,
"level": 50,
"err": {
"id": "3df639d0-0ead-11eb-acf7-e5b9e60f0ed3",
"domain": "https://DOMAIN.it",
"code": null,
"name": "BadRequestError",
"statusCode": 400,
"level": "normal",
"message": "Error parsing filter",
"stack": "BadRequestError: Error parsing filter\n at new BadRequestError (/var/www/ghost/versions/3.35.5/node_modules/ghost-ignition/lib/errors/index.js:113:23)\n at Child.applyDefaultAndCustomFilters (/var/www/ghost/versions/3.35.5/core/server/models/plugins/filter.js:104:23)\n at Function.getFilteredCollection (/var/www/ghost/versions/3.35.5/core/server/models/base/index.js:850:28)\n at Function.findPage (/var/www/ghost/versions/3.35.5/core/server/models/base/index.js:926:37)\n at Object.query (/var/www/ghost/versions/3.35.5/core/server/api/canary/posts-public.js:33:32)\n at Object.query (/var/www/ghost/versions/3.35.5/core/server/api/shared/pipeline.js:156:24)\n at Promise.resolve.then.then.then.then (/var/www/ghost/versions/3.35.5/core/server/api/shared/pipeline.js:243:35)\n at tryCatcher (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:547:31)\n at Promise._settlePromise (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:604:18)\n at Promise._settlePromise0 (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:649:10)\n at Promise._settlePromises (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:729:18)\n at _drainQueueStep (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:93:12)\n at _drainQueue (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:86:9)\n at Async._drainQueues (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:102:5)\n at Immediate.Async.drainQueues [as _onImmediate] (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:15:14)\n at runCallback (timers.js:705:18)\n at tryOnImmediate (timers.js:676:5)\n at processImmediate (timers.js:658:5)\n at process.topLevelDomainCallback (domain.js:126:23)\n\nError: Query Error: unrecognized text \"r\" in filter at char 7\n(tags:r+id:-5d7c1f8fc4b856\n------^\n at Object.lexer.parseError (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/dist/parser.js:711:11)\n at Object.next (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/dist/parser.js:594:25)\n at Object.lex (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/dist/parser.js:604:22)\n at lex (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/dist/parser.js:215:27)\n at Parser.parse (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/dist/parser.js:228:26)\n at Object.exports.parse (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql-lang/lib/nql.js:18:44)\n at Object.api.parse (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql/lib/nql.js:15:31)\n at Object.api.querySQL.qb [as querySQL] (/var/www/ghost/versions/3.35.5/node_modules/@nexes/nql/lib/nql.js:49:44)\n at Builder.query (/var/www/ghost/versions/3.35.5/core/server/models/plugins/filter.js:101:24)\n at Object.query (/var/www/ghost/versions/3.35.5/node_modules/bookshelf/lib/helpers.js:57:14)\n at Child.query (/var/www/ghost/versions/3.35.5/node_modules/bookshelf/lib/model.js:1256:22)\n at Child.applyDefaultAndCustomFilters (/var/www/ghost/versions/3.35.5/core/server/models/plugins/filter.js:94:22)\n at Function.getFilteredCollection (/var/www/ghost/versions/3.35.5/core/server/models/base/index.js:850:28)\n at Function.findPage (/var/www/ghost/versions/3.35.5/core/server/models/base/index.js:926:37)\n at Object.query (/var/www/ghost/versions/3.35.5/core/server/api/canary/posts-public.js:33:32)\n at Object.query (/var/www/ghost/versions/3.35.5/core/server/api/shared/pipeline.js:156:24)\n at Promise.resolve.then.then.then.then (/var/www/ghost/versions/3.35.5/core/server/api/shared/pipeline.js:243:35)\n at tryCatcher (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:547:31)\n at Promise._settlePromise (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:604:18)\n at Promise._settlePromise0 (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:649:10)\n at Promise._settlePromises (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:729:18)"
},
"msg": "Error parsing filter",
"time": "2020-10-15T06:11:19.664Z",
"v": 0
}
I think itās not referring to the email.
I have no other errors there.
I tried to send the newsletter 2-3 more times now, nothing is written in the error log.
Email service is currently unavailable - please try again
Correct, thatās unrelated.
In the log file https ___ DOMAIN_it_production.error.log
Try looking in the https ___ DOMAIN_it_production.log log instead.
It was a bit complicated to search in this file itās 4GB atm.
i found these results:
{
"name": "Log",
"hostname": "domain",
"pid": 4729,
"level": 40,
"err": {
"id": "b3423550-f4da-11ea-a00e-17584a06f421",
"domain": "https://domain.it",
"code": null,
"name": "EmailError",
"statusCode": 500,
"level": "normal",
"message": "The server has encountered an error.",
"context": "\"The email service was unable to send an email batch.\"",
"stack": "EmailError: The server has encountered an error.\n at EmailError.GhostError (/var/www/ghost/versions/3.32.2/node_modules/@tryghost/errors/lib/errors.js:10:26)\n at new EmailError (/var/www/ghost/versions/3.32.2/node_modules/@tryghost/errors/lib/errors.js:34:20)\n at mailgunInstance.messages.send (/var/www/ghost/versions/3.32.2/core/server/services/bulk-email/index.js:132:42)\n at Request.callback (/var/www/ghost/versions/3.32.2/node_modules/async/dist/async.js:4617:26)\n at IncomingMessage.res.on (/var/www/ghost/versions/3.32.2/node_modules/mailgun-js/lib/request.js:331:19)\n at IncomingMessage.emit (events.js:203:15)\n at IncomingMessage.EventEmitter.emit (domain.js:448:20)\n at endReadableNT (_stream_readable.js:1145:12)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n\nError: Too Many Recipients\n at IncomingMessage.res.on (/var/www/ghost/versions/3.32.2/node_modules/mailgun-js/lib/request.js:327:17)\n at IncomingMessage.emit (events.js:203:15)\n at IncomingMessage.EventEmitter.emit (domain.js:448:20)\n at endReadableNT (_stream_readable.js:1145:12)\n at process._tickCallback (internal/process/next_tick.js:63:19)"
},
"msg": "The server has encountered an error.",
"time": "2020-09-12T09:31:13.577Z",
"v": 0
}
{
"name": "Log",
"hostname": "domain",
"pid": 29037,
"level": 40,
"err": {
"id": "a73891b0-055a-11eb-a0bf-f3533a0f7040",
"domain": "https://domain.it",
"code": "BULK_EMAIL_SEND_FAILED",
"name": "EmailError",
"statusCode": 500,
"level": "normal",
"message": "The server has encountered an error.",
"context": "\"The email service was unable to send an email batch.\"",
"stack": "EmailError: The server has encountered an error.\n at EmailError.GhostError (/var/www/ghost/versions/3.35.3/node_modules/@tryghost/errors/lib/errors.js:10:26)\n at new EmailError (/var/www/ghost/versions/3.35.3/node_modules/@tryghost/errors/lib/errors.js:34:20)\n at mailgunProvider.send.then.catch (/var/www/ghost/versions/3.35.3/core/server/services/bulk-email/index.js:236:30)\n at tryCatcher (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:547:31)\n at Promise._settlePromise (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:604:18)\n at Promise._settlePromise0 (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:649:10)\n at Promise._settlePromises (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/promise.js:725:18)\n at _drainQueueStep (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:93:12)\n at _drainQueue (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:86:9)\n at Async._drainQueues (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:102:5)\n at Immediate.Async.drainQueues [as _onImmediate] (/var/www/ghost/versions/3.35.3/node_modules/bluebird/js/release/async.js:15:14)\n at runCallback (timers.js:705:18)\n at tryOnImmediate (timers.js:676:5)\n at processImmediate (timers.js:658:5)\n at process.topLevelDomainCallback (domain.js:126:23)\n\nError: 'from' parameter is not a valid address. please check documentation\n at IncomingMessage.res.on (/var/www/ghost/versions/3.35.3/node_modules/mailgun-js/lib/request.js:327:17)\n at IncomingMessage.emit (events.js:203:15)\n at IncomingMessage.EventEmitter.emit (domain.js:448:20)\n at endReadableNT (_stream_readable.js:1145:12)\n at process._tickCallback (internal/process/next_tick.js:63:19)"
},
"msg": "The server has encountered an error.",
"time": "2020-10-03T09:27:27.568Z",
"v": 0
}
the forbidden
keyword did not produce any results in the file
the first error dates back to version 3.32
, I guess it has already been fixed
This error is about todayās attempt:
{
"name": "Log",
"hostname": "domain",
"pid": 20944,
"level": 40,
"err": {
"id": "dab03180-0ebd-11eb-acf7-e5b9e60f0ed3",
"domain": "https://domain.it",
"code": "BULK_EMAIL_SEND_FAILED",
"name": "EmailError",
"statusCode": 500,
"level": "normal",
"message": "The server has encountered an error.",
"context": "\"The email service was unable to send an email batch.\"",
"stack": "EmailError: The server has encountered an error.\n at EmailError.GhostError (/var/www/ghost/versions/3.35.5/node_modules/@tryghost/errors/lib/errors.js:10:26)\n at new EmailError (/var/www/ghost/versions/3.35.5/node_modules/@tryghost/errors/lib/errors.js:34:20)\n at mailgunProvider.send.then.catch (/var/www/ghost/versions/3.35.5/core/server/services/bulk-email/index.js:236:30)\n at tryCatcher (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:547:31)\n at Promise._settlePromise (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:604:18)\n at Promise._settlePromise0 (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:649:10)\n at Promise._settlePromises (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/promise.js:725:18)\n at _drainQueueStep (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:93:12)\n at _drainQueue (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:86:9)\n at Async._drainQueues (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:102:5)\n at Immediate.Async.drainQueues [as _onImmediate] (/var/www/ghost/versions/3.35.5/node_modules/bluebird/js/release/async.js:15:14)\n at runCallback (timers.js:705:18)\n at tryOnImmediate (timers.js:676:5)\n at processImmediate (timers.js:658:5)\n at process.topLevelDomainCallback (domain.js:126:23)\n\nError: Too Many Recipients\n at IncomingMessage.res.on (/var/www/ghost/versions/3.35.5/node_modules/mailgun-js/lib/request.js:327:17)\n at IncomingMessage.emit (events.js:203:15)\n at IncomingMessage.EventEmitter.emit (domain.js:448:20)\n at endReadableNT (_stream_readable.js:1145:12)\n at process._tickCallback (internal/process/next_tick.js:63:19)"
},
"msg": "The server has encountered an error.",
"time": "2020-10-15T08:10:14.555Z",
"v": 0
}
@giacomosilli again the error is Ghost being able to communicate with mailgun. Troubleshooting advice is the same as before - Check your api keys, network configuration, and ensure your mailgun account is fully configured so that you can send to external email accounts without restrictions.
You can see from the first post how I configured the json
, I think it is correct, do you confirm?
My Mailgun account seems to me fully configured.
MX, TXT, CNAME
records are also configured.
From the Ghost admin panel I tried to enter all the Mailgun API Key, private, public, webhook signing key
From the Mailgun panel in āOverview
ā I read:
Processed
35
34 Delivered
97.14%
I believe they are the single newsletter email tests, so Ghost is communicating correctly with Mailgun.
Also in the log that I posted I read ānError: Too Many Recipients
ā, are we sure itās a configuration problem?
That sounds like your Mailgun account is restricted, Iād suggest contacting their support.
We can look at hoisting that error message up through the error stack so itās not lost in the logs.
A post was split to a new topic: Unable to change email settings