Module: SanitizeEmail

Extended by:
Deprecation
Defined in:
lib/sanitize_email/bleach.rb,
lib/sanitize_email.rb,
lib/sanitize_email/config.rb,
lib/sanitize_email/railtie.rb,
lib/sanitize_email/version.rb,
lib/sanitize_email/engine_v5.rb,
lib/sanitize_email/engine_v6.rb,
lib/sanitize_email/deprecation.rb,
lib/sanitize_email/test_helpers.rb,
lib/sanitize_email/rspec_matchers.rb,
lib/sanitize_email/mail_header_tools.rb,
lib/sanitize_email/overridden_addresses.rb

Overview

Copyright © 2008 - 2018, 2020, 2022, 2024 Peter H. Boling of RailsBling.com Released under the MIT license

Defined Under Namespace

Modules: Deprecation, MailExt, MailHeaderTools, RspecMatchers, TestHelpers, Version Classes: Bleach, Config, EngineV5, MissingBlockParameter, OverriddenAddresses, Railtie

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from Deprecation

deprecated, deprecated_alias, deprecation, deprecation_warning_message

Class Attribute Details

.force_sanitizeObject

Returns the value of attribute force_sanitize.



78
79
80
# File 'lib/sanitize_email.rb', line 78

def force_sanitize
  @force_sanitize
end

Class Method Details

.[](key) ⇒ Object



51
52
53
54
# File 'lib/sanitize_email.rb', line 51

def self.[](key)
  return unless key.respond_to?(:to_sym)
  SanitizeEmail::Config.config[key.to_sym]
end

.activate?(message) ⇒ Boolean

Returns:

  • (Boolean)


72
73
74
75
# File 'lib/sanitize_email.rb', line 72

def self.activate?(message)
  proc = SanitizeEmail::Config.config[:activation_proc]
  proc.call(message) if proc.respond_to?(:call)
end

.janitor(options) ⇒ Object



126
127
128
129
130
131
132
# File 'lib/sanitize_email.rb', line 126

def self.janitor(options)
  raise MissingBlockParameter, "SanitizeEmail.janitor must be called with a block" unless block_given?
  original = SanitizeEmail.force_sanitize
  SanitizeEmail.force_sanitize = options[:forcing]
  yield
  SanitizeEmail.force_sanitize = original
end

.local_environmentsObject

NOTE: Deprecated method We have to actually define because we can’t deprecate methods that are hooked up via method_missing



68
69
70
# File 'lib/sanitize_email.rb', line 68

def self.local_environments
  SanitizeEmail::Config.config[:local_environments]
end

.method_missing(name, *_args) ⇒ Object



56
57
58
# File 'lib/sanitize_email.rb', line 56

def self.method_missing(name, *_args)
  SanitizeEmail[name]
end

.sanitary(config_options = {}) ⇒ Object

Regardless of the Config settings of SanitizeEmail you can do a local override to send sanitary email in any environment. You have access to all the same configuration options in the parameter hash as you can set in the actual SanitizeEmail.configure block.

SanitizeEmail.sanitary(=> “[email protected]”) do

Mail.deliver do
  from      "[email protected]"
  # Will actually be sent to the override addresses, not this one:
  to        "[email protected]"
  reply_to  "[email protected]"
  subject   "subject"
end

end



97
98
99
100
101
102
103
104
105
# File 'lib/sanitize_email.rb', line 97

def self.sanitary(config_options = {})
  raise MissingBlockParameter, "SanitizeEmail.sanitary must be called with a block" unless block_given?
  janitor(forcing: true) do
    original = SanitizeEmail::Config.config.dup
    SanitizeEmail::Config.config.merge!(config_options)
    yield
    SanitizeEmail::Config.config = original
  end
end

.sanitized_recipientsObject

NOTE: Deprecated method We have to actually define because we can’t deprecate methods that are hooked up via method_missing



62
63
64
# File 'lib/sanitize_email.rb', line 62

def self.sanitized_recipients
  # NOOP - This method is never actually executed, because the deprecations redirects the call to sanitized_to
end

.unsanitaryObject

Regardless of the Config settings of SanitizeEmail you can do a local override to force unsanitary email in any environment.

SanitizeEmail.unsanitary do

Mail.deliver do
  from      "[email protected]"
  to        "[email protected]"
  reply_to  "[email protected]"
  subject   "subject"
end

end



119
120
121
122
123
124
# File 'lib/sanitize_email.rb', line 119

def self.unsanitary
  raise MissingBlockParameter, "SanitizeEmail.unsanitary must be called with a block" unless block_given?
  janitor(forcing: false) do
    yield
  end
end