Make Email::Receiver.check_address() into a class method.

This commit is contained in:
Ryan C. Gordon
2017-04-05 12:45:58 -04:00
parent e15d11df18
commit a51c191a66
2 changed files with 6 additions and 6 deletions

View File

@ -75,7 +75,7 @@ class Admin::EmailController < Admin::AdminController
# These strings aren't localized; they are sent to an anonymous SMTP user. # These strings aren't localized; they are sent to an anonymous SMTP user.
if User.find_by_email(params[:from]).nil? && !SiteSetting.enable_staged_users if User.find_by_email(params[:from]).nil? && !SiteSetting.enable_staged_users
render json: { reject: true, reason: "Mail from your address is not accepted. Do you have an account here?" } render json: { reject: true, reason: "Mail from your address is not accepted. Do you have an account here?" }
elsif Email::Receiver.new(params[:from]).check_address(params[:to]).nil? elsif Email::Receiver.check_address(Email.downcase(params[:to])).nil?
render json: { reject: true, reason: "Mail to this address is not accepted. Check the address and try to send again?" } render json: { reject: true, reason: "Mail to this address is not accepted. Check the address and try to send again?" }
else else
render json: { reject: false } render json: { reject: false }

View File

@ -302,11 +302,11 @@ module Email
def destinations def destinations
all_destinations all_destinations
.map { |d| check_address(d) } .map { |d| Email::Receiver.check_address(d) }
.drop_while(&:blank?) .drop_while(&:blank?)
end end
def check_address(address) def self.check_address(address)
# only check for a group/category when 'email_in' is enabled # only check for a group/category when 'email_in' is enabled
if SiteSetting.email_in if SiteSetting.email_in
group = Group.find_by_email(address) group = Group.find_by_email(address)
@ -317,7 +317,7 @@ module Email
end end
# reply # reply
match = reply_by_email_address_regex.match(address) match = Email::Receiver.reply_by_email_address_regex.match(address)
if match && match.captures if match && match.captures
match.captures.each do |c| match.captures.each do |c|
next if c.blank? next if c.blank?
@ -443,7 +443,7 @@ module Email
true true
end end
def reply_by_email_address_regex def self.reply_by_email_address_regex
@reply_by_email_address_regex ||= begin @reply_by_email_address_regex ||= begin
reply_addresses = [ reply_addresses = [
SiteSetting.reply_by_email_address, SiteSetting.reply_by_email_address,
@ -652,7 +652,7 @@ module Email
end end
def should_invite?(email) def should_invite?(email)
email !~ reply_by_email_address_regex && email !~ Email::Receiver.reply_by_email_address_regex &&
email !~ group_incoming_emails_regex && email !~ group_incoming_emails_regex &&
email !~ category_email_in_regex email !~ category_email_in_regex
end end