From 9613c3238c2142b5ee09e0039e0d9c13686ae741 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 16 Jan 2018 03:29:11 +0100 Subject: [PATCH] HTML e-mails for UserMailer (#6256) - premailer gem to turn CSS into inline styles automatically - rework UserMailer templates - reword UserMailer templates --- Gemfile | 1 + Gemfile.lock | 10 + app/helpers/mailer_helper.rb | 4 + app/javascript/images/icon_email.svg | 4 + app/javascript/images/icon_lock_open.svg | 4 + app/javascript/images/logo_transparent.svg | 1 + app/javascript/packs/mailer.js | 1 + app/javascript/styles/mailer.scss | 392 ++++++++++++++++++ app/mailers/admin_mailer.rb | 4 +- app/mailers/application_mailer.rb | 2 + app/mailers/notification_mailer.rb | 4 +- app/views/layouts/mailer.html.haml | 55 +++ app/views/layouts/plain_mailer.html.haml | 1 + .../confirmation_instructions.ar.html.erb | 12 - .../confirmation_instructions.ca.html.erb | 12 - .../confirmation_instructions.en.html.erb | 15 - .../confirmation_instructions.es.html.erb | 12 - .../confirmation_instructions.fa.html.erb | 12 - .../confirmation_instructions.fi.html.erb | 5 - .../confirmation_instructions.fr.html.erb | 14 - .../confirmation_instructions.he.html.erb | 14 - .../confirmation_instructions.html.haml | 76 ++++ .../confirmation_instructions.id.html.erb | 12 - .../confirmation_instructions.it.html.erb | 12 - .../confirmation_instructions.ja.html.erb | 11 - .../confirmation_instructions.ko.html.erb | 13 - .../confirmation_instructions.nl.html.erb | 12 - .../confirmation_instructions.no.html.erb | 12 - .../confirmation_instructions.oc.html.erb | 14 - .../confirmation_instructions.pl.html.erb | 12 - .../confirmation_instructions.pt-BR.html.erb | 12 - .../confirmation_instructions.ru.html.erb | 12 - ...confirmation_instructions.sr-Latn.html.erb | 15 - .../confirmation_instructions.sr.html.erb | 15 - .../confirmation_instructions.sv.html.erb | 15 - .../confirmation_instructions.tr.html.erb | 15 - .../confirmation_instructions.zh-cn.html.erb | 13 - .../user_mailer/email_changed.en.html.erb | 15 - app/views/user_mailer/email_changed.html.haml | 58 +++ .../user_mailer/email_changed.ja.html.erb | 13 - .../user_mailer/email_changed.oc.html.erb | 15 - .../user_mailer/email_changed.pl.html.erb | 15 - .../user_mailer/email_changed.zh-cn.html.erb | 13 - .../user_mailer/password_change.ar.html.erb | 3 - .../user_mailer/password_change.ca.html.erb | 3 - .../user_mailer/password_change.en.html.erb | 3 - .../user_mailer/password_change.es.html.erb | 3 - .../user_mailer/password_change.fa.html.erb | 3 - .../user_mailer/password_change.fi.html.erb | 3 - .../user_mailer/password_change.fr.html.erb | 3 - .../user_mailer/password_change.he.html.erb | 4 - .../user_mailer/password_change.html.haml | 40 ++ .../user_mailer/password_change.id.html.erb | 3 - .../user_mailer/password_change.it.html.erb | 3 - .../user_mailer/password_change.ja.html.erb | 3 - .../user_mailer/password_change.nl.html.erb | 3 - .../user_mailer/password_change.no.html.erb | 3 - .../user_mailer/password_change.oc.html.erb | 3 - .../user_mailer/password_change.pl.html.erb | 3 - .../password_change.pt-BR.html.erb | 3 - .../user_mailer/password_change.ru.html.erb | 3 - .../password_change.sr-Latn.html.erb | 3 - .../user_mailer/password_change.sr.html.erb | 3 - .../user_mailer/password_change.sv.html.erb | 3 - .../user_mailer/password_change.th.html.erb | 3 - .../user_mailer/password_change.tr.html.erb | 8 - .../password_change.zh-cn.html.erb | 3 - .../reconfirmation_instructions.en.html.erb | 15 - .../reconfirmation_instructions.html.haml | 60 +++ .../reconfirmation_instructions.ja.html.erb | 13 - .../reconfirmation_instructions.oc.html.erb | 15 - .../reconfirmation_instructions.pl.html.erb | 15 - ...reconfirmation_instructions.zh-cn.html.erb | 13 - .../reset_password_instructions.ar.html.erb | 8 - .../reset_password_instructions.ca.html.erb | 8 - .../reset_password_instructions.en.html.erb | 8 - .../reset_password_instructions.es.html.erb | 8 - .../reset_password_instructions.fa.html.erb | 8 - .../reset_password_instructions.fi.html.erb | 8 - .../reset_password_instructions.fr.html.erb | 8 - .../reset_password_instructions.he.html.erb | 10 - .../reset_password_instructions.html.haml | 60 +++ .../reset_password_instructions.id.html.erb | 8 - .../reset_password_instructions.it.html.erb | 8 - .../reset_password_instructions.ja.html.erb | 8 - .../reset_password_instructions.nl.html.erb | 9 - .../reset_password_instructions.no.html.erb | 9 - .../reset_password_instructions.oc.html.erb | 8 - .../reset_password_instructions.pl.html.erb | 9 - ...reset_password_instructions.pt-BR.html.erb | 8 - .../reset_password_instructions.ru.html.erb | 8 - ...set_password_instructions.sr-Latn.html.erb | 8 - .../reset_password_instructions.sr.html.erb | 8 - .../reset_password_instructions.sv.html.erb | 8 - .../reset_password_instructions.th.html.erb | 8 - .../reset_password_instructions.tr.html.erb | 14 - ...reset_password_instructions.zh-cn.html.erb | 8 - config/initializers/assets.rb | 2 +- config/initializers/premailer_rails.rb | 6 + config/locales/devise.en.yml | 17 + config/locales/en.yml | 1 + lib/mastodon/premailer_webpack_strategy.rb | 15 + .../previews/notification_mailer_preview.rb | 1 + spec/mailers/previews/user_mailer_preview.rb | 32 ++ 104 files changed, 848 insertions(+), 706 deletions(-) create mode 100644 app/helpers/mailer_helper.rb create mode 100644 app/javascript/images/icon_email.svg create mode 100644 app/javascript/images/icon_lock_open.svg create mode 100644 app/javascript/images/logo_transparent.svg create mode 100644 app/javascript/packs/mailer.js create mode 100644 app/javascript/styles/mailer.scss create mode 100644 app/views/layouts/mailer.html.haml create mode 100644 app/views/layouts/plain_mailer.html.haml delete mode 100644 app/views/user_mailer/confirmation_instructions.ar.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.ca.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.en.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.es.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.fa.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.fi.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.fr.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.he.html.erb create mode 100644 app/views/user_mailer/confirmation_instructions.html.haml delete mode 100644 app/views/user_mailer/confirmation_instructions.id.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.it.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.ja.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.ko.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.nl.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.no.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.oc.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.pl.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.pt-BR.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.ru.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.sr-Latn.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.sr.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.sv.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.tr.html.erb delete mode 100644 app/views/user_mailer/confirmation_instructions.zh-cn.html.erb delete mode 100644 app/views/user_mailer/email_changed.en.html.erb create mode 100644 app/views/user_mailer/email_changed.html.haml delete mode 100644 app/views/user_mailer/email_changed.ja.html.erb delete mode 100644 app/views/user_mailer/email_changed.oc.html.erb delete mode 100644 app/views/user_mailer/email_changed.pl.html.erb delete mode 100644 app/views/user_mailer/email_changed.zh-cn.html.erb delete mode 100644 app/views/user_mailer/password_change.ar.html.erb delete mode 100644 app/views/user_mailer/password_change.ca.html.erb delete mode 100644 app/views/user_mailer/password_change.en.html.erb delete mode 100644 app/views/user_mailer/password_change.es.html.erb delete mode 100644 app/views/user_mailer/password_change.fa.html.erb delete mode 100644 app/views/user_mailer/password_change.fi.html.erb delete mode 100644 app/views/user_mailer/password_change.fr.html.erb delete mode 100644 app/views/user_mailer/password_change.he.html.erb create mode 100644 app/views/user_mailer/password_change.html.haml delete mode 100644 app/views/user_mailer/password_change.id.html.erb delete mode 100644 app/views/user_mailer/password_change.it.html.erb delete mode 100644 app/views/user_mailer/password_change.ja.html.erb delete mode 100644 app/views/user_mailer/password_change.nl.html.erb delete mode 100644 app/views/user_mailer/password_change.no.html.erb delete mode 100644 app/views/user_mailer/password_change.oc.html.erb delete mode 100644 app/views/user_mailer/password_change.pl.html.erb delete mode 100644 app/views/user_mailer/password_change.pt-BR.html.erb delete mode 100644 app/views/user_mailer/password_change.ru.html.erb delete mode 100644 app/views/user_mailer/password_change.sr-Latn.html.erb delete mode 100644 app/views/user_mailer/password_change.sr.html.erb delete mode 100644 app/views/user_mailer/password_change.sv.html.erb delete mode 100644 app/views/user_mailer/password_change.th.html.erb delete mode 100644 app/views/user_mailer/password_change.tr.html.erb delete mode 100644 app/views/user_mailer/password_change.zh-cn.html.erb delete mode 100644 app/views/user_mailer/reconfirmation_instructions.en.html.erb create mode 100644 app/views/user_mailer/reconfirmation_instructions.html.haml delete mode 100644 app/views/user_mailer/reconfirmation_instructions.ja.html.erb delete mode 100644 app/views/user_mailer/reconfirmation_instructions.oc.html.erb delete mode 100644 app/views/user_mailer/reconfirmation_instructions.pl.html.erb delete mode 100644 app/views/user_mailer/reconfirmation_instructions.zh-cn.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.ar.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.ca.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.en.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.es.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.fa.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.fi.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.fr.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.he.html.erb create mode 100644 app/views/user_mailer/reset_password_instructions.html.haml delete mode 100644 app/views/user_mailer/reset_password_instructions.id.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.it.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.ja.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.nl.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.no.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.oc.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.pl.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.pt-BR.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.ru.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.sr-Latn.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.sr.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.sv.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.th.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.tr.html.erb delete mode 100644 app/views/user_mailer/reset_password_instructions.zh-cn.html.erb create mode 100644 config/initializers/premailer_rails.rb create mode 100644 lib/mastodon/premailer_webpack_strategy.rb create mode 100644 spec/mailers/previews/user_mailer_preview.rb diff --git a/Gemfile b/Gemfile index a5bf2daffb..84578fc36d 100644 --- a/Gemfile +++ b/Gemfile @@ -49,6 +49,7 @@ gem 'oj', '~> 3.3' gem 'ostatus2', '~> 2.0' gem 'ox', '~> 2.8' gem 'pundit', '~> 1.1' +gem 'premailer-rails' gem 'rack-attack', '~> 5.0' gem 'rack-cors', '~> 0.4', require: 'rack/cors' gem 'rack-timeout', '~> 0.4' diff --git a/Gemfile.lock b/Gemfile.lock index f3887b2b8a..12c6d0e475 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -122,6 +122,8 @@ GEM crack (0.4.3) safe_yaml (~> 1.0.0) crass (1.0.3) + css_parser (1.6.0) + addressable debug_inspector (0.0.3) devise (4.3.0) bcrypt (~> 3.0) @@ -324,6 +326,13 @@ GEM activerecord pkg-config (1.2.8) powerpack (0.1.1) + premailer (1.11.1) + addressable + css_parser (>= 1.6.0) + htmlentities (>= 4.0.0) + premailer-rails (1.10.1) + actionmailer (>= 3, < 6) + premailer (~> 1.7, >= 1.7.9) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) @@ -600,6 +609,7 @@ DEPENDENCIES pg (~> 0.20) pghero (~> 1.7) pkg-config (~> 1.2) + premailer-rails pry-rails (~> 0.3) puma (~> 3.10) pundit (~> 1.1) diff --git a/app/helpers/mailer_helper.rb b/app/helpers/mailer_helper.rb new file mode 100644 index 0000000000..b7e3a8da38 --- /dev/null +++ b/app/helpers/mailer_helper.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +module MailerHelper +end diff --git a/app/javascript/images/icon_email.svg b/app/javascript/images/icon_email.svg new file mode 100644 index 0000000000..6d0ad9d9ba --- /dev/null +++ b/app/javascript/images/icon_email.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/javascript/images/icon_lock_open.svg b/app/javascript/images/icon_lock_open.svg new file mode 100644 index 0000000000..3288b46d67 --- /dev/null +++ b/app/javascript/images/icon_lock_open.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/javascript/images/logo_transparent.svg b/app/javascript/images/logo_transparent.svg new file mode 100644 index 0000000000..abd6d1f67d --- /dev/null +++ b/app/javascript/images/logo_transparent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/packs/mailer.js b/app/javascript/packs/mailer.js new file mode 100644 index 0000000000..732fc16981 --- /dev/null +++ b/app/javascript/packs/mailer.js @@ -0,0 +1 @@ +require('../styles/mailer.scss'); diff --git a/app/javascript/styles/mailer.scss b/app/javascript/styles/mailer.scss new file mode 100644 index 0000000000..2fd3f26610 --- /dev/null +++ b/app/javascript/styles/mailer.scss @@ -0,0 +1,392 @@ +@import 'mastodon/variables'; +@import 'fonts/roboto'; + +table, +td, +div { + box-sizing: border-box; +} + +html, +body { + width: 100% !important; + min-width: 100%; + margin: 0; + padding: 0; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +.email_body { + td, + div, + a, + span { + line-height: inherit; + } +} + +a { + &, + &:visited, + span { + text-decoration: none; + color: $ui-highlight-color; + } + + #outlook & { + padding: 0; + } +} + +img { + outline: none; + border: 0; + text-decoration: none; + -ms-interpolation-mode: bicubic; + clear: both; + line-height: 100%; +} + +table { + border-spacing: 0; + mso-table-lspace: 0; + mso-table-rspace: 0; +} + +td { + vertical-align: top; +} + +.email-table, +.content-section, +.column, +.column-cell { + width: 100%; + min-width: 100%; +} + +.email-body { + font-size: 0 !important; + line-height: 100%; + text-align: center; + padding-left: 16px; + padding-right: 16px; +} + +.email-start { + padding-top: 32px; +} + +.email-end { + padding-bottom: 32px; +} + +.email-body, +html, +body { + background-color: lighten($ui-base-color, 4%); +} + +.email-container, +.email-row, +.col-0, +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, { + font-size: 0; + display: inline-block; + width: 100%; + min-width: 100%; + min-width: 0 !important; + vertical-align: top; +} + +.content-cell { + width: 100%; + min-width: 100%; + min-width: 0 !important; +} + +.column-cell { + padding-top: 16px; + padding-bottom: 16px; + vertical-align: top; + + &.button-cell { + padding-top: 0; + } +} + +.email-container { + max-width: 632px; + margin: 0 auto; + text-align: center; +} + +.email-row { + display: block; + max-width: 600px !important; + margin: 0 auto; + text-align: center; + clear: both; +} + +.col-0 { + max-width: 50px; +} + +.col-1 { + max-width: 100px; +} + +.col-2 { + max-width: 200px; +} + +.col-3 { + max-width: 300px; +} + +.col-4 { + max-width: 400px; +} + +.col-5 { + max-width: 500px; +} + +.col-6 { + max-width: 600px; +} + +.column-cell, +.column-cell td, +p { + font-family: Helvetica, Arial, sans-serif; + + @media only screen { + font-family: 'mastodon-font-sans-serif', sans-serif !important; + } +} + +.email-body .column-cell, +.column-cell, +p { + font-size: 15px; + line-height: 23px; + color: $ui-primary-color; + mso-line-height-rule: exactly; + text-rendering: optimizelegibility; +} + +p { + display: block; + margin-top: 0; + margin-bottom: 16px; + + &.small { + font-size: 13px; + } + + &.lead { + font-size: 19px; + line-height: 27px; + } +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: $ui-secondary-color; + margin-left: 0; + margin-right: 0; + margin-top: 20px; + margin-bottom: 8px; + padding: 0; + font-weight: 500; +} + +h1 { + font-size: 26px; + line-height: 36px; +} + +h2 { + font-size: 23px; + line-height: 30px; +} + +h3 { + font-size: 19px; + line-height: 25px; +} + +.input { + td { + background: darken($ui-base-color, 8%); + border-radius: 4px; + padding: 16px; + line-height: 20px; + mso-line-height-rule: exactly; + border-radius: 4px; + text-align: center; + font-weight: 500; + font-size: 17px; + } +} + +.content-cell, +.blank-cell { + width: 100%; + font-size: 0; + text-align: center; + vertical-align: top; + padding-left: 16px; + padding-right: 16px; +} + +.content-cell { + background-color: darken($ui-base-color, 4%); +} + +.hero { + background-color: $ui-base-color; + padding-top: 20px; +} + +.header { + border-radius: 5px 5px 0 0; + background-color: darken($ui-base-color, 8%); + + .column-cell { + text-align: center; + padding-top: 20px; + padding-bottom: 8px; + } +} + +.content-start { + padding-top: 32px; +} + +.content-end { + border-radius: 0 0 5px 5px; + padding-top: 16px; +} + +.footer { + .column-cell, + p { + color: lighten($ui-base-color, 26%); + } + + p { + margin-bottom: 0; + font-size: 13px; + + &.small { + margin-bottom: 0; + } + } + + a { + color: lighten($ui-base-color, 26%); + text-decoration: underline; + } + + img { + opacity: 0.3; + } +} + +.logo { + position: relative; + left: -4px; +} + +.button { + display: table; + margin-left: auto; + margin-right: auto; + + td { + line-height: 20px; + mso-line-height-rule: exactly; + border-radius: 4px; + text-align: center; + font-weight: 500; + font-size: 17px; + padding: 0 !important; + + a, + a span { + color: $primary-text-color; + display: block !important; + text-align: center !important; + vertical-align: top !important; + line-height: inherit !important; + } + + a { + padding: 10px 22px !important; + line-height: 26px !important; + font-weight: 500 !important; + } + } +} + +.button-default { + background-color: darken($ui-base-color, 8%); +} + +.button-primary { + background-color: $ui-highlight-color; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.padded { + padding-left: 16px; + padding-right: 16px; +} + +.hero-icon { + width: 64px; + + td { + text-align: center; + vertical-align: middle; + line-height: 100%; + mso-line-height-rule: exactly; + padding: 16px; + border-radius: 80px; + background: $success-green; + } + + img { + max-width: 32px; + width: 32px; + height: 32px; + display: block; + line-height: 100%; + } +} + +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { + body { + min-height: 1024px !important; + } +} diff --git a/app/mailers/admin_mailer.rb b/app/mailers/admin_mailer.rb index fd9223533a..a30468eb8b 100644 --- a/app/mailers/admin_mailer.rb +++ b/app/mailers/admin_mailer.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true class AdminMailer < ApplicationMailer - helper StreamEntriesHelper + layout 'plain_mailer' + + helper :stream_entries def new_report(recipient, report) @report = report diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 95b770ff11..683b60c86d 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -2,7 +2,9 @@ class ApplicationMailer < ActionMailer::Base layout 'mailer' + helper :instance + helper :mailer protected diff --git a/app/mailers/notification_mailer.rb b/app/mailers/notification_mailer.rb index fd2b0649ac..07992102da 100644 --- a/app/mailers/notification_mailer.rb +++ b/app/mailers/notification_mailer.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true class NotificationMailer < ApplicationMailer - helper StreamEntriesHelper + layout 'plain_mailer' + + helper :stream_entries def mention(recipient, notification) @me = recipient diff --git a/app/views/layouts/mailer.html.haml b/app/views/layouts/mailer.html.haml new file mode 100644 index 0000000000..8a7ce43691 --- /dev/null +++ b/app/views/layouts/mailer.html.haml @@ -0,0 +1,55 @@ +!!! +%html{ lang: I18n.locale } + %head + %meta{ 'http-equiv' => 'Content-Type', 'content' => 'text/html; charset=utf-8' }/ + %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1.0, shrink-to-fit=no' } + + %title/ + + = stylesheet_pack_tag 'mailer' + %body + %table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body.email-start + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.header + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell + = link_to root_url do + = image_tag asset_pack_path('logo_full.svg'), height: 34, class: 'logo' + + = yield + + %table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body.email-end + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-end + != "  " + %tr + %td.blank-cell.footer + .email-row + .col-4 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %td.column-cell + %p= t 'about.hosted_on', domain: site_hostname + %p= link_to t('application_mailer.notification_preferences'), settings_notifications_url + .col-2 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %td.column-cell.text-right + = link_to root_url do + = image_tag asset_pack_path('logo_transparent.svg'), height: 24 diff --git a/app/views/layouts/plain_mailer.html.haml b/app/views/layouts/plain_mailer.html.haml new file mode 100644 index 0000000000..0a90f092c5 --- /dev/null +++ b/app/views/layouts/plain_mailer.html.haml @@ -0,0 +1 @@ += yield diff --git a/app/views/user_mailer/confirmation_instructions.ar.html.erb b/app/views/user_mailer/confirmation_instructions.ar.html.erb deleted file mode 100644 index 2b892b2093..0000000000 --- a/app/views/user_mailer/confirmation_instructions.ar.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

مرحبا <%= @resource.email %> !

- -

لقد قمت بإنشاء حساب على <%= @instance %>.

- -

لتأكيد التسجيل يرجى النقر على الرابط التالي :
-<%= link_to 'تأكيد إنشاء الحساب', confirmation_url(@resource, confirmation_token: @token) %> - -

يرجى الإطلاع على <%= link_to 'شروط الإستخدام', terms_url %>.

- -

مع أجمل التحيات،

- -

فريق <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.ca.html.erb b/app/views/user_mailer/confirmation_instructions.ca.html.erb deleted file mode 100644 index 3591e2433b..0000000000 --- a/app/views/user_mailer/confirmation_instructions.ca.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Benvingut <%= @resource.email %> !

- -

Has creat un compte a <%= @instance %>.

- -

Per confirmar la subscripció si us plau fes clic en el següent vincle :
-<%= link_to 'Confirmar el meu compte', confirmation_url(@resource, confirmation_token: @token) %> - -

Si us plau, també fes un cop d'ull als nostres <%= link_to 'termes i condicions', terms_url %>.

- -

Sincerament,

- -

L'equip <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.en.html.erb b/app/views/user_mailer/confirmation_instructions.en.html.erb deleted file mode 100644 index cd0d703774..0000000000 --- a/app/views/user_mailer/confirmation_instructions.en.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Welcome <%= @resource.email %> !

- -

You just created an account on <%= @instance %>.

- -

To confirm your inscription, please click on the following link :
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

- -

If the above link did not work, copy and paste this URL into your address bar:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Please also check out our <%= link_to 'terms and conditions', terms_url %>.

- -

Sincerely,

- -

The <%= @instance %> team

diff --git a/app/views/user_mailer/confirmation_instructions.es.html.erb b/app/views/user_mailer/confirmation_instructions.es.html.erb deleted file mode 100644 index 1d46a12c0d..0000000000 --- a/app/views/user_mailer/confirmation_instructions.es.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

¡Bienvenido, <%= @resource.email %>!

- -

Acabas de crear una cuenta en <%= @instance %>.

- -

Para confirmar tu registro, por favor ingresa al siguiente enlace:
-<%= link_to 'Confirmar mi cuenta', confirmation_url(@resource, confirmation_token: @token) %> - -

También revisa nuestros <%= link_to 'términos y condiciones', terms_url %>.

- -

Sinceramente,

- -

El equipo de <%= @instance %>

\ No newline at end of file diff --git a/app/views/user_mailer/confirmation_instructions.fa.html.erb b/app/views/user_mailer/confirmation_instructions.fa.html.erb deleted file mode 100644 index 3e77e043bd..0000000000 --- a/app/views/user_mailer/confirmation_instructions.fa.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

خوش آمدید <%= @resource.email %> !

- -

شما الان در <%= @instance %> حساب باز کردید.

- -

برای تأیید عضویت، لطفاً روی پیوند زیر کلیک کنید:
-<%= link_to 'تأیید حساب', confirmation_url(@resource, confirmation_token: @token) %> - -

لطفاً همچنین <%= link_to 'شرایط و مقررات استفادهٔ', terms_url %> ما را هم بخوانید.

- -

با احترام,

- -

گردانندگان سرور <%= @instance %>

\ No newline at end of file diff --git a/app/views/user_mailer/confirmation_instructions.fi.html.erb b/app/views/user_mailer/confirmation_instructions.fi.html.erb deleted file mode 100644 index 8b72722da8..0000000000 --- a/app/views/user_mailer/confirmation_instructions.fi.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

Tervetuloa <%= @resource.email %>!

- -

Voit vahvistaa Mastodon tilisi klikkaamalla alla olevaa linkkiä:

- -

<%= link_to 'Varmista tilini', confirmation_url(@resource, confirmation_token: @token) %>

diff --git a/app/views/user_mailer/confirmation_instructions.fr.html.erb b/app/views/user_mailer/confirmation_instructions.fr.html.erb deleted file mode 100644 index fe3f0a0105..0000000000 --- a/app/views/user_mailer/confirmation_instructions.fr.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -

Bonjour <%= @resource.email %> !

- -

Vous venez de vous créer un compte sur <%= @instance %> et nous vous en remercions :)

