Bulk email for new post to free members doesn't work

Hey @Kevin, I’m experiencing the same problem:

[2021-06-16 17:29:50] ERROR "POST /ghost/api/canary/admin/email_preview/posts/60ca346d9d993c09ba8864a8/" 500 62ms

NAME: EmailError
CODE: BULK_EMAIL_SEND_FAILED
MESSAGE: The server has encountered an error.

level: normal

"The email service was unable to send an email batch."
EmailError: The server has encountered an error.
    at EmailError.GhostError (/var/www/ghost/versions/4.6.4/node_modules/@tryghost/errors/lib/errors.js:10:26)
    at new EmailError (/var/www/ghost/versions/4.6.4/node_modules/@tryghost/errors/lib/errors.js:34:20)
    at /var/www/ghost/versions/4.6.4/core/server/services/bulk-email/index.js:237:30
    at async Object.sendTestEmail (/var/www/ghost/versions/4.6.4/core/server/services/mega/mega.js:89:22)
    at async Object.query (/var/www/ghost/versions/4.6.4/core/server/api/canary/email-preview.js:72:30)

TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters
    at new ClientRequest (_http_client.js:147:13)
    at Object.request (https.js:316:10)
    at Object.<anonymous> (/var/www/ghost/versions/4.6.4/node_modules/agent-base/patch-core.js:25:22)
    at Object.request (/var/www/ghost/versions/4.6.4/node_modules/socks-proxy-agent/node_modules/agent-base/patch-core.js:23:20)
    at Request.performRequest (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/request.js:360:21)
    at /var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/request.js:143:14
    at retryAttempt (/var/www/ghost/versions/4.6.4/node_modules/async/dist/async.js:4611:9)
    at retry (/var/www/ghost/versions/4.6.4/node_modules/async/dist/async.js:4622:5)
    at Request._request (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/request.js:141:7)
    at promisifyCall (/var/www/ghost/versions/4.6.4/node_modules/promisify-call/index.js:25:15)
    at Request.request (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/request.js:161:12)
    at Mailgun.request (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/mailgun.js:98:16)
    at constructor.impl (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/build.js:101:26)
    at promisifyCall (/var/www/ghost/versions/4.6.4/node_modules/promisify-call/index.js:25:15)
    at constructor.promisifed [as send] (/var/www/ghost/versions/4.6.4/node_modules/mailgun-js/lib/build.js:105:14)
    at Promise.reject.error.error (/var/www/ghost/versions/4.6.4/core/server/services/bulk-email/mailgun.js:103:40)
    at new Promise (<anonymous>)
    at Object.send (/var/www/ghost/versions/4.6.4/core/server/services/bulk-email/mailgun.js:102:16)
    at Object.send (/var/www/ghost/versions/4.6.4/core/server/services/bulk-email/index.js:232:32)
    at Object.sendTestEmail (/var/www/ghost/versions/4.6.4/core/server/services/mega/mega.js:89:45)
    at async Object.query (/var/www/ghost/versions/4.6.4/core/server/api/canary/email-preview.js:72:30)

[2021-06-16 17:30:11] INFO "GET /ghost/api/canary/admin/members/stats/count/" 200 98ms
[2021-06-16 17:30:11] INFO "GET /ghost/api/canary/admin/posts/?limit=30&page=1&filter=status%3A%5Bdraft%2Cscheduled%2Cpublished%5D" 200 219ms
[2021-06-16 17:30:16] INFO "GET /ghost/api/canary/admin/settings/?group=site%2Ctheme%2Cprivate%2Cmembers%2Cportal%2Cnewsletter%2Cemail%2Camp%2Clabs%2Cslack%2Cunsplash%2Cviews%2Cfirstpromoter%2Coauth%2Ceditor" 200 14ms
[2021-06-16 17:30:16] INFO "GET /ghost/api/canary/admin/members/?limit=1&filter=subscribed%3Atrue%2B(status%3Afree%2Cstatus%3A-free)&include=labels%2CemailRecipients" 200 53ms
[2021-06-16 17:30:16] INFO "GET /ghost/api/canary/admin/members/?limit=1&filter=subscribed%3Atrue&include=labels%2CemailRecipients" 200 53ms
[2021-06-16 17:30:16] INFO "GET /ghost/api/canary/admin/labels/?limit=all" 200 51ms

It seems Ghost is failing the form and submit the payload for bulk email. Another thing is it seems to be using a canary API to send the e-mail. Am I correct?

The weirdest thing is the transaction e-mail is working normally but the bulk e-mail simply fails every time. It sounds like a bug to me. I checked the API key a hundred times (it’s not that, believe me).

Please refer to this thread. The issue is with Mailgun for new accounts. You have to write to them to lift your evaluation period.

1 Like

{“name”:“Log”,“hostname”:“dnse-blog-7d6d5bb5b4-2z8ls”,“pid”:101,“level”:40,“err”:{“id”:“65364fb0-0c83-11ec-ac45-db19b48089a5”,“domain”:“https://blog.dnse.com.vn/",“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 /opt/bitnami/ghost/versions/4.9.3/core/server/services/bulk-email/bulk-email-processor.js:242:30\n at runMicrotasks ()\n at processTicksAndRejections (internal/process/task_queues.js:95:5)\n at async Object.processEmailBatch (/opt/bitnami/ghost/versions/4.9.3/core/server/services/bulk-email/bulk-email-processor.js:166:34)\n at async Promise.map.concurrency (/opt/bitnami/ghost/versions/4.9.3/core/server/services/bulk-email/bulk-email-processor.js:98:17)\n\nError: Too Many Recipients\n at IncomingMessage. (/opt/bitnami/ghost/versions/4.9.3/node_modules/mailgun-js/lib/request.js:327:17)\n at IncomingMessage.emit (events.js:387:35)\n at IncomingMessage.emit (domain.js:470:12)\n at endReadableNT (internal/streams/readable.js:1317:12)\n at processTicksAndRejections (internal/process/task_queues.js:82:21)”},“msg”:“The server has encountered an error.”,“time”:“2021-09-03T06:51:41.996Z”,“v”:0}

I got this error when trying to send to 10,000 subscribers. Can you please help, i tried to send 1,2 email is ok to mailgun.

Also, with this error, my mailgun log show nothing.

Thank you in advance