# Problem check 'missing\_mailgun\_api\_key' error

**URL:** https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579
**Category:** Bug
**Created:** [March 15, 2024, 8:30pm UTC](https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579 "2024-03-15T20:30:11Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [March 15, 2024, 8:30pm UTC](https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579/1 "2024-03-15T20:30:11Z")

</div>

Hello 👋

I’ve just updated today to the latest version and got some of the following errors in `/logs`.

```plaintext
TypeError (String does not have #dig method) app/services/problem_check/missing_mailgun_api_key.rb:8:in `dig' app/services/problem_check/missing_mailgun_api_key.rb:8:in `call' app/models/problem_check

```

> **info**
>
> ```plaintext
> TypeError (String does not have #dig method)
> app/services/problem_check/missing_mailgun_api_key.rb:8:in `dig'
> app/services/problem_check/missing_mailgun_api_key.rb:8:in `call'
> app/models/problem_check.rb:58:in `call'
> app/models/admin_dashboard_data.rb:36:in `block in problems'
> app/models/admin_dashboard_data.rb:36:in `each'
> app/models/admin_dashboard_data.rb:36:in `flat_map'
> app/models/admin_dashboard_data.rb:36:in `problems'
> app/models/admin_dashboard_data.rb:147:in `fetch_problems'
> app/controllers/admin/dashboard_controller.rb:29:in `problems'
> app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
> app/controllers/application_controller.rb:423:in `with_resolved_locale'
> lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
> lib/content_security_policy/middleware.rb:12:in `call'
> lib/middleware/anonymous_cache.rb:393:in `call'
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> config/initializers/008-rack-cors.rb:26:in `call'
> config/initializers/100-quiet_logger.rb:20:in `call'
> config/initializers/100-silence_logger.rb:29:in `call'
> lib/middleware/enforce_hostname.rb:24:in `call'
> lib/middleware/request_tracker.rb:236:in `call'
> 
> ```

> **backtrace**
>
> ```plaintext
> app/services/problem_check/missing_mailgun_api_key.rb:8:in `dig'
> 
> app/services/problem_check/missing_mailgun_api_key.rb:8:in `call'
> 
> app/models/problem_check.rb:58:in `call'
> 
> app/models/admin_dashboard_data.rb:36:in `block in problems'
> 
> app/models/admin_dashboard_data.rb:36:in `each'
> 
> app/models/admin_dashboard_data.rb:36:in `flat_map'
> 
> app/models/admin_dashboard_data.rb:36:in `problems'
> 
> app/models/admin_dashboard_data.rb:147:in `fetch_problems'
> 
> app/controllers/admin/dashboard_controller.rb:29:in `problems'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
> 
> actionpack (7.0.8.1) lib/abstract_controller/base.rb:215:in `process_action'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/rendering.rb:165:in `process_action'
> 
> actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
> 
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
> 
> app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
> 
> i18n (1.14.4) lib/i18n.rb:322:in `with_locale'
> 
> app/controllers/application_controller.rb:423:in `with_resolved_locale'
> 
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
> 
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:138:in `run_callbacks'
> 
> actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:233:in `process_action'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/rescue.rb:23:in `process_action'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
> 
> activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `block in instrument'
> 
> activesupport (7.0.8.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
> 
> activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `instrument'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
> 
> actionpack (7.0.8.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
> 
> activerecord (7.0.8.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
> 
> actionpack (7.0.8.1) lib/abstract_controller/base.rb:151:in `process'
> 
> actionview (7.0.8.1) lib/action_view/rendering.rb:39:in `process'
> 
> rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method'
> 
> actionpack (7.0.8.1) lib/action_controller/metal.rb:188:in `dispatch'
> 
> actionpack (7.0.8.1) lib/action_controller/metal.rb:251:in `dispatch'
> 
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
> 
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:32:in `serve'
> 
> actionpack (7.0.8.1) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
> 
> actionpack (7.0.8.1) lib/action_dispatch/routing/mapper.rb:48:in `serve'
> 
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
> 
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `each'
> 
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `serve'
> 
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:852:in `call'
> 
> lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
> 
> rack (2.2.8.1) lib/rack/tempfile_reaper.rb:15:in `call'
> 
> rack (2.2.8.1) lib/rack/conditional_get.rb:27:in `call'
> 
> rack (2.2.8.1) lib/rack/head.rb:12:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
> 
> lib/content_security_policy/middleware.rb:12:in `call'
> 
> lib/middleware/anonymous_cache.rb:393:in `call'
> 
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> 
> config/initializers/008-rack-cors.rb:26:in `call'
> 
> rack (2.2.8.1) lib/rack/session/abstract/id.rb:266:in `context'
> 
> rack (2.2.8.1) lib/rack/session/abstract/id.rb:260:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
> 
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:99:in `run_callbacks'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
> 
> logster (2.19.1) lib/logster/middleware/reporter.rb:40:in `call'
> 
> railties (7.0.8.1) lib/rails/rack/logger.rb:40:in `call_app'
> 
> railties (7.0.8.1) lib/rails/rack/logger.rb:27:in `call'
> 
> config/initializers/100-quiet_logger.rb:20:in `call'
> 
> config/initializers/100-silence_logger.rb:29:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
> 
> lib/middleware/enforce_hostname.rb:24:in `call'
> 
> rack (2.2.8.1) lib/rack/method_override.rb:24:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
> 
> rack (2.2.8.1) lib/rack/sendfile.rb:110:in `call'
> 
> actionpack (7.0.8.1) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
> 
> rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
> 
> message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
> 
> lib/middleware/request_tracker.rb:236:in `call'
> 
> railties (7.0.8.1) lib/rails/engine.rb:530:in `call'
> 
> railties (7.0.8.1) lib/rails/railtie.rb:226:in `public_send'
> 
> railties (7.0.8.1) lib/rails/railtie.rb:226:in `method_missing'
> 
> rack (2.2.8.1) lib/rack/urlmap.rb:74:in `block in call'
> 
> rack (2.2.8.1) lib/rack/urlmap.rb:58:in `each'
> 
> rack (2.2.8.1) lib/rack/urlmap.rb:58:in `call'
> 
> unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
> 
> unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
> 
> unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
> 
> unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
> 
> unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
> 
> vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
> 
> vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
> 
> ```

I think this commit is related with this.  
[https://github.com/discourse/discourse/commit/ea5c3a3bdc529db59be54c27588e41c7951ea269](https://github.com/discourse/discourse/commit/ea5c3a3bdc529db59be54c27588e41c7951ea269)

If I understand it correctly here

> <https://github.com/discourse/discourse/blob/ea5c3a3bdc529db59be54c27588e41c7951ea269/app/services/problem_check/missing_mailgun_api_key.rb#L8>

There is no problem if the `smtp_settings` address is `smtp.mailgun.org`. My address is `smtp.eu.mailgun.org`. Maybe this is why I got the errors… 🤔

Thanks 🙂

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [March 16, 2024, 4:51pm UTC](https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579/3 "2024-03-16T16:51:35Z")

</div>

After upgrading to 3.3.0 beta 1 I’m seeing these errors in the error logs

```plaintext
Message (4 copies reported)

TypeError (String does not have #dig method)
app/services/problem_check/missing_mailgun_api_key.rb:8:in `dig'
app/services/problem_check/missing_mailgun_api_key.rb:8:in `call'
app/models/problem_check.rb:58:in `call'
app/models/admin_dashboard_data.rb:36:in `block in problems'
app/models/admin_dashboard_data.rb:36:in `each'
app/models/admin_dashboard_data.rb:36:in `flat_map'
app/models/admin_dashboard_data.rb:36:in `problems'
app/models/admin_dashboard_data.rb:147:in `fetch_problems'
app/controllers/admin/dashboard_controller.rb:29:in `problems'
app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
app/controllers/application_controller.rb:423:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:236:in `call'

Backtrace

app/services/problem_check/missing_mailgun_api_key.rb:8:in `dig'
app/services/problem_check/missing_mailgun_api_key.rb:8:in `call'
app/models/problem_check.rb:58:in `call'
app/models/admin_dashboard_data.rb:36:in `block in problems'
app/models/admin_dashboard_data.rb:36:in `each'
app/models/admin_dashboard_data.rb:36:in `flat_map'
app/models/admin_dashboard_data.rb:36:in `problems'
app/models/admin_dashboard_data.rb:147:in `fetch_problems'
app/controllers/admin/dashboard_controller.rb:29:in `problems'
actionpack (7.0.8.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

Env

HTTP HOSTS: xxx.com

```

No settings have changed, not using mailgun api (don’t have it configured).

---

<div class="post-metadata">

### Author: ![ted](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ted/32/283882_2.png) [@ted](https://meta.discourse.org/u/ted)
#### Post date: [March 17, 2024, 2:15am UTC](https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579/4 "2024-03-17T02:15:56Z")

</div>

Thanks for the report, @Don and @RBoy! 🙏

The fix is here. Once merged the error should go away.

[https://github.com/discourse/discourse/pull/26206](https://github.com/discourse/discourse/pull/26206)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [March 18, 2024, 9:00pm UTC](https://meta.discourse.org/t/problem-check-missing-mailgun-api-key-error/299579/5 "2024-03-18T21:00:11Z")

</div>

This topic was automatically closed after 18 hours. New replies are no longer allowed.
