summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLogan Fick <logaldeveloper@protonmail.com>2017-10-13 22:49:54 -0400
committerLogan Fick <logaldeveloper@protonmail.com>2017-10-13 22:49:54 -0400
commita6148790da639e4fccdc0638b5f5bf3e1b09b8ee (patch)
tree2e8b1b9a2279a4540a92d948cfb7e7f382fb5ee9
parent3e7a0e550fa3e7730bf0b2bb44a3d93a25307514 (diff)
Made notification emails get encrypted for accounts with a public key.
-rw-r--r--Gemfile1
-rw-r--r--app/mailers/redstoner_mailer.rb30
2 files changed, 26 insertions, 5 deletions
diff --git a/Gemfile b/Gemfile
index 4216fe2..8c8cb60 100644
--- a/Gemfile
+++ b/Gemfile
@@ -16,6 +16,7 @@ gem 'highlight_js-rails', github: 'RedstonerServer/highlight_js-rails'
gem 'kaminari', github: 'jomo/kaminari', branch: 'patch-2' # pagination
gem 'jquery-textcomplete-rails', github: 'RedstonerServer/jquery-textcomplete-rails' # @mentions
gem 'actionpack-action_caching', github: 'antulik/actionpack-action_caching', ref: '8c6e52c69315d67437f480da5dce4b7c8737fb32'
+gem 'mail-gpg'
# Gems used only for assets and not required
# in production environments by default.
diff --git a/app/mailers/redstoner_mailer.rb b/app/mailers/redstoner_mailer.rb
index 1b387f8..e1e22b2 100644
--- a/app/mailers/redstoner_mailer.rb
+++ b/app/mailers/redstoner_mailer.rb
@@ -19,29 +19,49 @@ class RedstonerMailer < ActionMailer::Base
def new_thread_mention_mail(user, thread)
@user = user
@thread = thread
- mail(to: @user.email, subject: "#{thread.author.name} mentioned you in '#{thread.title}' on Redstoner")
+ if @user.public_key?
+ mail(to: @user.email, subject: "Encrypted Notification from Redstoner", gpg: {encrypt: true, keys: {@user.email => @user.public_key}})
+ else
+ mail(to: @user.email, subject: "#{thread.author.name} mentioned you in '#{thread.title}' on Redstoner")
+ end
end
def new_thread_reply_mail(user, reply)
@user = user
@reply = reply
- mail(to: @user.email, subject: "#{reply.author.name} replied to '#{reply.thread.title}' on Redstoner")
+ if @user.public_key?
+ mail(to: @user.email, subject: "Encrypted Notification from Redstoner", gpg: {encrypt: true, keys: {@user.email => @user.public_key}})
+ else
+ mail(to: @user.email, subject: "#{reply.author.name} replied to '#{reply.thread.title}' on Redstoner")
+ end
end
def new_post_mention_mail(user, post)
@user = user
@post = post
- mail(to: @user.email, subject: "#{post.author.name} mentioned you in '#{post.title}' on Redstoner")
+ if @user.public_key?
+ mail(to: @user.email, subject: "Encrypted Notification from Redstoner", gpg: {encrypt: true, keys: {@user.email => @user.public_key}})
+ else
+ mail(to: @user.email, subject: "#{post.author.name} mentioned you in '#{post.title}' on Redstoner")
+ end
end
def new_post_comment_mail(user, comment)
@user = user
@comment = comment
- mail(to: @user.email, subject: "#{comment.author.name} replied to '#{comment.blogpost.title}' on Redstoner")
+ if @user.public_key?
+ mail(to: @user.email, subject: "Encrypted Notification from Redstoner", gpg: {encrypt: true, keys: {@user.email => @user.public_key}})
+ else
+ mail(to: @user.email, subject: "#{comment.author.name} replied to '#{comment.blogpost.title}' on Redstoner")
+ end
end
def email_change_confirm_mail(user)
@user = user
- mail(to: @user.email, subject: "Email change on Redstoner.com")
+ if @user.public_key?
+ mail(to: @user.email, subject: "Encrypted Notification from Redstoner", gpg: {encrypt: true, keys: {@user.email => @user.public_key}})
+ else
+ mail(to: @user.email, subject: "Email change on Redstoner.com")
+ end
end
end