FEATURE: new disable_emails site setting

This commit is contained in:
Régis Hanol 2014-08-23 11:07:37 +02:00
parent 244323d218
commit 77ba2015eb
4 changed files with 11 additions and 0 deletions

View File

@ -921,6 +921,8 @@ en:
reply_by_email_enabled: "Enable replying to topics via email."
reply_by_email_address: "Template for reply by email incoming email address, for example: %{reply_key}@reply.example.com or replies+%{reply_key}@example.com"
disable_emails: "Prevent Discourse from sending any kind of emails"
pop3s_polling_enabled: "Poll via POP3S for email replies."
pop3s_polling_insecure: "Poll using plain text POP3 without SSL."
pop3s_polling_period_mins: "The period in minutes between checking the POP3S account for email. NOTE: requires restart."

View File

@ -395,6 +395,7 @@ email:
enum: 'TrustLevelSetting'
email_prefix: ''
email_site_title: ''
disable_emails: false
files:
max_image_size_kb:

View File

@ -22,6 +22,7 @@ module Email
end
def send
return if SiteSetting.disable_emails
return skip(I18n.t('email_log.message_blank')) if @message.blank?
return skip(I18n.t('email_log.message_to_blank')) if @message.to.blank?

View File

@ -3,6 +3,13 @@ require 'email/sender'
describe Email::Sender do
it "doesn't deliver mail when mails are disabled" do
SiteSetting.expects(:disable_emails).returns(true)
Mail::Message.any_instance.expects(:deliver).never
message = Mail::Message.new(to: "hello@world.com" , body: "hello")
Email::Sender.new(message, :hello).send
end
it "doesn't deliver mail when the message is nil" do
Mail::Message.any_instance.expects(:deliver).never
Email::Sender.new(nil, :hello).send