- -

Pour confirmer votre inscription, merci de cliquer sur le lien suivant :
-<%= link_to 'Confirmer mon compte', confirmation_url(@resource, confirmation_token: @token) %>

- -

Après votre première connexion, vous pourrez accéder à la documentation de l’outil.

- -

Pensez également à jeter un œil à nos <%= link_to 'conditions d\'utilisation', terms_url %>.

- -

Amicalement,

- -

L’équipe <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.he.html.erb b/app/views/user_mailer/confirmation_instructions.he.html.erb deleted file mode 100644 index 7933faa233..0000000000 --- a/app/views/user_mailer/confirmation_instructions.he.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -
-

שלום <%= @resource.email %> !

- -

הרגע יצרת חשבון בקהילה <%= @instance %>.

- -

כדי לוודא את הרשמתך, יש ללחוץ על הקישורית הבאה :
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %> - -

יש לעבור גם על תנאי השימוש <%= link_to 'terms and conditions', terms_url %>.

- -

בתודה מראש,

- -

צוות ניהול <%= @instance %>

-
\ No newline at end of file diff --git a/app/views/user_mailer/confirmation_instructions.html.haml b/app/views/user_mailer/confirmation_instructions.html.haml new file mode 100644 index 0000000000..7a148ec727 --- /dev/null +++ b/app/views/user_mailer/confirmation_instructions.html.haml @@ -0,0 +1,76 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag asset_pack_path('icon_email.svg') + + %h1= t 'devise.mailer.confirmation_instructions.title' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center + %p= t 'devise.mailer.confirmation_instructions.explanation', host: site_hostname + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.button-cell + %table.button{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to confirmation_url(@resource, confirmation_token: @token) do + %span= t 'devise.mailer.confirmation_instructions.action' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center + %p= t 'devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: terms_url diff --git a/app/views/user_mailer/confirmation_instructions.id.html.erb b/app/views/user_mailer/confirmation_instructions.id.html.erb deleted file mode 100644 index 998267d765..0000000000 --- a/app/views/user_mailer/confirmation_instructions.id.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Selamat datang <%= @resource.email %> !

- -

Anda barus saja membuat akun di <%= @instance %>.

- -

Untuk mengkonfirmasi, silakan klik link berikut ini :
-<%= link_to 'Konfirmasikan akun saya', confirmation_url(@resource, confirmation_token: @token) %> - -

Silakan cek juga <%= link_to 'ketentuan layanan', terms_url %> kami.

- -

Hormat kami,

- -

Tim <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.it.html.erb b/app/views/user_mailer/confirmation_instructions.it.html.erb deleted file mode 100644 index 2fa745476f..0000000000 --- a/app/views/user_mailer/confirmation_instructions.it.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Benvenuto <%= @resource.email %> !

- -

Hai appena creato un account su <%= @instance %>.

- -

Per confermare la tua iscrizione, fai clic sul seguente link:
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %> - -

Per piacere leggi anche i nostri <%= link_to 'terms and conditions', terms_url %>.

- -

Sinceramente,

- -

The <%= @instance %> team

diff --git a/app/views/user_mailer/confirmation_instructions.ja.html.erb b/app/views/user_mailer/confirmation_instructions.ja.html.erb deleted file mode 100644 index 1232f94b49..0000000000 --- a/app/views/user_mailer/confirmation_instructions.ja.html.erb +++ /dev/null @@ -1,11 +0,0 @@ -

ようこそ<%= @resource.email %>さん

- -

<%= @instance %>にアカウントが作成されました。

- -

以下のリンクをクリックしてMastodonアカウントのメールアドレスを確認してください。

- -

<%= link_to 'メールアドレスの確認', confirmation_url(@resource, confirmation_token: @token) %>

- -

また、インスタンスの<%= link_to '利用規約', terms_url %>についてもご確認ください。

- -

<%= @instance %> チーム

diff --git a/app/views/user_mailer/confirmation_instructions.ko.html.erb b/app/views/user_mailer/confirmation_instructions.ko.html.erb deleted file mode 100644 index a749cd97b1..0000000000 --- a/app/views/user_mailer/confirmation_instructions.ko.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

안녕하세요 <%= @resource.email %> 님!

- -

<%= @instance %>에 새로 계정을 만들었습니다.

- -

아래 링크를 눌러 회원가입을 완료 하세요:
-<%= link_to '계정 활성화', confirmation_url(@resource, confirmation_token: @token) %>

- -

만약 위의 링크가 작동하지 않는다면 아래 URL을 복사하여 주소창에 붙여넣으세요

-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

<%= link_to '약관', terms_url %>도 확인 바랍니다.

- -

<%= @instance %> 드림

diff --git a/app/views/user_mailer/confirmation_instructions.nl.html.erb b/app/views/user_mailer/confirmation_instructions.nl.html.erb deleted file mode 100644 index d65d08b6ac..0000000000 --- a/app/views/user_mailer/confirmation_instructions.nl.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Welkom <%= @resource.email %> !

- -

Je hebt zojuist een account aangemaakt op <%= @instance %>.

- -

Klik op de volgende link om jouw registratie te bevestigen :
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

- -

Lees ook onze gebruikersvoorwaarden op <%= link_to 'terms and conditions', terms_url %>.

- -

Vriendelijke groet,

- -

De beheerder(s) van <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.no.html.erb b/app/views/user_mailer/confirmation_instructions.no.html.erb deleted file mode 100644 index 366d9a4d3f..0000000000 --- a/app/views/user_mailer/confirmation_instructions.no.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Velkommen <%= @resource.email %> !

- -

Du har akkurat opprettet en konto på <%= @instance %>.

- -

For å bekrefte innskriving i manntallet vennligst trykk på følgende lenke :
-<%= link_to 'Bekreft min bruker', confirmation_url(@resource, confirmation_token: @token) %> - -

Vennligst også les våre <%= link_to 'brukervilkår', terms_url %>.

- -

Med vennlig hilsen,

- -

Gjengen bak <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.oc.html.erb b/app/views/user_mailer/confirmation_instructions.oc.html.erb deleted file mode 100644 index 5657e40d44..0000000000 --- a/app/views/user_mailer/confirmation_instructions.oc.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -

Bonjorn <%= @resource.email %> !

- -

Venètz de vos crear un compte sus <%= @instance %> e vos mercegem :)

