# Can't send activation mail before approving user

**URL:** https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975
**Category:** Support
**Created:** [June 5, 2017, 6:25pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975 "2017-06-05T18:25:20Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![Horus](https://avatars.discourse-cdn.com/v4/letter/h/ce73a5/32.png) [@Horus](https://meta.discourse.org/u/Horus)
#### Post date: [June 5, 2017, 6:25pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/1 "2017-06-05T18:25:20Z")

</div>

Hello,

I just did a fresh setup of my discourse installation. The existing one was for testing and so on, now I’m going to production.

Since I’m hit by [https://meta.discourse.org/t/first-mail-validation-mail-never-sent/62952](https://meta.discourse.org/t/first-mail-validation-mail-never-sent/62952) I resend the activation mail for users.

I have a user that is approved, but not yet active, since he didn’t replied to the activation mail so far. I try to resend it, but only get

> (original) Du hast nicht die Erlaubnis, die angeforderte Ressource zu betrachten.  
> (translation) You don’t the necessary permissions to watch the requested ressources.

The user is trust level 1 (I start from 1)

I work with the default administrator. It says:

Administrator: yes  
Moderator: no  
trust level: 1

I recently deactivated the bootstrap mode, the forum banner says it’s due to be deactivated in the next 24 hours.

I am bit surprised that I’m not moderator, though it’s probably included in Administrator.

Why can’t I trigger resending the activation mail.

Thanks!

---

<div class="post-metadata">

### Author: ![Horus](https://avatars.discourse-cdn.com/v4/letter/h/ce73a5/32.png) [@Horus](https://meta.discourse.org/u/Horus)
#### Post date: [June 6, 2017, 7:57am UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/2 "2017-06-06T07:57:21Z")

</div>

Ok, I’ve noticed another odd thing:

It seems that mail validation is completely disabled. When I sign up for a new test user it just says

> Thanks for registration, we will notify you as soon as your account is approved.

Nothing about mail validation. Sending mails otherwise works fine. What could be the problem here?

- _enable local logins_ is checked, _default trust level_ = 1
- Sending a test mail works.
- Already tried rebuilding the app
- /logs/ shows this error:

[details=Backtrace]\> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/journey/formatter.rb:46:in `generate’

> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/route\_set.rb:721:in `generate' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:752:in `generate’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/route\_set.rb:799:in `url_for' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:280:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/route\_set.rb:345:in `block (2 levels) in define_url_helper' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/polymorphic_routes.rb:239:in `handle\_string\_call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/url\_for.rb:161:in `url_for' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_controller/metal/redirecting.rb:95:in `\_compute\_redirect\_to\_location’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal/redirecting.rb:75:in `redirect_to' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_controller/metal/flash.rb:57:in `redirect\_to’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal/instrumentation.rb:64:in `block in redirect_to' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in `block in instrument’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/notifications/instrumenter.rb:20:in `instrument' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in `instrument’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal/instrumentation.rb:63:in `redirect_to' /var/www/discourse/app/controllers/application_controller.rb:567:in `redirect\_to\_login\_if\_required’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:432:in `block in make_lambda' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:164:in `block in halting’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:504:in `block in call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:504:in `each’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:504:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in ` **run\_callbacks** ’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:778:in `_run_process_action_callbacks' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:81:in `run\_callbacks’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/abstract\_controller/callbacks.rb:19:in `process_action' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_controller/metal/rescue.rb:29:in `process\_action’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal/instrumentation.rb:32:in `block in process_action' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in `block in instrument’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/notifications/instrumenter.rb:20:in `instrument' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/notifications.rb:164:in `instrument’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal/instrumentation.rb:30:in `process_action' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_controller/metal/params_wrapper.rb:250:in `process\_action’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.8/lib/active\_record/railties/controller\_runtime.rb:18:in `process_action' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/abstract_controller/base.rb:137:in `process’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionview-4.2.8/lib/action\_view/rendering.rb:30:in `process' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-mini-profiler-0.10.4/lib/mini_profiler/profiling_methods.rb:76:in `block in profile\_method’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal.rb:196:in `dispatch' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_controller/metal.rb:237:in `block in action' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/routing/route_set.rb:74:in `dispatch’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/route\_set.rb:43:in `serve' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/journey/router.rb:43:in `block in serve’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/journey/router.rb:30:in `each' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/journey/router.rb:30:in `serve’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/routing/route\_set.rb:817:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:189:in `call!' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/strategy.rb:167:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/omniauth-1.6.1/lib/omniauth/builder.rb:63:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/conditionalget.rb:25:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/head.rb:13:in `call' /var/www/discourse/lib/middleware/anonymous_cache.rb:138:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/middleware/params\_parser.rb:27:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/flash.rb:260:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/session/abstract/id.rb:225:in `context' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/session/abstract/id.rb:220:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/middleware/cookies.rb:560:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.8/lib/active_record/query_cache.rb:36:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.8/lib/active\_record/connection\_adapters/abstract/connection\_pool.rb:653:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:88:in ` __run_callbacks__' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `\_run\_call\_callbacks’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active\_support/callbacks.rb:81:in `run_callbacks' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/callbacks.rb:27:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/middleware/remote\_ip.rb:78:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/middleware/show\_exceptions.rb:30:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/logster-1.2.7/lib/logster/middleware/reporter.rb:31:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/rack/logger.rb:38:in `call_app' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/rack/logger.rb:22:in `call’  
> /var/www/discourse/config/initializers/100-quiet\_logger.rb:17:in `call_with_quiet_assets' /var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.8/lib/action\_dispatch/middleware/request\_id.rb:21:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/methodoverride.rb:22:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/runtime.rb:18:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/sendfile.rb:113:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-mini-profiler-0.10.4/lib/mini\_profiler/profiler.rb:171:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/message_bus-2.0.2/lib/message_bus/rack/middleware.rb:62:in `call’  
> /var/www/discourse/lib/middleware/request\_tracker.rb:73:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/engine.rb:518:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/application.rb:165:in `call' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `public\_send’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/railties-4.2.8/lib/rails/railtie.rb:194:in `method_missing' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/urlmap.rb:66:in `block in call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/urlmap.rb:50:in `each' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/rack-1.6.8/lib/rack/urlmap.rb:50:in `call’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/unicorn-5.3.0/lib/unicorn/http\_server.rb:606:in `process_client' /var/www/discourse/lib/scheduler/defer.rb:85:in `process\_client’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/unicorn-5.3.0/lib/unicorn/http\_server.rb:702:in `worker_loop' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/unicorn-5.3.0/lib/unicorn/http_server.rb:549:in `spawn\_missing\_workers’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/unicorn-5.3.0/lib/unicorn/http\_server.rb:142:in `start' /var/www/discourse/vendor/bundle/ruby/2.4.0/gems/unicorn-5.3.0/bin/unicorn:126:in `\<top (required)\>’  
> /var/www/discourse/vendor/bundle/ruby/2.4.0/bin/unicorn:22:in `load' /var/www/discourse/vendor/bundle/ruby/2.4.0/bin/unicorn:22:in `'[/details]

Another update:

1. I register, Discourse does not send a mail, nor does it states it will do so.
2. I immediately change the mail address in the “Thanks for registration” dialogue.
3. The mail is now sent to the new address.

Still, when I skip 2., there is no mail sent, nor can I request sending as an adminstrator.

Please help, as it basically breaks username/password based signup.

Thanks!  
Florian

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 12, 2017, 11:43pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/3 "2017-06-12T23:43:35Z")

</div>

Sounds like email is not working? See the email troubleshooting #howto topic.

---

<div class="post-metadata">

### Author: ![Horus](https://avatars.discourse-cdn.com/v4/letter/h/ce73a5/32.png) [@Horus](https://meta.discourse.org/u/Horus)
#### Post date: [June 13, 2017, 8:59am UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/4 "2017-06-13T08:59:14Z")

</div>

Mail is working just fine, please read my posts.

> - Sending mails otherwise works fine.
> - Sending a test mail works.
> - The mail is now sent to the new address.

Best Regards,  
Florian

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 13, 2017, 9:36am UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/5 "2017-06-13T09:36:00Z")

