FEATURE: new 'block_auto_generated_emails' site setting

This commit is contained in:
Régis Hanol
2016-04-20 21:29:27 +02:00
parent f62ffce03b
commit 4960b62110
16 changed files with 81 additions and 23 deletions

View File

@ -56,6 +56,7 @@ module Email
end
def process_internal
raise BouncedEmailError if @mail.bounced? && !@mail.retryable?
raise ScreenedEmailError if ScreenedEmail.should_block?(@from_email)
user = find_or_create_user(@from_email, @from_display_name)
@ -64,15 +65,19 @@ module Email
@incoming_email.update_columns(user_id: user.id)
raise InactiveUserError if !user.active && !user.staged
raise BlockedUserError if user.blocked
body, @elided = select_body
body ||= ""
raise BouncedEmailError if (@mail.bounced? && !@mail.retryable?)
raise AutoGeneratedEmailReplyError if check_reply_to_auto_generated_header
raise AutoGeneratedEmailError if is_auto_generated?
raise NoBodyDetectedError if body.blank? && !@mail.has_attachments?
raise InactiveUserError if !user.active && !user.staged
raise BlockedUserError if user.blocked
raise NoBodyDetectedError if body.blank? && !@mail.has_attachments?
if is_auto_generated?
@incoming_email.update_columns(is_auto_generated: true)
raise AutoGeneratedEmailReplyError if check_reply_to_auto_generated_header
raise AutoGeneratedEmailError if SiteSetting.block_auto_generated_emails?
end
if action = subscription_action_for(body, subject)
message = SubscriptionMailer.send(action, user)