مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
style(rubocop): Layout/LineLength
هذا الالتزام موجود في:
@@ -43,7 +43,12 @@ class ServersController < ApplicationController
|
||||
|
||||
def update
|
||||
extra_params = [:spam_threshold, :spam_failure_threshold, :postmaster_address]
|
||||
extra_params += [:send_limit, :allow_sender, :privacy_mode, :log_smtp_data, :outbound_spam_threshold, :message_retention_days, :raw_message_retention_days, :raw_message_retention_size] if current_user.admin?
|
||||
|
||||
if current_user.admin?
|
||||
extra_params += [:send_limit, :allow_sender, :privacy_mode, :log_smtp_data, :outbound_spam_threshold,
|
||||
:message_retention_days, :raw_message_retention_days, :raw_message_retention_size]
|
||||
end
|
||||
|
||||
if @server.update(safe_params(*extra_params))
|
||||
redirect_to_with_json organization_server_path(organization, @server), notice: "Server settings have been updated"
|
||||
else
|
||||
|
||||
@@ -71,7 +71,9 @@ class UserController < ApplicationController
|
||||
|
||||
if @user.save
|
||||
if email_changed
|
||||
redirect_to_with_json verify_path(return_to: settings_path), notice: "Your settings have been updated successfully. As you've changed, your e-mail address you'll need to verify it before you can continue."
|
||||
redirect_to_with_json verify_path(return_to: settings_path),
|
||||
notice: "Your settings have been updated successfully. As you've changed, your e-mail " \
|
||||
"address you'll need to verify it before you can continue."
|
||||
else
|
||||
redirect_to_with_json settings_path, notice: "Your settings have been updated successfully."
|
||||
end
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
class UnqueueMessageJob < Postal::Job
|
||||
|
||||
# rubocop:disable Layout/LineLength
|
||||
def perform
|
||||
if original_message = QueuedMessage.find_by_id(params["id"])
|
||||
if original_message.acquire_lock
|
||||
@@ -430,7 +431,12 @@ class UnqueueMessageJob < Postal::Job
|
||||
Sentry.capture_exception(e, extra: { job_id: self.id, server_id: queued_message.server_id, message_id: queued_message.message_id })
|
||||
end
|
||||
if queued_message.message
|
||||
queued_message.message.create_delivery("Error", details: "An internal error occurred while sending this message. This message will be retried automatically. If this persists, contact support for assistance.", output: "#{e.class}: #{e.message}", log_id: "J-#{self.id}")
|
||||
queued_message.message.create_delivery("Error",
|
||||
details: "An internal error occurred while sending " \
|
||||
"this message. This message will be retried " \
|
||||
"automatically.",
|
||||
output: "#{e.class}: #{e.message}", log_id: "J-#{self.id}"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -448,6 +454,7 @@ class UnqueueMessageJob < Postal::Job
|
||||
nil
|
||||
end
|
||||
end
|
||||
# rubocop:enable Layout/LineLength
|
||||
|
||||
private
|
||||
|
||||
|
||||
@@ -220,6 +220,10 @@ class Server < ApplicationRecord
|
||||
}
|
||||
end
|
||||
|
||||
# Return the domain which can be used to authenticate emails sent from the given e-mail address.
|
||||
#
|
||||
# @param address [String] an e-mail address
|
||||
# @return [Domain, nil] the domain to use for authentication
|
||||
def authenticated_domain_for_address(address)
|
||||
return nil if address.blank?
|
||||
|
||||
@@ -230,14 +234,24 @@ class Server < ApplicationRecord
|
||||
|
||||
uname, = uname.split("+", 2)
|
||||
|
||||
# Check the server's domain
|
||||
if domain = Domain.verified.order(owner_type: :desc).where("(owner_type = 'Organization' AND owner_id = ?) OR (owner_type = 'Server' AND owner_id = ?)", organization_id, id).where(name: domain_name).first
|
||||
return domain
|
||||
end
|
||||
# Find a verified domain which directly matches the domain name for the given address.
|
||||
domain = Domain.verified
|
||||
.order(owner_type: :desc)
|
||||
.where("(owner_type = 'Organization' AND owner_id = ?) OR " \
|
||||
"(owner_type = 'Server' AND owner_id = ?)", organization_id, id)
|
||||
.where(name: domain_name)
|
||||
.first
|
||||
|
||||
return unless any_domain = domains.verified.where(use_for_any: true).order(:name).first
|
||||
# If there is a matching domain, return it
|
||||
return domain if domain
|
||||
|
||||
any_domain
|
||||
# Otherwise, we need to look to see if there is a domain configured which can be used as the authenticated
|
||||
# domain for any domain. This will look for domains directly within the server and return that.
|
||||
any_domain = domains.verified.where(use_for_any: true).order(:name).first
|
||||
return any_domain if any_domain
|
||||
|
||||
# Return nil if we can't find anything suitable
|
||||
nil
|
||||
end
|
||||
|
||||
def find_authenticated_domain_from_headers(headers)
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم