# Bamboo returns :closed error

**URL:** <https://forum.elixirforum.com/t/bamboo-returns-closed-error/71208>\
**Category:** Questions\
**Tags:** email, bamboo, oban, mailgun\
**Created:** [June 10, 2025, 12:29pm UTC](https://forum.elixirforum.com/t/bamboo-returns-closed-error/71208 "2025-06-10T12:29:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![roflbobl](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/roflbobl/32/34341_2.png) [@roflbobl](https://forum.elixirforum.com/u/roflbobl)\
**Post date:** [June 10, 2025, 12:29pm UTC](https://forum.elixirforum.com/t/bamboo-returns-closed-error/71208/1 "2025-06-10T12:29:14Z")

</div>

I have a production system, that queues emails in Oban. It sends the emails with `Bamboo.Mailer.deliver_now!/4`, but it fails with the error `(Bamboo.ApiError) :closed` a couple of times, until it succeeds, after 2-5 tries.  
We use MailGun to send the emails. I contacted MailGun and they can not see anything wrong on their end, I have no idea where to look anymore.

The “fix” right now, is just to try to rerun the job up until 10 times, with a backoff of 15 seconds.  
Anyone who has experienced something similar?

Here is the errror:

```elixir
Attempt 1—now

** (Bamboo.ApiError) :closed
    (bamboo 2.4.0) lib/bamboo/mailer.ex:241: Bamboo.Mailer.deliver_now!/4
    (my_app 0.1.0) lib/my_app/workers/send_email.ex:27: MyApp.Workers.SendEmail.perform/1
    (oban 2.19.4) lib/oban/queue/executor.ex:145: Oban.Queue.Executor.perform/1
    (oban 2.19.4) lib/oban/queue/executor.ex:77: Oban.Queue.Executor.call/1
    (elixir 1.18.3) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2
    (elixir 1.18.3) lib/task/supervised.ex:36: Task.Supervised.reply/4

```

---

<div class="post-metadata">

**Author:** ![ruslandoga](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ruslandoga/32/22193_2.png) [@ruslandoga](https://forum.elixirforum.com/u/ruslandoga)\
**Post date:** [June 10, 2025, 1:18pm UTC](https://forum.elixirforum.com/t/bamboo-returns-closed-error/71208/2 "2025-06-10T13:18:17Z")

</div>

👋

Just a guess: the HTTP connection to Mailgun probably gets closed while in the pool. E.g. because it wasn’t used for a long time. And it probably happens to many connections in that pool, so it takes that many retries to find one that’s still connected.

---

<div class="post-metadata">

**Author:** ![dimitarvp](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/32/38664_2.png) [@dimitarvp](https://forum.elixirforum.com/u/dimitarvp)\
**Post date:** [June 10, 2025, 2:10pm UTC](https://forum.elixirforum.com/t/bamboo-returns-closed-error/71208/3 "2025-06-10T14:10:40Z")

</div>

I was about to say almost the same as @ruslandoga – try using an HTTP client that does not keep open connections in a pool but always opens them afresh instead (Mint / Finch might be able to do the same with config options as well btw).