</div>

> [@Horus](#):
>
> Thanks for registration, we will notify you as soon as your account is approved.

If you have manual account approval enabled, you must go to the pending user approval queue and approve the users.

Otherwise, disable “must approve users” in your site settings.

---

<div class="post-metadata">

### Author: ![Horus](https://avatars.discourse-cdn.com/v4/letter/h/ce73a5/32.png) [@Horus](https://meta.discourse.org/u/Horus)
#### Post date: [June 13, 2017, 12:53pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/6 "2017-06-13T12:53:18Z")

</div>

Has this behavior changed recently? Because I remember: Signup → Verification Mail → Approval → Approval Mail.

Now it seems Signup → Approval → Approval/Verfication Mail.

Best,  
Florian

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 13, 2017, 10:55pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/7 "2017-06-13T22:55:37Z")

</div>

So you can confirm it is working for you? It is a bit of a 🐔 and 🥚 problem between which comes first, the approval or the verification mail.. I don’t have strong feelings about it either way.

---

<div class="post-metadata">

### Author: ![Horus](https://avatars.discourse-cdn.com/v4/letter/h/ce73a5/32.png) [@Horus](https://meta.discourse.org/u/Horus)
#### Post date: [June 14, 2017, 9:53am UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/8 "2017-06-14T09:53:22Z")

</div>

Me either, I’m fine with either. But I remember, that not too long ago, it was like I described above and I feel that behavior has changed.

Issue is solved therefore.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 14, 2017, 10:30am UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/9 "2017-06-14T10:30:25Z")

</div>

Great! Sorry about the confusion.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [June 8, 2024, 12:44pm UTC](https://meta.discourse.org/t/cant-send-activation-mail-before-approving-user/63975/10 "2024-06-08T12:44:32Z")

</div>

This topic was automatically closed after 2559 days. New replies are no longer allowed.
