-
-
Notifications
You must be signed in to change notification settings - Fork 36
Home
You have set :activation_proc
such that sanitize email is 'always on':
SanitizeEmail::Config.configure do |config|
config[:activation_proc] = Proc.new {true}
end
class User < ActiveRecord::Base
def test_signup_email_me_only
SanitizeEmail.force_sanitize = true
UserMailer.signup_notification(self).deliver
SanitizeEmail.force_sanitize = nil
end
def test_signup_email_user_only
SanitizeEmail.force_sanitize = false
UserMailer.signup_notification(self).deliver
SanitizeEmail.force_sanitize = nil
end
end
Now regardless of other considerations: User.find(4).test_signup_email_me_only
will have its normal recipients, bcc, and cc overridden to be whatever you set the sanitized values to be.
Then if you want to send it to the actual user, instead of yourself User.find(4).test_signup_email_user_only
class User < ActiveRecord::Base
def test_signup_email_me_only
SanitizeEmail.sanitary do
UserMailer.signup_notification(self).deliver
end
end
end
Now regardless of other considerations: User.find(4).test_signup_email_me_only
will have its normal recipients, bcc, and cc overridden to be whatever you set the sanitized values to be.
You can also pass in any of SanitizeEmail's configuration options to the sanitary call to do instance specific overrides. For example if SanitizeEmail generally is setup to go to [email protected]
, but here you want to send it to [email protected]
class User < ActiveRecord::Base
def test_signup_email_me_only
SanitizeEmail.sanitary({:sanitized_to => '[email protected]'}) do
UserMailer.signup_notification(self).deliver
end
end
end
class User < ActiveRecord::Base
def test_signup_email_live_user_only
SanitizeEmail.unsanitary do
UserMailer.signup_notification(self).deliver
end
end
end
Now regardless of other considerations: User.find(4).test_signup_email_me_only
will never be overridden, and will be completely ignored by SanitizeEmail.