Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
birger
users
Commits
75b2226a
Commit
75b2226a
authored
Aug 17, 2018
by
o@immerda.ch
Browse files
better ux regarding mail_crypt and tokens
parent
dd4552e2
Changes
12
Hide whitespace changes
Inline
Side-by-side
app/controllers/mail_crypt_controller.rb
View file @
75b2226a
class
MailCryptController
<
ApplicationController
def
update
if
(
p
=
params
[
:pass
]).
present?
def
enable
@keep_recovery_token
=
params
[
:keep_recovery_token
]
if
!
@keep_recovery_token
flash
[
:notice
]
=
:decide_recovery_token
elsif
(
p
=
params
[
:pass
]).
present?
begin
ApiBackend
::
mail_crypt_enable
(
current_user
,
p
)
session
[
:mail_crypt_enabled
]
=
true
flash
[
:notice
]
=
:mail_crypt_enabled
redirect_to
'/mail_crypt_token'
and
return
if
@keep_recovery_token
==
'yes'
redirect_to
'/mail_crypt_token'
and
return
else
create_token
and
return
end
rescue
ApiBackend
::
ApiError
=>
e
if
e
.
api_msg
==
'auth_fail'
flash
[
:notice
]
=
:auth_fail
...
...
@@ -14,6 +21,28 @@ class MailCryptController < ApplicationController
end
end
end
render
'show_enable'
end
def
create_token
begin
res
=
ApiBackend
::
mail_crypt_token
(
current_user
,
params
[
:pass
])
recovery_token
=
res
[
'mail_crypt_recovery_token'
]
begin
@qr
=
RQRCode
::
QRCode
.
new
(
recovery_token
,
:size
=>
12
,
:level
=>
:h
)
rescue
=>
e
@qr
=
''
puts
"qr token generation failed
#{
e
}
"
end
@recovery_token
=
recovery_token
.
gsub
(
/(.{8})/
,
'\1<wbr>'
).
html_safe
rescue
ApiBackend
::
ApiError
=>
e
if
e
.
api_msg
==
'auth_fail'
flash
[
:notice
]
=
:auth_fail
else
flash
[
:notice
]
=
:get_token_failed
end
end
render
'show'
end
end
app/controllers/mail_crypt_token_controller.rb
deleted
100644 → 0
View file @
dd4552e2
class
MailCryptTokenController
<
ApplicationController
def
create
begin
res
=
ApiBackend
::
mail_crypt_token
(
current_user
,
params
[
:pass
])
recovery_token
=
res
[
'mail_crypt_recovery_token'
]
begin
@qr
=
RQRCode
::
QRCode
.
new
(
recovery_token
,
:size
=>
12
,
:level
=>
:h
)
rescue
=>
e
puts
"qr token generation failed
#{
e
}
"
end
@recovery_token
=
recovery_token
.
gsub
(
/(.{8})/
,
'\1<wbr>'
).
html_safe
rescue
ApiBackend
::
ApiError
=>
e
if
e
.
api_msg
==
'auth_fail'
flash
[
:notice
]
=
:auth_fail
else
flash
[
:notice
]
=
:get_token_failed
end
end
render
'show'
end
end
app/controllers/signup_controller.rb
View file @
75b2226a
...
...
@@ -13,7 +13,7 @@ class SignupController < ApplicationController
(
redirect_to
'/signup'
and
return
)
unless
@token
@email
=
params
[
:email
]
@new_pw
=
params
[
:new
]
@enable_mail_crypt
=
params
[
:enable_mail_crypt
]
@enable_mail_crypt
=
true
@recovery_email
=
params
[
:recovery_email
]
@domain
=
params
[
:domain
]
@keep_recovery_token
=
params
[
:keep_recovery_token
]
...
...
@@ -53,7 +53,15 @@ class SignupController < ApplicationController
@recovery_email
,
@keep_recovery_token
==
'yes'
)
if
@keep_recovery_token
!=
'yes'
@mail_crypt_recovery_token
=
res
[
'mail_crypt_recovery_token'
]
begin
@qr
=
RQRCode
::
QRCode
.
new
(
@mail_crypt_recovery_token
,
:size
=>
12
,
:level
=>
:h
)
rescue
=>
e
puts
"qr token generation failed
#{
e
}
"
@qr
=
''
end
@mail_crypt_recovery_token
=
@mail_crypt_recovery_token
.
gsub
(
/(.{8})/
,
'\1<wbr>'
).
html_safe
end
flash
[
:notice
]
=
nil
render
'success'
rescue
ApiBackend
::
ApiError
flash
[
:notice
]
=
:signup_failed
...
...
@@ -73,6 +81,7 @@ class SignupController < ApplicationController
res
=
ApiBackend
::
check_invite
(
token_to_validate
)
@token
=
token_to_validate
@domains
=
res
[
'domains'
]
flash
[
:notice
]
=
nil
rescue
ApiBackend
::
ApiError
flash
[
:notice
]
=
:check_token_failed
end
...
...
app/views/mail_crypt/show.html.erb
View file @
75b2226a
<h3>
<%=
@page_title
=
t
(
:encrypt_mailbox
)
%>
</h3>
<p>
<%=
t
:encrypt_mailbox_help
%>
<%=
t
:encrypt_mailbox_help_existing
%>
</p>
<%=
form_tag
(
mail_crypt_path
,
method:
"post"
)
do
%>
<%=
label_tag
(
:pass
,
(
t
:password_for_enable
))
%>
<%=
password_field_tag
(
:pass
)
%>
<%=
submit_tag
(
t
:activate
)
%>
<%=
link_to
"Cancel"
,
root_path
%>
<h3>
<%=
@page_title
=
t
(
:recovery_token
)
%>
</h3>
<%
if
@recovery_token
%>
<p>
<%=
t
:recovery_token_help
%>
</p>
<p>
<b>
<%=
t
(
:recovery_token
)
%>
</b>
<div
class=
"recovery-token"
>
<%=
@recovery_token
%>
</div>
</p>
<br
/>
<p>
<b>
<%=
t
(
:qr_code
)
%>
</b>
<div
class=
"recovery-token-qr"
>
<%=
raw
(
@qr
.
as_html
)
%>
</div>
</p>
<%
else
%>
<p>
<%=
t
:recovery_token_help
%>
</p>
<%=
form_tag
(
mail_crypt_token_path
,
method:
"post"
)
do
%>
<%=
label_tag
(
:pass
,
(
t
:password_for_recovery_token
))
%>
<%=
password_field_tag
(
:pass
)
%>
<br
/>
<%=
submit_tag
(
t
:recovery_token_show
)
%>
<%
end
%>
<%
end
%>
<br
/>
<%=
link_to
t
(
:cancel
),
root_path
%>
app/views/mail_crypt/show_enable.html.erb
0 → 100644
View file @
75b2226a
<h3>
<%=
@page_title
=
t
(
:mail_crypt_settings
)
%>
</h3>
<p>
<%=
t
(
:mail_crypt_help_existing
).
html_safe
%>
</p>
<%=
form_tag
(
mail_crypt_path
,
method:
"post"
)
do
%>
<table>
<tr><td>
<%=
label_tag
(
:pass
,
(
t
:password
))
%>
</td><td>
<%=
password_field_tag
(
:pass
)
%>
</td></tr>
</table>
<div
id=
"keep_recovery_token_question"
>
<%=
t
:recovery_token_short_help
%>
<br
/>
<input
type=
"radio"
id=
"keep_recovery_token_no"
name=
"keep_recovery_token"
value=
"no"
<%=
if
@keep_recovery_token
==
'no'
then
'checked="checked"'
else
''
end
%>
/>
<%=
t
(
:backup_recovery_token_delete
)
%>
<br
/>
<input
type=
"radio"
id=
"keep_recovery_token_yes"
name=
"keep_recovery_token"
value=
"yes"
<%=
if
@keep_recovery_token
==
'yes'
then
'checked="checked"'
else
''
end
%>
/>
<%=
t
(
:backup_recovery_token_keep
)
%>
</div>
<br>
<%=
submit_tag
(
t
:activate
)
%>
<%=
link_to
"Cancel"
,
root_path
%>
<%
end
%>
app/views/mail_crypt_token/show.html.erb
deleted
100644 → 0
View file @
dd4552e2
<h3>
<%=
@page_title
=
t
(
:recovery_token
)
%>
</h3>
<%
if
@recovery_token
%>
<p>
<%=
t
:recovery_token_help
%>
</p>
<p>
<b>
<%=
t
(
:token
)
%>
</b>
<div
class=
"recovery-token"
>
<%=
@recovery_token
%>
</div>
</p>
<br
/>
<p>
<b>
<%=
t
(
:qr_code
)
%>
</b>
<div
class=
"recovery-token-qr"
>
<%=
raw
(
@qr
.
as_html
)
%>
</div>
</p>
<%
else
%>
<p>
<%=
t
:recovery_token_help
%>
</p>
<%=
form_tag
(
mail_crypt_token_path
,
method:
"post"
)
do
%>
<%=
label_tag
(
:pass
,
(
t
:password_for_reveal
))
%>
<%=
password_field_tag
(
:pass
)
%>
<br
/>
<%=
submit_tag
(
t
:recovery_token_show
)
%>
<%
end
%>
<%
end
%>
<br
/>
<%=
link_to
t
(
:cancel
),
root_path
%>
app/views/signup/create.html.erb
View file @
75b2226a
...
...
@@ -38,28 +38,20 @@
</table>
<%=
t
:recovery_email_short_help
%>
<br
/>
<br
/>
<p>
<input
type=
"checkbox"
id=
"enable_mail_crypt"
name=
"enable_mail_crypt"
value=
"true"
<%=
if
@enable_mail_crypt
then
'checked="checked"'
else
''
end
%>
/>
<b>
<%=
t
:encrypt_mailbox
%>
</b>
<br/>
<%=
t
:encrypt_mailbox_help
%>
<br
/>
<div
id=
"keep_recovery_token_question"
>
<br
/>
<%=
t
:
keep_
recovery_token_help
%>
<%=
t
:recovery_token_
short_
help
%>
<br
/>
<input
type=
"radio"
id=
"keep_recovery_token_no"
name=
"keep_recovery_token"
value=
"no"
<%=
if
@keep_recovery_token
==
'no'
then
'checked="checked"'
else
''
end
%>
/>
<%=
t
(
:
init_delete_token
)
%>
<%=
t
(
:
backup_recovery_token_delete
)
%>
<br
/>
<input
type=
"radio"
id=
"keep_recovery_token_yes"
name=
"keep_recovery_token"
value=
"yes"
<%=
if
@keep_recovery_token
==
'yes'
then
'checked="checked"'
else
''
end
%>
/>
<%=
t
(
:
init_keep
_token
)
%>
<%=
t
(
:
backup_recovery
_token
_keep
)
%>
</div>
</p>
...
...
app/views/signup/success.html.erb
View file @
75b2226a
...
...
@@ -6,12 +6,19 @@
<%=
t
(
:new_account_intro1
)
%>
</p>
<p>
<%=
t
(
:new_account_intro_token
)
%>
<br
/>
<%
if
@mail_crypt_recovery_token
%>
<p>
<%=
t
(
:new_account_intro_token
)
%>
<%=
t
(
:new_account_intro_token_display
)
%>
<br
/>
<br
/>
<b>
Token
</b>
<div
class=
"recovery-token"
>
<%=
@mail_crypt_recovery_token
%>
</div>
<b>
<%=
t
(
:recovery_token
)
%>
</b>
<div
class=
"recovery-token"
>
<%=
@mail_crypt_recovery_token
%>
</div>
</p>
<p>
<b>
<%=
t
(
:qr_code
)
%>
</b>
<div
class=
"recovery-token-qr"
>
<%=
raw
(
@qr
.
as_html
)
%>
</div>
</p>
<p>
...
...
@@ -19,6 +26,8 @@
</p>
<br
/>
<br
/>
<%
else
%>
<%=
t
(
:new_account_intro_token_generate
)
%>
<%
end
%>
<p>
...
...
app/views/welcome/index.html.erb
View file @
75b2226a
...
...
@@ -8,7 +8,7 @@
</li>
<%
if
mail_crypt_enabled?
%>
<li>
<%=
link_to
(
t
:recovery_token
)
,
mail_crypt_token_path
%>
<br
/>
<%=
t
(
:
mail_crypt
_token_short_help
)
%>
<br
/>
<%=
t
(
:
recovery
_token_short_help
)
%>
</li>
<%
if
feature_toggle?
(
'app_passwords'
)
%>
<%# still a feature we want only in beta %>
...
...
@@ -17,9 +17,9 @@
</li>
<%
end
%>
<%
else
%>
<%
if
feature_toggle?
(
'
enable_
mail_crypt'
)
%>
<%
if
feature_toggle?
(
'mail_crypt'
)
%>
<li>
<%=
link_to
(
t
:mail_crypt_settings
)
,
mail_crypt_path
%>
(beta)
<br
/>
<%=
t
(
:
enable_
mail_crypt_short_help
)
%>
<br
/>
<%=
t
(
:mail_crypt_short_help
)
%>
</li>
<%
end
%>
<%
end
%>
...
...
config/locales/de.yml
View file @
75b2226a
de
:
hello
:
"
Hallo"
change_password
:
"
Immerda
Passwort
ändern"
mail_crypt_settings
:
"
Mailbox
Verschlüsselung"
logout
:
"
Abmelden"
new_pw
:
"
Neues
Passwort"
old_pw
:
"
Altes
Passwort"
...
...
@@ -12,23 +11,37 @@ de:
submit
:
"
Abschicken"
activate
:
"
Aktivieren"
present
:
"
Gesetzt"
encrypt_mailbox
:
"
Mailbox
Verschlüsseln"
encrypt_mailbox_help
:
"
ACHTUNG:
Diese
Funktion
ist
erst
im
Testbetrieb.
Es
könnten
Mails
verloren
gehen.
Aktiviere
diese
Funktion,
damit
alle
Emails
verschlüsselt
in
deiner
Mailbox
abgelegt
werden."
encrypt_mailbox_help_existing
:
"
(Das
gilt
zZ.
nur
für
neue
Mails)
Nach
dem
aktivieren
bitte
Mailprogram
neustarten
und/oder
im
Webmail
ausloggen."
recovery_token
:
"
Wiederherstellungs
Token"
recovery_token_help
:
"
Hier
kannst
du
einen
Token
generieren,
mit
dem
du
deine
verschlüsselten
Mails
wiederherstellen
kannst,
wenn
du
dein
Passwort
vergisst.
Wir
empfehlen
den
angezeigten
Token
möglichst
sicher
und
gut
aufzubewahren.
Wenn
du
dein
Passwort
vergisst,
können
wir
deine
Mails
ohne
diesen
Token
nicht
wiederherstellen.
Wir
zeigen
dir
den
Token
an,
danach
besitzen
wir
keine
Kopie
des
Tokens
mehr!"
mail_crypt_enabled
:
"
Verschlüsselung
aktiviert"
mail_crypt_settings
:
"
Geschützte
Mailablage"
mail_crypt_short_help
:
"
Bestimme
wie
deine
Mails
auf
unserem
Server
gespeichert
werden."
mail_crypt_help_existing
:
"
ACHTUNG:
Diese
Funktion
ist
erst
im
Testbetrieb
und
gilt
aktuell
nur
für
neu
eintreffende
Nachrichten.
Möchtest
du,
dass
deine
Mails
auf
unserem
Server
mit
deinem
Passwort
gesichert
abgelegt
werden?
Dann
kannst
du
dies
hier
aktivieren."
mail_crypt_enabled
:
"
Gesicherte
Mailbox
aktiviert"
recovery_token_hint
:
"
Wir
empfehlen
dir
ein
Wiederherstellungscode
zu
generieren"
backup_recovery_token_keep
:
"
Ich
kann
den
Wiederherstellungscode
jetzt
gerade
nicht
aufbewahren
und
werde
ihn
später
generieren."
backup_recovery_token_delete
:
"
Ich
kann
den
Wiederherstellungscode
jetzt
sicher
aufbewahren."
decide_recovery_token
:
"
Bitte
wähle
aus,
ob
du
dein
Wiederherstellungscode
aufbewahren
kannst"
recovery_token
:
"
Wiederherstellungscode"
recovery_token_short_help
:
"
Deine
Mailbox
ist
mit
deinem
Passwort
gesichert.
Wenn
du
es
vergisst,
kannst
du
die
bestehenden
Mails
nur
mit
einem
Wiederherstellungscode
wieder
lesen."
recovery_token_help
:
"
Deine
Mails
sind
auf
unsern
Servern
mit
deinem
Passwort
gesichert.
Wenn
du
dein
Passwort
vergisst,
sind
sie
nicht
mehr
lesbar.
Aber
keine
Angst,
du
kannst
Vorsorgen.
Generiere
einen
Wiederherstellungscode
und
bewahre
ihn
sicher
und
gut
auf."
recovery_token_show
:
"
Anzeigen"
password_for_recovery_token
:
"
Passwort
eingeben,
um
einen
Code
zu
generieren"
get_token_failed
:
"
Code
kann
zur
Zeit
nicht
angezeigt
werden"
mail_crypt_enable_failed
:
"
Gesicherte
Mailbox
kann
zur
Zeit
nicht
aktiviert
werden"
password_changed
:
"
Passwort
geändert"
login_failed
:
"
Anmelden
fehlgeschlagen"
login
:
"
Anmelden"
recovery_token_show
:
"
Token
anzeigen"
pwstrength
:
"
Passwortstärke"
password_change_mismatch
:
"
Die
eingegebenen
Passwörter
stimmen
nicht
überein"
password_too_short
:
"
Das
gewählte
Passwort
ist
zu
kurz
(mind.
10
Zeichen)"
password_policy_fail
:
"
Das
gewählte
Passwort
ist
zu
einfach
zu
erraten"
password_change_failed
:
"
Passwortänderung
fehlgeschlagen"
get_token_failed
:
"
Token
kann
zur
Zeit
nicht
angezeigt
werden"
mail_crypt_enable_failed
:
"
Verschlüsselung
kann
zur
Zeit
nicht
aktiviert
werden"
unlock
:
"
entsperren"
update
:
"
aktualisieren"
delete
:
"
löschen"
...
...
@@ -40,31 +53,23 @@ de:
app_passwords_help
:
"
Um
mit
externen
Programmen
einzuloggen,
kannst
du
ein
zusätzliches
Applikations
Passwort.
Damit
du
nicht
dein
Hauptpasswort
in
Thunderbird,
oder
dem
Phone
speichern
musst,
kannst
du
hier
ein
spezifisches
Passwort
generieren.
Gib
dazu
den
Verwendungszweck,
sowie
dein
Hauptpasswort
ein
und
klicke
auf
generieren.
Das
Passwort
wird
dir
danach
angezeigt
und
du
kannst
es
kopieren.
Ebenfalls
kannst
du
hier
bestehende
Applikations
Passwörter
löschen."
generate
:
"
generieren"
change_password_short_help
:
"
Das
Hauptpasswort
ändern"
mail_crypt_token_short_help
:
"
Wenn
du
dein
Passwort
vergisst
können
deine
Mails
nur
mit
diesem
Token
wiederhergestellt
werden"
enable_mail_crypt_short_help
:
"
Verschlüsselt
Mails
in
deiner
Mailbox
mit
deinem
Passwort"
your_main_pw
:
"
Dein
Hauptpasswort"
new_app_passwords
:
"
Neues
Applikations
Passwort
anfordern"
password_for_reveal
:
"
Passwort
eingeben
um
Token
anzuzeigen"
password_for_clear
:
"
Passwort
eingeben
um
unsere
Kopie
zu
löschen"
password_for_enable
:
"
Passwort
eingeben
um
Verschlüsselung
zu
aktivieren"
recovery_token_hint
:
"
Wir
empfehlen
dir
ein
Wiederherstellungs
Token
zu
generieren"
signup_success
:
"
Konto
erfolgreich
erstellt"
check_token_failed
:
"
Ungültiger
Einladungstoken!"
invalid_alias_domain
:
"
Ungültige
Emailadresse"
main_title
:
"
Immerda
Konto
Verwaltung"
new_account_intro1
:
"
Dein
Konto
ist
erstellt!
Hier
ein
paar
infos"
new_account_intro_token
:
"
Deine
Mails
sind
mit
deinem
Passwort
verschlüsselt.
Wenn
du
es
vergisst,
brauchst
du
diesen
Token,
damit
wir
dein
Passwort
zurücksetzen
können.
Ansonsten
können
deine
Mails
nicht
mehr
gelesen
werden.
Kopiere
das
Token
jetzt
und
bewahre
es
sicher
auf,
es
kann
später
nicht
mehr
angezeigt
werden!"
new_account_intro2
:
"
Wir
empfehlen
dir
im
Webmail
einen
GPG
Schlüssel
zu
erstellen.
Die
Anleitung
findest
du
in
unserem
Willkommens
Email,
das
du
nun
erhalten
hast."
new_account_intro_token
:
"
Deine
Mails
sind
auf
dem
Server
mit
deinem
Passwort
gesichert
abgelegt.
Wenn
du
es
vergisst,
brauchst
du
einen
Wiederherstellungscode,
um
sie
wieder
lesen
zu
können."
new_account_intro_token_display
:
"
Kopiere
den
Code
jetzt
und
bewahre
ihn
sicher
auf."
new_account_intro_token_generate
:
"
Einen
Wiederhestellungscode
kannst
du
in
deinen
Kontoeinstellungen
generieren."
new_account_intro2
:
"
Um
verschlüsselte
Mails
zu
versenden,
empfehlen
wir
dir
im
Webmail
einen
GPG
Schlüssel
zu
erstellen.
Die
Anleitung
findest
du
in
unserem
Willkommens
Email,
das
du
nun
erhalten
hast."
recovery_email
:
"
Backup
Email"
recovery_email_help
:
"
Du
kannst
hier
bestimmen,
von
welcher
Email
Adresse
aus
du
ein
Passwort
zurücksetzen
kannst.
Wenn
du
dies
bereits
getan
hast,
kannst
du
hier
deine
Entscheidung
überschreiben.
Solltest
du
deine
Mailbox
verschlüsselt
haben,
so
brauchst
du
zusätzlich
den
Token
zu
deiner
Mailbox
um
die
Emails
wiederherzustellen.
Wir
speichern
die
Emailadresse,
so
dass
wir
sie
zwar
vergleichen
können,
sie
aber
nicht
lesen
können.
(Stichwort:
Gehashed)"
recovery_email_short_help
:
"
Von
dieser
Adresse
aus
kannst
du
dein
Passwort
zurücksetzen."
keep_recovery_token_help
:
"
Beim
Passwortverlust
brauchst
du
ein
Token,
um
deine
Mailbox
wiederherzustellen."
init_keep_token
:
"
Ich
kann
jetzt
gerade
das
Token
nicht
sicher
aufbewahren
und
werde
es
später
abholen."
init_delete_token
:
"
Ich
bewahre
das
Token
selber
auf."
invite_token
:
"
Einladungscode"
new_account
:
"
Neues
Konto"
invalid_recovery_email
:
"
Backup
Email
ist
keine
gültige
Adresse"
decide_recovery_token
:
"
Bitte
wähle
aus,
ob
du
dein
Wiederherstellungs
Token
aufbewahren
kannst"
auth_fail
:
"
Falsches
Passwort"
app_password_duplicate
:
"
Applikations
Passwort
mit
diesem
Namen
besteht
bereits"
back
:
"
zurück"
...
...
config/locales/en.yml
View file @
75b2226a
en
:
hello
:
"
Hello"
change_password
:
"
Change
your
Immerda
password"
mail_crypt_settings
:
"
Mailbox
Encryption"
logout
:
"
logout"
new_pw
:
"
new
password"
old_pw
:
"
old
passowrd"
...
...
@@ -12,22 +11,37 @@ en:
submit
:
"
submit"
activate
:
"
activate"
present
:
"
present"
encrypt_mailbox
:
"
Encrypt
Mailbox"
encrypt_mailbox_help
:
"
WARNING:
This
feature
is
not
stable
yet
and
it
might
happen
that
mails
become
unreadable.
Activate
this
option
to
encrypt
all
new
incomming
mails
in
your
mailbox."
encrypt_mailbox_help_existing
:
"
(Currently
only
applies
to
new
incoming
mails)
After
enabling
encryption
please
restart
your
mail
program
and/or
sign
out
in
the
Webmail."
mail_crypt_enabled
:
"
Encryption
activated"
mail_crypt_settings
:
"
Secured
Mailstorage"
mail_crypt_short_help
:
"
Decide
how
your
mails
are
stored
on
our
servers."
mail_crypt_help_existing
:
"
Warning:
This
option
is
currently
in
test
mode
and
only
accounts
for
newly
delivered
mails.
Would
you
like
to
protect
the
storage
of
your
mails
with
your
password
on
our
servers?"
mail_crypt_enabled
:
"
Secured
Mailstorage
activated"
recovery_token_hint
:
"
We
recommend
you
generate
a
recovery
token"
backup_recovery_token_delete
:
"
I
can
safely
store
my
token."
backup_recovery_token_keep
:
"
I
can't
safely
store
the
token
right
now.
I
will
generate
one
later."
decide_recovery_token
:
"
Please
decide
if
your
store
your
recovery
token"
recovery_token
:
"
Recovery
Token"
recovery_token_short_help
:
"
Your
mailbox
is
secured
by
your
password.
If
you
forget
your
password,
you
can
only
regain
access
to
your
old
messages
with
a
recovery
token."
recovery_token_help
:
"
Your
messages
are
secured
by
your
password.
The
storage
on
our
servers
is
unreadable
without
it.
If
you
forget
your
password,
you
need
a
recovery
token
to
regain
access
to
your
old
messages.
We
can't
restore
them
in
any
other
way."
recovery_token_show
:
"
show"
password_for_recovery_token
:
"
Enter
your
password
to
generate
a
recovery
token"
get_token_failed
:
"
Failed
to
display
token"
mail_crypt_enable_failed
:
"
Failed
to
enable
secure
mailstorage"
password_changed
:
"
Password
changed"
login_failed
:
"
Login
failed"
login
:
"
Login"
recovery_token_help
:
"
Here
you
can
generate
a
new
recovery
token.
You
need
this
token
to
restore
your
encrypted
emails
in
case
you
forget
your
password.
Please
store
it
safely.
If
you
forget
your
password,
we
cannot
restore
your
emails
Without
this
token.
Once
we
revealed
the
token
to
you,
we
will
not
have
a
copy
of
your
token
anymore!"
recovery_token_show
:
"
Show
token"
pwstrength
:
"
Password
strength"
password_change_mismatch
:
"
The
passwords
do
not
match"
password_policy_fail
:
"
The
password
is
too
easy
to
guess"
password_too_short
:
"
The
password
is
too
short
(min
10
characters)"
password_change_failed
:
"
Password
change
failed"
get_token_failed
:
"
Failed
to
display
token"
mail_crypt_enable_failed
:
"
Failed
to
enable
encryption"
unlock
:
"
unlock"
update
:
"
update"
delete
:
"
delete"
...
...
@@ -36,34 +50,26 @@ en:
create
:
"
create"
app_passwords
:
"
Application
Passwords"
app_passwords_short_help
:
"
To
log
in
by
external
mail
applications
you
can
generate
an
app
password"
app_passwords_help
:
"
To
connect
with
external
programs
you
can
generate
an
application
specific
password.
In
case
you
do
not
want
to
store
your
main
password
in
Thunderbird,
or
your
phone,
you
can
create
a
special
password
here.
To
do
so
enter
the
intended
usage,
your
main
password
and
click
generate.
The
application
password
will
be
shown
and
you
can
copy
&
paste
it.
Additionally
you
can
delete
existing
application
passwords
here."
generate
:
"
generate"
change_password_short_help
:
"
Change
your
main
password"
mail_crypt_token_short_help
:
"
If
you
forget
your
password
only
the
recovery
token
will
allow
you
to
recover
your
mails"
enable_mail_crypt_short_help
:
"
Encrypt
your
mailbox
with
your
password"
your_main_pw
:
"
Your
main
password"
new_app_passwords
:
"
Request
new
application
password"
app_passwords_help
:
"
To
connect
with
external
programs
you
can
generate
an
application
specific
password.
In
case
you
do
not
want
to
store
your
main
password
in
Thunderbird,
or
your
phone,
you
can
create
a
special
password
here.
To
do
so
enter
the
intended
usage,
your
main
password
and
click
generate.
The
application
password
will
be
shown
and
you
can
copy
&
paste
it.
Additionally
you
can
delete
existing
application
passwords
here."
generate
:
"
generate"
password_for_reveal
:
"
Enter
password
to
show
token"
password_for_clear
:
"
Enter
password
to
clear
our
copy"
password_for_enable
:
"
Enter
password
to
enable
encryption"
recovery_token_hint
:
"
We
recommend
you
to
create
a
recovery
token"
signup_success
:
"
Account
successfully
created"
check_token_failed
:
"
Invalid
Invitation
token!"
invalid_alias_domain
:
"
Invalid
emailaddress"
main_title
:
"
Immerda
Account
Management"
new_account_intro1
:
"
Your
account
is
now
ready!
Here
some
things
to
consider"
new_account_intro_token
:
"
Your
mails
are
encrypted
with
your
password.
If
you
forget
your
password,
you
need
your
recovery
token
to
gain
access.
If
you
do
not
have
the
token
anymore,
you
mails
cannot
be
recovered.
Copy
the
token
now
and
store
it
safely."
new_account_intro2
:
"
We
recommend
you
create
a
GPG
key
in
the
webmail.
We
sent
you
a
welcome
email
with
instructions."
new_account_intro_token
:
"
On
our
servers
your
messages
are
secured
by
your
password.
If
you
foget
your
password,
you
need
a
recovery
token
to
regain
access
to
old
messages."
new_account_intro_token_display
:
"
Copy
the
token
now
and
store
it
safely."
new_account_intro_token_generate
:
"
You
can
generate
a
recovery
token
in
our
account
settings."
new_account_intro2
:
"
To
encrypt
your
mails,
we
recommend
you
create
a
GPG
key
in
the
webmail.
We
sent
you
a
welcome
email
with
instructions."
recovery_email
:
"
Recovery
Email"
recovery_email_short_help
:
"
You
can
request
a
new
password
from
your
recovery
email
address."
recovery_email_help
:
"
You
can
set
a
recovery
email
here.
From
this
address
you
are
able
to
ask
us
to
reset
your
password.
If
you
already
did
this,
then
submitting
it
again,
will
override
your
former
choice.
For
encrypted
mailboxes
you
need
additionally
the
token
of
your
mailbox
to
recover
the
data.
We
are
storing
the
recovery
email,
so
that
we
are
able
to
check
it,
but
not
able
to
read
it
(hashed)."
keep_recovery_token_help
:
"
You
need
this
token
to
recover
your
data,
when
you
forget
your
password."
init_keep_token
:
"
I
can't
safely
store
the
token
right
now.
I
will
pick
it
up
later."
init_delete_token
:
"
I
will
safely
store
my
token."
recovery_email_short_help
:
"
You
can
request
a
new
password
from
your
recovery
email
address."
invite_token
:
"
Invite
Code"
new_account
:
"
New
Account"
invalid_recovery_email
:
"
Recovery
email
is
not
valid"
decide_recovery_token
:
"
Please
decide
if
your
store
your
recovery
token"
auth_fail
:
"
password
wrong"
app_password_duplicate
:
"
Application
password
with
this
name
already
exists"
delete_account
:
"
Delete
Account"
...
...
config/routes.rb
View file @
75b2226a
...
...
@@ -11,10 +11,10 @@ Rails.application.routes.draw do
get
'/recovery_email'
,
to:
'recovery_email#show'
post
'/recovery_email'
,
to:
'recovery_email#update'
get
'/mail_crypt'
,
to:
'mail_crypt#show'
post
'/mail_crypt'
,
to:
'mail_crypt#
updat
e'
get
'/mail_crypt_token'
,
to:
'mail_crypt
_token
#show'
post
'/mail_crypt_token'
,
to:
'mail_crypt
_token
#create'
get
'/mail_crypt'
,
to:
'mail_crypt#show
_enable
'
post
'/mail_crypt'
,
to:
'mail_crypt#
enabl
e'
get
'/mail_crypt_token'
,
to:
'mail_crypt#show'
post
'/mail_crypt_token'
,
to:
'mail_crypt#create
_token
'
get
'/delete_account'
,
to:
'delete_account#show'
post
'/delete_account'
,
to:
'delete_account#delete'
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment