demarches-normaliennes/lib/tasks/2018_10_09_fix_mailjet_mistakes.rake

95 lines
2.7 KiB
Ruby
Raw Normal View History

2018-10-09 17:36:48 +02:00
namespace :'2018_10_03_fix_mailjet_mistakes' do
task activation_emails: :environment do
activation_file_path = ENV['ACTIVATION']
if File.file?(activation_file_path)
rake_puts "loading #{activation_file_path} file for account activation"
else
rake_puts "no file #{activation_file_path} found"
end
emails = File.new(activation_file_path).readlines.map(&:strip)
emails.each do |email|
user = User.find_by(email: email)
if user.present?
rake_puts "sending activation mail for #{email}"
if user.confirmed?
UserMailer.new_account_warning(user).deliver_later
else
user.resend_confirmation_instructions
end
else
rake_puts "user #{email} does not exist"
end
end
end
task password_emails: :environment do
password_file_path = ENV['PASSWORD']
if File.file?(password_file_path)
rake_puts "loading #{password_file_path} file for changing password"
else
rake_puts "no file #{password_file_path} found"
end
emails = File.new(password_file_path).readlines.map(&:strip)
emails.each do |email|
user = User.find_by(email: email)
if user.present?
rake_puts "sending changing password mail for #{email}"
user.send_reset_password_instructions
else
rake_puts "user #{email} does not exist"
end
end
end
task notification_emails: :environment do
notification_file_path = ENV['NOTIFICATION']
if File.file?(notification_file_path)
rake_puts "loading #{notification_file_path} file for notification"
else
rake_puts "no file #{notification_file_path} found"
end
lines = File.new(notification_file_path).readlines.map(&:strip)
lines.each do |line|
email, *subject = line.split(',')
subject = *subject.join
user = User.find_by(email: email)
body = <<-EOS
Bonjour,
Suite à un incident technique concernant les envois d'emails sur le site demarches-simplifiees.fr, nous n'avons pas pu vous remettre l'email intitulé #{subject}.
Vous pouvez néanmoins le consulter directement dans la messagerie de votre dossier en vous connectant sur https://www.demarches-simplifiees.fr/users/sign_in .
Veuillez nous excuser pour la gêne occasionnée.
Cordialement,
L'équipe de demarches-simplifiees.fr
EOS
if user.present?
rake_puts "sending notification for #{email}"
ActionMailer::Base.mail(
from: "contact@demarches-simplifiees.fr",
to: email,
subject: subject,
body: body
).deliver_later
else
rake_puts "user #{email} does not exist"
end
end
end
end