diff --git a/mo/email.py b/mo/email.py
index 51a3b8f541a605c0156676d2a666b74296a38d1c..2721369692b22eaa9cfa8a94b66cfddbcd0f6ebe 100644
--- a/mo/email.py
+++ b/mo/email.py
@@ -12,7 +12,7 @@ import mo.config as config
 from mo.util import logger
 
 
-def send_user_email(user: db.User, subject: str, body: str) -> bool:
+def send_user_email(user: db.User, subject: str, body: str, add_footer: bool = False) -> bool:
     logger.info(f'Mail: "{subject}" -> {user.email}')
 
     mail_from = getattr(config, 'MAIL_FROM', None)
@@ -38,6 +38,11 @@ def send_user_email(user: db.User, subject: str, body: str) -> bool:
     msg['Subject'] = 'OSMO – ' + subject
     msg['Date'] = datetime.datetime.now()
 
+    if add_footer:
+        body += "\n" + ("=" * 76) + "\n"
+        body += "Pokud nechcete tyto e-maily dostávat, vypněte si notifikace v nastavení\n"
+        body += f"svého účtu na {settings_url()}."
+
     msg.set_content(body, cte='quoted-printable')
 
     mail_instead = getattr(config, 'MAIL_INSTEAD', None)
@@ -80,6 +85,10 @@ def contestant_list_url(contest: db.Contest, registered_only: bool) -> str:
     return url
 
 
+def settings_url() -> str:
+    return config.WEB_ROOT + 'acct/settings'
+
+
 def send_new_account_email(user: db.User, token: str) -> bool:
     return send_user_email(user, 'Založen nový účet', textwrap.dedent('''\
         Vítejte!
@@ -153,4 +162,4 @@ def send_join_notify_email(dest: db.User, who: db.User, contest: db.Contest) ->
         {url}
 
         Váš OSMO
-    '''))
+    '''), add_footer=True)
diff --git a/mo/web/acct.py b/mo/web/acct.py
index 72ee25fe7615756ae900e03c5c7b5b45798f0148..52f39592a7f2cb1e4f4757fbe5d68ca641ff5ed8 100644
--- a/mo/web/acct.py
+++ b/mo/web/acct.py
@@ -112,6 +112,7 @@ class AcctSettingsForm(FlaskForm):
     submit = wtforms.SubmitField('Nastavit')
 
 
+# URL je explicitně uvedeno v mo.email.settings_url
 @app.route('/acct/settings', methods=('GET', 'POST'))
 def user_settings():
     sess = db.get_session()