- -

Per confirmar vòstra inscripcion, mercés de clicar sul ligam seguent : 
-<%= link_to 'Confirmar mon compte', confirmation_url(@resource, confirmation_token: @token) %>

- -

Aprèp vòstra primièra connexion, poiretz accedir a la documentacion de l’aisina.

- -

Pensatz tanben de gaitar nòstres <%= link_to 'tèrmes e condicions d\'utilizacion', terms_url %>.

- -

Amistosament,

- -

La còla <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.pl.html.erb b/app/views/user_mailer/confirmation_instructions.pl.html.erb deleted file mode 100644 index 2285b5c6e1..0000000000 --- a/app/views/user_mailer/confirmation_instructions.pl.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Witaj, <%= @resource.email %>!

- -

Właśnie utworzyłeś konto na instancji <%= @instance %>.

- -

Aby aktywować konto, odwiedź poniższy link:
-<%= link_to 'Potwierdź rejestrację', confirmation_url(@resource, confirmation_token: @token) %> - -

Pamiętaj przeczytać nasz <%= link_to 'regulamin i zasady użytkowania', terms_url %>.

- -

Z pozdrowieniami,

- -

Zespół <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.pt-BR.html.erb b/app/views/user_mailer/confirmation_instructions.pt-BR.html.erb deleted file mode 100644 index 0be16d994e..0000000000 --- a/app/views/user_mailer/confirmation_instructions.pt-BR.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Boas vindas, <%= @resource.email %>!

