Sending e-mails don't work on signup


(Robert) #1

Hey guys,

a forum user made me aware that on our forum, the signup mail is not arriving. This could be related to a recent update. So I updated again yesterday evening to latest master and the problem persists.

Mails work as expected, but Discourse does not send mails for signup or on ‘send activation mail’ from the admin interface. There is no entry in the sent mails log and no entry in the Discourse error log. However, notifications on replies are sent out as expected. The mail testing in the admin interface works as well.

I hope I just missed a setting somewhere. Otherwise, this is a bug and should be refiled accordingly.

Best,
Robert

Settings:


(Felix Freiberger) #2

You could try sending such a test mail to this user to determine whether this is specific to activation mails.


(Robert) #3

Test mails work. Activation mails don’t work for all users I tested. I registered with a new account myself. No registration mail was issued/mentioned in the sent mails admin overview.


(Jeff Atwood) #4

Unless you can repro here or on try.discourse.org, this is not a bug. Did you check admin, email, sent in your browser?


(Robert) #5

Yes, I did.

I registered with a new account and still didn’t got a signup mail. According to the mail log, there has no mail been sent. The error log in the admin section is empty. That’s what I have in the production.log:

Started POST "/users" for 91.64.170.155 at 2016-06-19 19:33:21 +0000
Processing by UsersController#create as */*
  Parameters: {"name"=>"", "email"=>"robert-testing@[…]", "password"=>"[FILTERED]", "username"=>"robert_forum_testing", "password_confirmation"=>"[FILTERED]", "challenge"=>"3ecd8fc2e90579d5756fd50c29e893f5"}
Completed 200 OK in 2955ms (Views: 1.4ms | ActiveRecord: 117.5ms)
Started POST "/login" for 91.64.170.155 at 2016-06-19 19:33:24 +0000
Processing by StaticController#enter as HTML
  Parameters: {"username"=>"robert_forum_testing", "password"=>"[FILTERED]", "redirect"=>"/users/account-created"}
Redirected to http://forum.[…]/users/account-created
Completed 302 Found in 13ms (ActiveRecord: 0.0ms)
Started GET "/users/account-created" for 91.64.170.155 at 2016-06-19 19:33:24 +0000

The Discourse Sandbox forum sends signup mails, but has maybe a different configuration.


(Jeff Atwood) #6

Any plugins or JS customization? If so remove them, rebuild, and try again?


(Robert) #7
  • Only plugins from Discourse repo
  • No JS customizations

This must be a pure server side issues. UserContoller#create is executed and apparently no mail sending process is spawned. Where can I find logs? Are mails sent from a separate process?


(Felix Freiberger) #8

Do you see a happy and idle sidekiq at /sidekiq?


(Robert) #9

Thx Felix. I didn’t know this page. I have found an event related to signup mails, but I cannot find any status information on success/failure.


(Robert) #10

Is it possible that only 1 of 3 queues are processed?


(cpradio) #11

You seem to have a ton of items in your queues. Chances are the signup emails are way at the bottom of those queues, which is why you aren’t getting them.


(Robert) #12

I guess it is related to the fact that I’m running an unsupported setup without Docker and a custom startup script for sidekiq that does not launch all 3 queues.

In this setup sidekiq is started with:

/usr/bin/env PIDFILE=#{pidfile} RAILS_ENV=#{rails_env} bundle exec sidekiq -L #{rails_root}/log/sidekiq.log"

Docker-supported installs use these options: "-q", "critical,4", "-q", "default,2", "-q", "low" (from discourse/lib/demon/sidekiq.rb)

I checked the systemd service files provided by @rumpelsepp and it doesn’t specify the other queues either.

N.B.: I cannot run docker because support has not been verified for Scaleway cloud provider’s arm architecture. Their service sucks but our non-profit association has very tough budget constraints.


(Felix Freiberger) #13

With an unsupported install, you’re on your own - but Sidekiq definitely is your problem :slight_smile: