Allowing anonymous e-mails for private category prevents e-mails from existing users

If I use “Accept emails from anonymous users with no accounts” for a category that only staff has access to it can correctly receive e-mails from anonymous users (they are submitted via the “system” user and a quote tag).

I expected that this accepts e-mails from existing users since it does not reduce the security in any way. Unfortunately it does not - instead a rejection e-mail is sent back to the user.

My use case - as many others I am trying to use Discourse to replace our ticketing system. I have a small script that uses API to retrieve the received e-mails, create new users and change the owner of the posts.

I would actually prefer a setting “Accept any e-mail” - that would set “skip_validations” option both for replies and topic creation - a moderator would then process the posts. The reason is that when a user writes the e-mail he does not get the feedback about unique titles, minimum lengths, permissions etc.

4 إعجابات

I actually identified this as a potential problem when I wrote the logic, figured I’d wait until someone actually tried it and noticed :wink:

I’ve just had another version of this, only now it appears to not be working for all anonymous users emailing in.

Exact error message is Email can not be processed: can_create? failed

Backtrace if it’s helpful (I’m not really a rails dev)

/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/logster-1.0.1/lib/logster/logger.rb:74:in `add_with_opts'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/logster-1.0.1/lib/logster/logger.rb:35:in `add'
/usr/local/lib/ruby/2.0.0/logger.rb:445:in `warn'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:28:in `handle_failure'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:23:in `rescue in process_popmail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:19:in `process_popmail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:76:in `block (2 levels) in poll_pop3'
/usr/local/lib/ruby/2.0.0/net/pop.rb:688:in `block in delete_all'
/usr/local/lib/ruby/2.0.0/net/pop.rb:687:in `each'
/usr/local/lib/ruby/2.0.0/net/pop.rb:687:in `delete_all'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:75:in `block in poll_pop3'
/usr/local/lib/ruby/2.0.0/net/pop.rb:531:in `start'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:74:in `poll_pop3'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:15:in `execute'
/var/www/discourse/app/jobs/base.rb:154:in `block (2 levels) in perform'

I did just reproduce this error.

إعجاب واحد (1)

@Knagis, @ItsGhost & @Sander78, can you update to latest and check? I believe this is fixed now.

4 إعجابات

Updated and everything appears to be working now, just waiting to see if a notification email is sent to the staged user.

Out of interest this only came about because I couldn’t disable staged accounts, has the old functionality of system posting been removed by design?

إعجاب واحد (1)

Yup, staged accounts is much more powerful than quoting emails.

Yep, it seems to work!

إعجاب واحد (1)

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