- -

Você acabou de criar uma conta na instância <%= @instance %>.

- -

Para confirmar o seu cadastro, por favor clique no link a seguir:
-<%= link_to 'Confirmar cadastro', confirmation_url(@resource, confirmation_token: @token) %> - -

Por favor, leia também os nossos <%= link_to 'termos de serviços', terms_url %>.

- -

Atenciosamente,

- -

A equipe da instância <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.ru.html.erb b/app/views/user_mailer/confirmation_instructions.ru.html.erb deleted file mode 100644 index 2a755460ec..0000000000 --- a/app/views/user_mailer/confirmation_instructions.ru.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -

Добро пожаловать, <%= @resource.email %> !

- -

Вы только что завели аккаунт на <%= @instance %>.

- -

Чтобы подтвердить создание аккаунта, пожалуйста, перейдите по этой ссылке:
-<%= confirmation_url(@resource, confirmation_token: @token) %>

- -

Также просим Вас прочитать об условиях использования аккаунта здесь: <%= terms_url %>

- -

Искренне Ваши,

- -

Команда <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.sr-Latn.html.erb b/app/views/user_mailer/confirmation_instructions.sr-Latn.html.erb deleted file mode 100644 index a160082507..0000000000 --- a/app/views/user_mailer/confirmation_instructions.sr-Latn.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Dobrodošao <%= @resource.email %> !

- -

Upravo ste napravili nalog na instanci <%= @instance %>.

- -

Da potvrdite Vašu registraciju, molimo Vas kliknite na sledeći link:
-<%= link_to 'Potvrdi moj nalog', confirmation_url(@resource, confirmation_token: @token) %>

- -

Ako link iznad ne radi, kopirajte i nalepite ovu adresu u adresnu traku:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Takođe pogledajte i <%= link_to 'pravila i uslove korišćenja', terms_url %>.

- -

S poštovanjem,

- -

<%= @instance %> tim

diff --git a/app/views/user_mailer/confirmation_instructions.sr.html.erb b/app/views/user_mailer/confirmation_instructions.sr.html.erb deleted file mode 100644 index 09203cc9ab..0000000000 --- a/app/views/user_mailer/confirmation_instructions.sr.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Добродошао <%= @resource.email %> !

- -

Управо сте направили налог на инстанци <%= @instance %>.

- -

Да потврдите Вашу регистрацију, молимо Вас кликните на следећи линк:
-<%= link_to 'Потврди мој налог', confirmation_url(@resource, confirmation_token: @token) %>

- -

Ако линк изнад не ради, копирајте и налепите ову адресу у адресну траку:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Такође погледајте и <%= link_to 'правила и услове коришћења', terms_url %>.

- -

С поштовањем,

- -

<%= @instance %> тим

diff --git a/app/views/user_mailer/confirmation_instructions.sv.html.erb b/app/views/user_mailer/confirmation_instructions.sv.html.erb deleted file mode 100644 index e0ad611a71..0000000000 --- a/app/views/user_mailer/confirmation_instructions.sv.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Välkommen <%= @resource.email %> !

- -

Du har precis startat upp ett konto på <%= @instance %>.

- -

För att bekräfta din inskrift, vänligen klicka på följande länk :
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

- -

Om länken ovan inte fungerar, kopiera och klistra in den här webbadressen i adressfältet:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Vänligen kolla även våra <%= link_to 'terms and conditions', terms_url %>.

- -

Vänliga hälsningar,

- -

Teamet på <%= @instance %>

diff --git a/app/views/user_mailer/confirmation_instructions.tr.html.erb b/app/views/user_mailer/confirmation_instructions.tr.html.erb deleted file mode 100644 index 7879f0d29c..0000000000 --- a/app/views/user_mailer/confirmation_instructions.tr.html.erb +++ /dev/null @@ -1,15 +0,0 @@ - -

Aramıza hoşgeldin <%= @resource.email %>

- -

Bu sunucumuzda yeni bir hesap oluşturduğunu görüyoruz: <%= @instance %>.

- -

Siz olduğunuzu teyit edebilmemiz için lütfen aşağıdaki linke tıklaman yeterli:
- -<%= link_to 'Hesabımı doğrula', confirmation_url(@resource, confirmation_token: @token) %> - -

Ayrıca <%= link_to 'kullanım şartları ve koşullarımızı', terms_url %> inceleyebilirsin.

- -

En içten dileklerimizle,

- -

<%= @instance %> ekibi

- diff --git a/app/views/user_mailer/confirmation_instructions.zh-cn.html.erb b/app/views/user_mailer/confirmation_instructions.zh-cn.html.erb deleted file mode 100644 index 8a676498aa..0000000000 --- a/app/views/user_mailer/confirmation_instructions.zh-cn.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

<%= @resource.email %>,你好呀!

- -

你刚刚在 <%= @instance %> 创建了一个帐户呢。

- -

点击下面的链接来完成注册啦:
-<%= link_to '确认帐户', confirmation_url(@resource, confirmation_token: @token) %> - -

上面的链接按不动?把下面的链接复制到地址栏再试试:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

记得读一读我们的<%= link_to '使用条款', terms_url %>哦。

- -

来自 <%= @instance %> 管理团队

diff --git a/app/views/user_mailer/email_changed.en.html.erb b/app/views/user_mailer/email_changed.en.html.erb deleted file mode 100644 index c106800865..0000000000 --- a/app/views/user_mailer/email_changed.en.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Hello <%= @resource.email %>!

- -<% if @resource&.unconfirmed_email? %> -

We're contacting you to notify you that the email you use on <%= @instance %> is being changed to <%= @resource.unconfirmed_email %>.

-<% else %> -

We're contacting you to notify you that the email you use on <%= @instance %> has been changed to <%= @resource.email %>.

-<% end %> - -

- If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the instance admin if you're locked out of your account. -

- -

Sincerely,

- -

The <%= @instance %> team

diff --git a/app/views/user_mailer/email_changed.html.haml b/app/views/user_mailer/email_changed.html.haml new file mode 100644 index 0000000000..e526f3a2c2 --- /dev/null +++ b/app/views/user_mailer/email_changed.html.haml @@ -0,0 +1,58 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag asset_pack_path('icon_email.svg') + + %h1= t 'devise.mailer.email_changed.title' + %p.lead= t 'devise.mailer.email_changed.explanation' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.input-cell + %table.input{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td= @resource.unconfirmed_email + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %p= t 'devise.mailer.email_changed.extra' diff --git a/app/views/user_mailer/email_changed.ja.html.erb b/app/views/user_mailer/email_changed.ja.html.erb deleted file mode 100644 index c66f409c61..0000000000 --- a/app/views/user_mailer/email_changed.ja.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

こんにちは<%= @resource.email %>さん

- -<% if @resource&.unconfirmed_email? %> -

<%= @instance %>で使っているメールアドレスが<%= @resource.unconfirmed_email %>に変更されようとしています。

-<% else %> -

<%= @instance %>で使っているメールアドレスが<%= @resource.email %>に変更されました。

-<% end %> - -

- メールアドレスを変更した覚えがない場合、誰かがあなたのアカウントにアクセスしたおそれがあります。すぐにパスワードを変更するか、アカウントにアクセスできない場合はインスタンスの管理者に連絡してください。 -

- -

<%= @instance %>チームより

diff --git a/app/views/user_mailer/email_changed.oc.html.erb b/app/views/user_mailer/email_changed.oc.html.erb deleted file mode 100644 index 0f4c891dcd..0000000000 --- a/app/views/user_mailer/email_changed.oc.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Bonjorn <%= @resource.email %> !

- -<% if @resource&.unconfirmed_email? %> -

Vos contactem per vos senhalar que l’adreça qu’utilizatz per <%= @instance %> es cambiada per aquesta d’aquí <%= @resource.unconfirmed_email %>.

-<% else %> -

Vos contactem per vos senhalar que l’adreça qu’utilizatz per <%= @instance %> es cambiada per aquesta d’aquí <%= @resource.email %>.

-<% end %> - -

- S’avètz pas demandat aqueste cambiament d’adreça, poiriá arribar que qualqu’un mai aguèsse agut accès a vòstre compte. Mercés de cambiar sulpic vòstre senhal o de contactar vòstre administrator d’instància se l’accès a vòstre compte vos es barrat. -

- -

Amistosament,

- -

La còla <%= @instance %>

diff --git a/app/views/user_mailer/email_changed.pl.html.erb b/app/views/user_mailer/email_changed.pl.html.erb deleted file mode 100644 index 9ed122b0f3..0000000000 --- a/app/views/user_mailer/email_changed.pl.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Witaj, <%= @resource.email %>!

- -<% if @resource&.unconfirmed_email? %> -

Informujemy, że e-mail używany przez Ciebie na <%= @instance %> został zmieniony na <%= @resource.unconfirmed_email %>.

-<% else %> -

Informujemy, że e-mail używany przez Ciebie na <%= @instance %> został zmieniony na <%= @resource.email %>.

-<% end %> - -

- Jeżeli to nie Ty, prawdopodobnie ktoś uzyskał dostęp do Twojego konta. Zalecana jest natychmiastowa zmiana hasła lub skontaktowanie się z administratorem, jeżeli nie masz dostępu do swojego konta. -

- -

Z pozdrowieniami,

- -

Zespół <%= @instance %>

diff --git a/app/views/user_mailer/email_changed.zh-cn.html.erb b/app/views/user_mailer/email_changed.zh-cn.html.erb deleted file mode 100644 index 74b1b61507..0000000000 --- a/app/views/user_mailer/email_changed.zh-cn.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

<%= @resource.email %>,你好呀!

- -<% if @resource&.unconfirmed_email? %> -

我们发送这封邮件是为了提醒你,你在 <%= @instance %> 上使用的电子邮件地址即将变更为 <%= @resource.unconfirmed_email %>。

-<% else %> -

我们发送这封邮件是为了提醒你,你在 <%= @instance %> 上使用的电子邮件地址已经变更为 <%= @resource.unconfirmed_email %>。

-<% end %> - -

- 如果你并没有请求更改你的电子邮件地址,则他人很有可能已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系实例的管理员请求协助。 -

- -

来自 <%= @instance %> 管理团队

diff --git a/app/views/user_mailer/password_change.ar.html.erb b/app/views/user_mailer/password_change.ar.html.erb deleted file mode 100644 index 8e7bd2f08b..0000000000 --- a/app/views/user_mailer/password_change.ar.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

صباح الخير <%= @resource.email %> !

- -

نود أن نخبرك أنه قد تم تعديل كلمة مرور ماستدون الخاصة بك بنجاح.

diff --git a/app/views/user_mailer/password_change.ca.html.erb b/app/views/user_mailer/password_change.ca.html.erb deleted file mode 100644 index e10c21e1c5..0000000000 --- a/app/views/user_mailer/password_change.ca.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hola <%= @resource.email %>!

- -

Aquest correu es per a notificar-te que la teva contrasenya a mastodont.cat ha canviat.

diff --git a/app/views/user_mailer/password_change.en.html.erb b/app/views/user_mailer/password_change.en.html.erb deleted file mode 100644 index 414e05a298..0000000000 --- a/app/views/user_mailer/password_change.en.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hello <%= @resource.email %>!

- -

We're contacting you to notify you that your password on <%= @instance %> has been changed.

diff --git a/app/views/user_mailer/password_change.es.html.erb b/app/views/user_mailer/password_change.es.html.erb deleted file mode 100644 index 0a9eb4c4c5..0000000000 --- a/app/views/user_mailer/password_change.es.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

¡Hola, <%= @resource.email %>!

- -

Te contactamos para notificarte que tu contraseña en <%= @instance %> ha sido modificada.

\ No newline at end of file diff --git a/app/views/user_mailer/password_change.fa.html.erb b/app/views/user_mailer/password_change.fa.html.erb deleted file mode 100644 index 8167ae1606..0000000000 --- a/app/views/user_mailer/password_change.fa.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

سلام <%= @resource.email %>!

- -

این پیغام برای این است که به شما بگوییم رمز شما در ماستدون تغییر کرده است.

diff --git a/app/views/user_mailer/password_change.fi.html.erb b/app/views/user_mailer/password_change.fi.html.erb deleted file mode 100644 index c56b965934..0000000000 --- a/app/views/user_mailer/password_change.fi.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hei <%= @resource.email %>!

- -

Lähetämme tämän viestin ilmoittaaksemme että salasanasi on vaihdettu.

diff --git a/app/views/user_mailer/password_change.fr.html.erb b/app/views/user_mailer/password_change.fr.html.erb deleted file mode 100644 index cb8a261fea..0000000000 --- a/app/views/user_mailer/password_change.fr.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Bonjour <%= @resource.email %> !

- -

Nous vous contactons pour vous informer que votre mot de passe sur Mastodon a bien été modifié.

diff --git a/app/views/user_mailer/password_change.he.html.erb b/app/views/user_mailer/password_change.he.html.erb deleted file mode 100644 index a356edf583..0000000000 --- a/app/views/user_mailer/password_change.he.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -
-

שלום <%= @resource.email %>!

- -

רצינו להודיע לך שסיסמתך במסטודון אצלנו הוחלפה.

diff --git a/app/views/user_mailer/password_change.html.haml b/app/views/user_mailer/password_change.html.haml new file mode 100644 index 0000000000..a0afd59305 --- /dev/null +++ b/app/views/user_mailer/password_change.html.haml @@ -0,0 +1,40 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag asset_pack_path('icon_lock_open.svg') + + %h1= t 'devise.mailer.password_change.title' + %p.lead= t 'devise.mailer.password_change.explanation' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %p= t 'devise.mailer.password_change.extra' diff --git a/app/views/user_mailer/password_change.id.html.erb b/app/views/user_mailer/password_change.id.html.erb deleted file mode 100644 index 469c98c5d9..0000000000 --- a/app/views/user_mailer/password_change.id.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hai <%= @resource.email %>!

- -

Kami menghubungi anda untuk memberitahu bahwa kata sandi anda di Mastodon telah diubah.

diff --git a/app/views/user_mailer/password_change.it.html.erb b/app/views/user_mailer/password_change.it.html.erb deleted file mode 100644 index b4ca997691..0000000000 --- a/app/views/user_mailer/password_change.it.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Ciao <%= @resource.email %>!

- -

Ti stiamo contattando per avvisarti che la tua password su Mastodon è stata cambiata.

diff --git a/app/views/user_mailer/password_change.ja.html.erb b/app/views/user_mailer/password_change.ja.html.erb deleted file mode 100644 index 3aa83f1876..0000000000 --- a/app/views/user_mailer/password_change.ja.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

こんにちは<%= @resource.email %>さん

- -

Mastodonアカウントのパスワードが変更されました。

diff --git a/app/views/user_mailer/password_change.nl.html.erb b/app/views/user_mailer/password_change.nl.html.erb deleted file mode 100644 index 3ffc547cde..0000000000 --- a/app/views/user_mailer/password_change.nl.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hallo <%= @resource.email %>!

- -

Hierbij laten we jou weten dat jouw wachtwoord op Mastodon is veranderd.

diff --git a/app/views/user_mailer/password_change.no.html.erb b/app/views/user_mailer/password_change.no.html.erb deleted file mode 100644 index cd0a28f826..0000000000 --- a/app/views/user_mailer/password_change.no.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hei <%= @resource.email %>!

- -

Ditt Mastodon-passord har blitt endret.

diff --git a/app/views/user_mailer/password_change.oc.html.erb b/app/views/user_mailer/password_change.oc.html.erb deleted file mode 100644 index 094c221a8a..0000000000 --- a/app/views/user_mailer/password_change.oc.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Bonjorn <%= @resource.email %> !

- -

Vos contactem per vos avisar qu’avèm ben cambiat vòstre senhal Mastodon.

diff --git a/app/views/user_mailer/password_change.pl.html.erb b/app/views/user_mailer/password_change.pl.html.erb deleted file mode 100644 index a7cb15a05e..0000000000 --- a/app/views/user_mailer/password_change.pl.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Witaj, <%= @resource.email %>!

- -

Informujemy, że ostatnio zmieniono Twoje hasło na <%= @instance %>.

diff --git a/app/views/user_mailer/password_change.pt-BR.html.erb b/app/views/user_mailer/password_change.pt-BR.html.erb deleted file mode 100644 index a1aaa265e8..0000000000 --- a/app/views/user_mailer/password_change.pt-BR.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Olá, <%= @resource.email %>!

- -

Estamos te contatando para te notificar que a sua senha na instância <%= @instance %> foi modificada.

diff --git a/app/views/user_mailer/password_change.ru.html.erb b/app/views/user_mailer/password_change.ru.html.erb deleted file mode 100644 index 1c98e364e8..0000000000 --- a/app/views/user_mailer/password_change.ru.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Здравствуйте, <%= @resource.email %>!

- -

Мы пишем, чтобы оповестить Вас о смене пароля на Вашем аккаунте Mastodon.

diff --git a/app/views/user_mailer/password_change.sr-Latn.html.erb b/app/views/user_mailer/password_change.sr-Latn.html.erb deleted file mode 100644 index ab4e23bdfe..0000000000 --- a/app/views/user_mailer/password_change.sr-Latn.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Zdravo <%= @resource.email %>!

- -

Želimo samo da Vas obavestimo da je Vaša lozinka na Mastodont instanci <%= @instance %> promenjena.

diff --git a/app/views/user_mailer/password_change.sr.html.erb b/app/views/user_mailer/password_change.sr.html.erb deleted file mode 100644 index 4bb61b74f6..0000000000 --- a/app/views/user_mailer/password_change.sr.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Здраво <%= @resource.email %>!

- -

Желимо само да Вас обавестимо да је Ваша лозинка на Мастодонт инстанци <%= @instance %> промењена.

diff --git a/app/views/user_mailer/password_change.sv.html.erb b/app/views/user_mailer/password_change.sv.html.erb deleted file mode 100644 index f6168c638d..0000000000 --- a/app/views/user_mailer/password_change.sv.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

Hej <%= @resource.email %>!

- -

Vi kontaktar dig för att meddela dig att ditt lösenord på <%= @instance %> har blivit ändrat.

diff --git a/app/views/user_mailer/password_change.th.html.erb b/app/views/user_mailer/password_change.th.html.erb deleted file mode 100644 index 948b1508a9..0000000000 --- a/app/views/user_mailer/password_change.th.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

สวัสดี <%= @resource.email %>!

- -

เราติดต่อเข้ามาเพื่อจะแจ้งให้คุณทราบว่าพาสเวิร์ด Mastodon เปลี่ยนแล้ว

diff --git a/app/views/user_mailer/password_change.tr.html.erb b/app/views/user_mailer/password_change.tr.html.erb deleted file mode 100644 index 40f55c484a..0000000000 --- a/app/views/user_mailer/password_change.tr.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Merhaba <%= @resource.email %>!

- -

<%= @instance %>'deki parolanızın değiştirildiğini hatırlatmak isteriz.

- -

En içten dileklerimizle,

- -

<%= @instance %> ekibi

- diff --git a/app/views/user_mailer/password_change.zh-cn.html.erb b/app/views/user_mailer/password_change.zh-cn.html.erb deleted file mode 100644 index 64e8b6b2ff..0000000000 --- a/app/views/user_mailer/password_change.zh-cn.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= @resource.email %>,你好呀!

- -

提醒一下,你在 <%= @instance %> 上的密码被更改了哦。

diff --git a/app/views/user_mailer/reconfirmation_instructions.en.html.erb b/app/views/user_mailer/reconfirmation_instructions.en.html.erb deleted file mode 100644 index 31866a3c84..0000000000 --- a/app/views/user_mailer/reconfirmation_instructions.en.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Hello <%= @resource.unconfirmed_email %>!

- -

You requested a change to the email address you use on <%= @instance %>.

- -

To confirm your new email, please click on the following link:
-<%= link_to 'Confirm my email address', confirmation_url(@resource, confirmation_token: @token) %>

- -

If the above link did not work, copy and paste this URL into your address bar:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Please also check out our <%= link_to 'terms and conditions', terms_url %>.

- -

Sincerely,

- -

The <%= @instance %> team

diff --git a/app/views/user_mailer/reconfirmation_instructions.html.haml b/app/views/user_mailer/reconfirmation_instructions.html.haml new file mode 100644 index 0000000000..52855e2232 --- /dev/null +++ b/app/views/user_mailer/reconfirmation_instructions.html.haml @@ -0,0 +1,60 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag asset_pack_path('icon_email.svg') + + %h1= t 'devise.mailer.reconfirmation_instructions.title' + %p.lead= t 'devise.mailer.reconfirmation_instructions.explanation' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.button-cell + %table.button{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to confirmation_url(@resource, confirmation_token: @token) do + %span= t 'devise.mailer.confirmation_instructions.action' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %p= t 'devise.mailer.reconfirmation_instructions.extra' diff --git a/app/views/user_mailer/reconfirmation_instructions.ja.html.erb b/app/views/user_mailer/reconfirmation_instructions.ja.html.erb deleted file mode 100644 index caa53032ab..0000000000 --- a/app/views/user_mailer/reconfirmation_instructions.ja.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

こんにちは<%= @resource.unconfirmed_email %>さん

- -

<%= @instance %>で使っているメールアドレスの変更をあなたがリクエストしました。

- -

新しいメールアドレスを確認するには次のリンクをクリックしてください:
-<%= link_to 'わたしのメールアドレスを確認する', confirmation_url(@resource, confirmation_token: @token) %>

- -

上記のリンクがうまくいかなかった場合はこのURLをコピーしてアドレスバーに貼り付けてください:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

また<%= link_to '利用規約', terms_url %>もご確認ください。

- -

<%= @instance %>チームより

diff --git a/app/views/user_mailer/reconfirmation_instructions.oc.html.erb b/app/views/user_mailer/reconfirmation_instructions.oc.html.erb deleted file mode 100644 index d5404e49c6..0000000000 --- a/app/views/user_mailer/reconfirmation_instructions.oc.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Bonjorn <%= @resource.unconfirmed_email %> !

- -

Avètz demandat a cambiar vòstra adreça de corrièl qu’utilizatz per <%= @instance %>.

- -

Per confirmar vòstra novèla adreça, mercés de clicar lo ligam seguent :
-<%= link_to 'Confirmar mon adreça', confirmation_url(@resource, confirmation_token: @token) %>

- -

Se lo ligam al dessús fonciona pas, copiatz e pegatz aquesta URL a la barra d’adreça :
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Mercés de gaitar tanben nòstres <%= link_to 'terms and conditions', terms_url %>.

- -

Amistosament,

- -

La còla <%= @instance %>

diff --git a/app/views/user_mailer/reconfirmation_instructions.pl.html.erb b/app/views/user_mailer/reconfirmation_instructions.pl.html.erb deleted file mode 100644 index 57cdc42e1b..0000000000 --- a/app/views/user_mailer/reconfirmation_instructions.pl.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -

Witaj, <%= @resource.unconfirmed_email %>!

- -

Dokonano próby zmiany adresu e-mail, którego używasz na <%= @instance %>.

- -

Aby potwierdzić posiadanie tego adresu e-mail, kliknij na poniższy odnośnik:
-<%= link_to 'Potwierdź mój adres e-mail', confirmation_url(@resource, confirmation_token: @token) %>

- -

Jeżeli ten odnośnik nie działa, wklej następujący adres w pasek adresu Twojej przeglądarki:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

Pamiętaj o przeczytaniu naszych <%= link_to 'zasad użytkowania', terms_url %>.

- -

Z pozdrowieniami,

- -

Zespół <%= @instance %>

diff --git a/app/views/user_mailer/reconfirmation_instructions.zh-cn.html.erb b/app/views/user_mailer/reconfirmation_instructions.zh-cn.html.erb deleted file mode 100644 index 7b79a490e5..0000000000 --- a/app/views/user_mailer/reconfirmation_instructions.zh-cn.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

<%= @resource.email %>,你好呀!

- -

你正在更改你在 <%= @instance %> 使用的电子邮件地址。

- -

点击下面的链接以确认操作:
-<%= link_to '确认我的电子邮件地址', confirmation_url(@resource, confirmation_token: @token) %>

- -

上面的链接按不动?把下面的链接复制到地址栏再试试:
-<%= confirmation_url(@resource, confirmation_token: @token) %> - -

记得读一读我们的<%= link_to '使用条款', terms_url %>哦。

- -

来自 <%= @instance %> 管理团队

diff --git a/app/views/user_mailer/reset_password_instructions.ar.html.erb b/app/views/user_mailer/reset_password_instructions.ar.html.erb deleted file mode 100644 index d9d5520ec1..0000000000 --- a/app/views/user_mailer/reset_password_instructions.ar.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

صباح الخير <%= @resource.email %> !

- -

لقد طلب أحدهم رابط تعديل كلمة مرور ماستدون الخاصة بك. يمكنك المتابعة و مواصلة التعديل على الرابط التالي.

- -

<%= link_to 'تعديل الكلمة السرية', edit_password_url(@resource, reset_password_token: @token) %>

- -

يمكنك تجاهل هذه الرسالة إن لم تكن من طلب ذلك.

-

لن يتم تعديل كلمة المرور الخاصة بك و ستبقى نفسها إلا إذا قمت بالضغط على الرابط أعلاه.

diff --git a/app/views/user_mailer/reset_password_instructions.ca.html.erb b/app/views/user_mailer/reset_password_instructions.ca.html.erb deleted file mode 100644 index 6f76c441d0..0000000000 --- a/app/views/user_mailer/reset_password_instructions.ca.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hola <%= @resource.email %>!

- -

Algú ha sol·licitat un enllaç per canviar la contrasenya a mastodont.cat. Això es pot fer a través del següent enllaç.

- -

<%= link_to 'Canviar la contrasenya', edit_password_url(@resource, reset_password_token: @token) %>

- -

Si no has sol·licitat aquest canvi, si us plau, ignora aquest correu.

-

La teva contrasenya no canviarà fins que accedeix a l'enllaç de dalt per crear-ne una de nova.

diff --git a/app/views/user_mailer/reset_password_instructions.en.html.erb b/app/views/user_mailer/reset_password_instructions.en.html.erb deleted file mode 100644 index cfb129e224..0000000000 --- a/app/views/user_mailer/reset_password_instructions.en.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hello <%= @resource.email %>!

- -

Someone has requested a link to change your password on <%= @instance %>. You can do this through the link below.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

If you didn't request this, please ignore this email.

-

Your password won't change until you access the link above and create a new one.

diff --git a/app/views/user_mailer/reset_password_instructions.es.html.erb b/app/views/user_mailer/reset_password_instructions.es.html.erb deleted file mode 100644 index 4eeb6601db..0000000000 --- a/app/views/user_mailer/reset_password_instructions.es.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

¡Hola, <%= @resource.email %>!

- -

Alguien pidió un enlace para cambiar tu contraseña en <%= @instance %>. Puedes hacer esto con el siguiente enlace.

- -

<%= link_to 'Cambiar mi contraseña', edit_password_url(@resource, reset_password_token: @token) %>

- -

Si no fuiste tú, por favor ignora este mensaje.

-

Tu contraseña no cambiará hasta que ingreses al enlace y crees una nueva.

diff --git a/app/views/user_mailer/reset_password_instructions.fa.html.erb b/app/views/user_mailer/reset_password_instructions.fa.html.erb deleted file mode 100644 index 835e813110..0000000000 --- a/app/views/user_mailer/reset_password_instructions.fa.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

سلام <%= @resource.email %>!

- -

یک نفر درخواست کرده تا رمز شما در ماستدون عوض شود. برای این کار پیوند زیر را به‌کار ببرید.

- -

<%= link_to 'تغییر رمز', edit_password_url(@resource, reset_password_token: @token) %>

- -

اگر شما چنین درخواستی نداده‌اید، لطفاً این ایمیل را نادیده بگیرید.

-

تا وقتی که شما پیوند بالا را نبینید و رمز تازه‌ای نسازید، رمز شما عوض نخواهد شد.

diff --git a/app/views/user_mailer/reset_password_instructions.fi.html.erb b/app/views/user_mailer/reset_password_instructions.fi.html.erb deleted file mode 100644 index 53be0b62bc..0000000000 --- a/app/views/user_mailer/reset_password_instructions.fi.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hei <%= @resource.email %>!

- -

Joku on pyytänyt salasanvaihto Mastodonissa. Voit tehdä sen allaolevassa linkissä.

- -

<%= link_to 'Vaihda salasanani', edit_password_url(@resource, reset_password_token: @token) %>

- -

Jos et pyytänyt vaihtoa, poista tämä viesti.

-

Salasanaasi ei vaihdeta ennen kuin menet ylläolevaan linkkiin ja luot uuden.

diff --git a/app/views/user_mailer/reset_password_instructions.fr.html.erb b/app/views/user_mailer/reset_password_instructions.fr.html.erb deleted file mode 100644 index db55c58848..0000000000 --- a/app/views/user_mailer/reset_password_instructions.fr.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Bonjour <%= @resource.email %> !

- -

Quelqu’un a demandé à réinitialiser votre mot de passe sur Mastodon. Vous pouvez effectuer la réinitialisation en cliquant sur le lien ci-dessous.

- -

<%= link_to 'Modifier mon mot de passe', edit_password_url(@resource, reset_password_token: @token) %>

- -

Si vous n’êtes pas à l’origine de cette demande, vous pouvez ignorer ce message.

-

Votre mot de passe ne sera pas modifié tant que vous n’accéderez pas au lien ci-dessus et n’en choisirez pas un nouveau.

diff --git a/app/views/user_mailer/reset_password_instructions.he.html.erb b/app/views/user_mailer/reset_password_instructions.he.html.erb deleted file mode 100644 index 5d09308398..0000000000 --- a/app/views/user_mailer/reset_password_instructions.he.html.erb +++ /dev/null @@ -1,10 +0,0 @@ -
-

שלום <%= @resource.email %>!

- -

מישהו ביקש לינק להחלפת סיסמתך במסטודון. באפשרותך לעשות זאת ע"י בלחיצה על הקישורית שבהמשך.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

אם בקשה זו לא הגיעה ממך, אפשר להתעלם מההודעה.

-

סיסמתך לא תוחלף לפני שהקישורית תיפתח בדפדפן וסיסמא חדשה תוכנס.

-
\ No newline at end of file diff --git a/app/views/user_mailer/reset_password_instructions.html.haml b/app/views/user_mailer/reset_password_instructions.html.haml new file mode 100644 index 0000000000..c6a9d4bf6e --- /dev/null +++ b/app/views/user_mailer/reset_password_instructions.html.haml @@ -0,0 +1,60 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag asset_pack_path('icon_lock_open.svg') + + %h1= t 'devise.mailer.reset_password_instructions.title' + %p.lead= t 'devise.mailer.reset_password_instructions.explanation' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.button-cell + %table.button{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to edit_password_url(@resource, reset_password_token: @token) do + %span= t 'devise.mailer.reset_password_instructions.action' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %p= t 'devise.mailer.reset_password_instructions.extra' diff --git a/app/views/user_mailer/reset_password_instructions.id.html.erb b/app/views/user_mailer/reset_password_instructions.id.html.erb deleted file mode 100644 index f07e175ae4..0000000000 --- a/app/views/user_mailer/reset_password_instructions.id.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hai <%= @resource.email %>!

- -

Seseorang telah melakukan permintaan link untuk merubah kata sandi anda di Mastodon. Anda bisa melakukan ini melalui link dibawah ini.

- -

<%= link_to 'Ubah kata sandi saya', edit_password_url(@resource, reset_password_token: @token) %>

- -

Jika anda tidak memintanya, mohon abaikan email ini.

-

Password anda tidak akan diubah kecuali anda mengakses link di atas dan menggantinya.

diff --git a/app/views/user_mailer/reset_password_instructions.it.html.erb b/app/views/user_mailer/reset_password_instructions.it.html.erb deleted file mode 100644 index cc411dad3b..0000000000 --- a/app/views/user_mailer/reset_password_instructions.it.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Ciao <%= @resource.email %>!

- -

Qualcuno ha richiesto un link per cambiare la tua password su Mastodon. Lo puoi fare tramite il link qui sotto.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

Se non l'hai richiesto tu, ignora questa email.

-

La tua password non verrà cambiata finché non accedi al link qui sopra e ne crei una nuova.

diff --git a/app/views/user_mailer/reset_password_instructions.ja.html.erb b/app/views/user_mailer/reset_password_instructions.ja.html.erb deleted file mode 100644 index d0d7203f4c..0000000000 --- a/app/views/user_mailer/reset_password_instructions.ja.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

こんにちは<%= @resource.email %>さん

- -

Mastodonアカウントのパスワードの変更がリクエストされました。以下のリンクをクリックして操作を完了できます。

- -

<%= link_to 'パスワードを変更', edit_password_url(@resource, reset_password_token: @token) %>

- -

このメールに身に覚えのない場合は無視してください。

-

上記のリンクにアクセスし、変更をしない限りパスワードは変更されません。

diff --git a/app/views/user_mailer/reset_password_instructions.nl.html.erb b/app/views/user_mailer/reset_password_instructions.nl.html.erb deleted file mode 100644 index ca1748145c..0000000000 --- a/app/views/user_mailer/reset_password_instructions.nl.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -

Hallo <%= @resource.email %>!

- -

Er heeft iemand een nieuw wachtwoord aangevraagd voor Mastodon. Je kan op de link hieronder klikken om jouw wach -twoord te veranderen.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

Je kan deze e-mail negeren wanneer jij dit niet hebt aangevraagd.

-

Jouw wachtwoord blijft onveranderd wanneer je niet op bovenstaande link klikt.

diff --git a/app/views/user_mailer/reset_password_instructions.no.html.erb b/app/views/user_mailer/reset_password_instructions.no.html.erb deleted file mode 100644 index 398e95e4e3..0000000000 --- a/app/views/user_mailer/reset_password_instructions.no.html.erb +++ /dev/null @@ -1,9 +0,0 @@ - -

Hei <%= @resource.email %>!

- -

Noen har forespurt en lenke til å bytte passord på din Mastodon-bruker. Du kan gjøre det ved å følge lenken under.

- -

<%= link_to 'Endre mitt passord', edit_password_url(@resource, reset_password_token: @token) %>

- -

Hvis du ikke vil endre ditt passord kan du ignorere denne epost.

-

Passordet ditt blir ikke endret før du følger lenken over og endrer det.

diff --git a/app/views/user_mailer/reset_password_instructions.oc.html.erb b/app/views/user_mailer/reset_password_instructions.oc.html.erb deleted file mode 100644 index 92e4b8f8b7..0000000000 --- a/app/views/user_mailer/reset_password_instructions.oc.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Bonjorn <%= @resource.email %> !

- -

Qualqu’un a demandat la reïnicializacion de vòstre senhal per Mastodon. Podètz realizar la reïnicializacion en clicant sul ligam çai-jos.

- -

<%= link_to 'Modificar mon senhal', edit_password_url(@resource, reset_password_token: @token) %>

- -

S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl.

-

Vòstre senhal cambiarà pas se clicatz pas sul ligam e que ne causissètz pas un novèl.

diff --git a/app/views/user_mailer/reset_password_instructions.pl.html.erb b/app/views/user_mailer/reset_password_instructions.pl.html.erb deleted file mode 100644 index 2a9913a1d5..0000000000 --- a/app/views/user_mailer/reset_password_instructions.pl.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -

Witaj, <%= @resource.email %>!

- -

Ktoś próbował zmienić Twoje hasło na <%= @instance %>. Możesz zrobić to klikając w -poniższy link.

- -

<%= link_to 'Zmień moje hasło', edit_password_url(@resource, reset_password_token: @token) %>

- -

Jeżeli to nie Ty, zignoruj ten e-mail.

-

Twoje hasło nie zostanie zmienione, dopóki nie użyjesz linku z podobnej wiadomości.

diff --git a/app/views/user_mailer/reset_password_instructions.pt-BR.html.erb b/app/views/user_mailer/reset_password_instructions.pt-BR.html.erb deleted file mode 100644 index 9b21aae928..0000000000 --- a/app/views/user_mailer/reset_password_instructions.pt-BR.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Olá, <%= @resource.email %>!

- -

Alguém solicitou um link para mudar a sua senha na instância <%= @instance %>. Você pode fazer isso através do link abaixo:

- -

<%= link_to 'Mudar a minha senha', edit_password_url(@resource, reset_password_token: @token) %>

- -

Se você não solicitou isso, por favor ignore este e-mail.

-

A senha não será modificada até que você acesse o link acima e crie uma nova.

diff --git a/app/views/user_mailer/reset_password_instructions.ru.html.erb b/app/views/user_mailer/reset_password_instructions.ru.html.erb deleted file mode 100644 index a24c9cc6c9..0000000000 --- a/app/views/user_mailer/reset_password_instructions.ru.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Здравствуйте, <%= @resource.email %>!

- -

Кто-то отправил запрос о сбросе пароля для Вашего аккаунта Mastodon. Вы можете использовать для этого следующую ссылку:

- -

<%= edit_password_url(@resource, reset_password_token: @token) %>

- -

Если Вы не запрашивали сброс пароля, пожалуйста, проигнорируйте это сообщение.

-

Ваш пароль не будет изменен, пока вы не проследуете по вышеприведенной ссылке и не создадите новый.

diff --git a/app/views/user_mailer/reset_password_instructions.sr-Latn.html.erb b/app/views/user_mailer/reset_password_instructions.sr-Latn.html.erb deleted file mode 100644 index 7dede16b26..0000000000 --- a/app/views/user_mailer/reset_password_instructions.sr-Latn.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Zdravo <%= @resource.email %>!

- -

Neko je zatražio link za promenu lozinke na instanci <%= @instance %>. Ovo možete uraditi klikom na link ispod.

- -

<%= link_to 'Promeni moju lozinku', edit_password_url(@resource, reset_password_token: @token) %>

- -

Ignorišite ovu poruku, ako niste Vi bili ti koji ste zatražili promenu lozinke.

-

Lozinka se neće promeniti sve dok ne kliknete link iznad i ne napravite novu lozinku.

diff --git a/app/views/user_mailer/reset_password_instructions.sr.html.erb b/app/views/user_mailer/reset_password_instructions.sr.html.erb deleted file mode 100644 index be8d0c3edf..0000000000 --- a/app/views/user_mailer/reset_password_instructions.sr.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Здраво <%= @resource.email %>!

- -

Неко је затражио линк за промену лозинке на инстанци <%= @instance %>. Ово можете урадити кликом на линк испод.

- -

<%= link_to 'Промени моју лозинку', edit_password_url(@resource, reset_password_token: @token) %>

- -

Игноришите ову поруку, ако нисте Ви били ти који сте затражили промену лозинке.

-

Лозинка се неће променити све док не кликнете линк изнад и не направите нову лозинку.

diff --git a/app/views/user_mailer/reset_password_instructions.sv.html.erb b/app/views/user_mailer/reset_password_instructions.sv.html.erb deleted file mode 100644 index f38d2a39f5..0000000000 --- a/app/views/user_mailer/reset_password_instructions.sv.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hej <%= @resource.email %>!

- -

SNågon har begärt en länk för att ändra ditt lösenord på <%= @instance %>. Du kan göra det genom länken nedan.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

Om du inte begärt detta, ignorerar du det här e-postmeddelandet.

-

Ditt lösenord ändras inte förrän du öppnar länken ovan och skapar en ny.

diff --git a/app/views/user_mailer/reset_password_instructions.th.html.erb b/app/views/user_mailer/reset_password_instructions.th.html.erb deleted file mode 100644 index 1fe1c27256..0000000000 --- a/app/views/user_mailer/reset_password_instructions.th.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

สวัสดี <%= @resource.email %>!

- -

มีการแจ้งขอลิงค์เปลี่ยนแปลงพาสเวิร์ดเข้า Mastodon ของคุณ. คุณสามารถแก้ไขพาสเวิร์ดได้ผ่านทางลิงค์ด้านล่างนี้.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

ถ้าคุณไม่ได้เป็นคนขอลิงค์นี้, กรุณาข้ามเมล์นี้ไป.

-

พาร์สเวิร์ดของคุณจะยังไม่ถูกเปลี่ยนจนกว่าคุณจะเข้าไปในลิงค์ด้านบนนี้เพื่อสร้างพาสเวิร์ดใหม่.

diff --git a/app/views/user_mailer/reset_password_instructions.tr.html.erb b/app/views/user_mailer/reset_password_instructions.tr.html.erb deleted file mode 100644 index d19c6c4985..0000000000 --- a/app/views/user_mailer/reset_password_instructions.tr.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -

Merhaba <%= @resource.email %>

- -

Biri <%= @instance %> üzerinden sizin hesabınız için parola değişim isteği gönderdi. Aşağıdaki linke tıklayarak bunu gerçekleştirebilirsiniz.

- -

<%= link_to 'Parolamı değiştir', edit_password_url(@resource, reset_password_token: @token) %>

- -

Eğer bu isteği siz göndermediyseniz, lütfen bu e-postayı görmezden geliniz.

- -

Siz bu linke tıklayıp yeni bir parola girene kadar parolanız değişmeyecektir.

- -

En içten dileklerimizle,

- -

<%= @instance %> ekibi

- diff --git a/app/views/user_mailer/reset_password_instructions.zh-cn.html.erb b/app/views/user_mailer/reset_password_instructions.zh-cn.html.erb deleted file mode 100644 index 124305675c..0000000000 --- a/app/views/user_mailer/reset_password_instructions.zh-cn.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

<%= @resource.email %>,你好呀!

- -

有人想修改你在 <%= @instance %> 上的密码呢。如果你确实想修改密码的话,点击下面的链接吧:

- -

<%= link_to '修改密码', edit_password_url(@resource, reset_password_token: @token) %>

- -

如果你不想修改密码的话,还请忽略这封邮件哦。

-

在你点击上面的链接并修改密码前,你的密码是不会改变的。

diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index f2bf17364d..53b39718da 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -8,6 +8,6 @@ Rails.application.config.assets.version = '1.0' # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. -# Rails.application.config.assets.precompile += %w(application_public.js custom.css) +# Rails.application.config.assets.precompile += %w() Rails.application.config.assets.initialize_on_precompile = true diff --git a/config/initializers/premailer_rails.rb b/config/initializers/premailer_rails.rb new file mode 100644 index 0000000000..31c02dffab --- /dev/null +++ b/config/initializers/premailer_rails.rb @@ -0,0 +1,6 @@ +require_relative '../../lib/mastodon/premailer_webpack_strategy' + +Premailer::Rails.config.merge!(remove_ids: true, + adapter: :nokogiri, + generate_text_part: false, + strategies: [PremailerWebpackStrategy]) diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml index c5ae583ff0..4b3f81edb8 100644 --- a/config/locales/devise.en.yml +++ b/config/locales/devise.en.yml @@ -17,15 +17,32 @@ en: unconfirmed: You have to confirm your email address before continuing. mailer: confirmation_instructions: + action: Verify email address + explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this e-mail. + extra_html: Please also check out our terms of service and privacy policy. subject: 'Mastodon: Confirmation instructions for %{instance}' + title: Verify e-mail address email_changed: + explanation: 'The email address for your account is being changed to:' + extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the instance admin if you're locked out of your account. subject: 'Mastodon: Email changed' + title: New email address password_change: + explanation: The password for your account has been changed. + extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the instance admin if you're locked out of your account. subject: 'Mastodon: Password changed' + title: Password changed reconfirmation_instructions: + explanation: Confirm the new address to change your email. + extra: If this change wasn't initiated by you, please ignore this email. The email address for the Mastodon account won't change until you access the link above. subject: 'Mastodon: Confirm email for %{instance}' + title: Verify email address reset_password_instructions: + action: Change password + explanation: You requested a new password for your account. + extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one. subject: 'Mastodon: Reset password instructions' + title: Password reset unlock_instructions: subject: 'Mastodon: Unlock instructions' omniauth_callbacks: diff --git a/config/locales/en.yml b/config/locales/en.yml index 23dce73e90..93ff88fd8f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -338,6 +338,7 @@ en: body: "%{reporter} has reported %{target}" subject: New report for %{instance} (#%{id}) application_mailer: + notification_preferences: Change e-mail preferences salutation: "%{name}," settings: 'Change e-mail preferences: %{link}' signature: Mastodon notifications from %{instance} diff --git a/lib/mastodon/premailer_webpack_strategy.rb b/lib/mastodon/premailer_webpack_strategy.rb new file mode 100644 index 0000000000..4ea3ce80c7 --- /dev/null +++ b/lib/mastodon/premailer_webpack_strategy.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module PremailerWebpackStrategy + def load(url) + if Webpacker.dev_server.running? + url = File.join("#{Webpacker.dev_server.protocol}://#{Webpacker.dev_server.host_with_port}", url) + HTTP.get(url).to_s + else + url = url[1..-1] if url.start_with?('/') + File.read(Rails.root.join('public', url)) + end + end + + module_function :load +end diff --git a/spec/mailers/previews/notification_mailer_preview.rb b/spec/mailers/previews/notification_mailer_preview.rb index a08a80d175..99495d8621 100644 --- a/spec/mailers/previews/notification_mailer_preview.rb +++ b/spec/mailers/previews/notification_mailer_preview.rb @@ -1,4 +1,5 @@ # Preview all emails at http://localhost:3000/rails/mailers/notification_mailer + class NotificationMailerPreview < ActionMailer::Preview # Preview this email at http://localhost:3000/rails/mailers/notification_mailer/mention def mention diff --git a/spec/mailers/previews/user_mailer_preview.rb b/spec/mailers/previews/user_mailer_preview.rb new file mode 100644 index 0000000000..6ed0090f41 --- /dev/null +++ b/spec/mailers/previews/user_mailer_preview.rb @@ -0,0 +1,32 @@ +# Preview all emails at http://localhost:3000/rails/mailers/user_mailer + +class UserMailerPreview < ActionMailer::Preview + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/confirmation_instructions + def confirmation_instructions + UserMailer.confirmation_instructions(User.first, 'spec') + end + + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/email_changed + def email_changed + user = User.first + user.unconfirmed_email = 'foo@bar.com' + UserMailer.email_changed(user) + end + + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/password_change + def password_change + UserMailer.password_change(User.first) + end + + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/reconfirmation_instructions + def reconfirmation_instructions + user = User.first + user.unconfirmed_email = 'foo@bar.com' + UserMailer.confirmation_instructions(user, 'spec') + end + + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/reset_password_instructions + def reset_password_instructions + UserMailer.reset_password_instructions(User.first, 'spec') + end +end