Merge pull request #260 from FabioWidmer/improvements-1

Improvements for Self Hosting & More
This commit is contained in:
Son Nguyen Kim 2020-08-24 20:16:59 +02:00 committed by GitHub
commit 637bc569eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 107 additions and 64 deletions

View File

@ -7,11 +7,11 @@
[SimpleLogin](https://simplelogin.io) | Privacy-First Email Forwarding and Identity Provider Service [SimpleLogin](https://simplelogin.io) | Privacy-First Email Forwarding and Identity Provider Service
--- ---
<p> <p>
<a href="https://chrome.google.com/webstore/detail/simplelogin-protect-your/dphilobhebphkdjbpfohgikllaljmgbn"> <a href="https://chrome.google.com/webstore/detail/dphilobhebphkdjbpfohgikllaljmgbn">
<img src="https://img.shields.io/chrome-web-store/rating/dphilobhebphkdjbpfohgikllaljmgbn?label=Chrome%20Extension"> <img src="https://img.shields.io/chrome-web-store/rating/dphilobhebphkdjbpfohgikllaljmgbn?label=Chrome%20Extension">
</a> </a>
<a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/"> <a href="https://addons.mozilla.org/firefox/addon/simplelogin/">
<img src="https://img.shields.io/amo/rating/simplelogin?label=Firefox%20Add-On&logo=SimpleLogin"> <img src="https://img.shields.io/amo/rating/simplelogin?label=Firefox%20Add-On&logo=SimpleLogin">
</a> </a>

View File

@ -49,8 +49,10 @@
Don't have an account yet? <a href="{{ url_for('auth.register') }}">Sign up</a> Don't have an account yet? <a href="{{ url_for('auth.register') }}">Sign up</a>
</div> </div>
{% if GITHUB_CLIENT_ID or GOOGLE_CLIENT_ID or FACEBOOK_CLIENT_ID %}
<div class="text-center text-muted mt-5"> <div class="text-center text-muted mt-5">
<a href="{{ url_for('auth.social') }}">Social Login</a> is now deprecated <a href="{{ url_for('auth.social') }}">Social Login</a> is now deprecated
</div> </div>
{% endif %}
{% endblock %} {% endblock %}

View File

@ -12,20 +12,26 @@
<div class="card-title text-center">Social login <div class="card-title text-center">Social login
</div> </div>
{% if GITHUB_CLIENT_ID %}
<a href="{{ url_for('auth.github_login', next=next_url) }}" <a href="{{ url_for('auth.github_login', next=next_url) }}"
class="btn btn-block btn-social btn-github"> class="btn btn-block btn-social btn-github">
<i class="fa fa-github"></i> Sign in with Github <i class="fa fa-github"></i> Sign in with GitHub
</a> </a>
{% endif %}
{% if GOOGLE_CLIENT_ID %}
<a href="{{ url_for('auth.google_login', next=next_url) }}" <a href="{{ url_for('auth.google_login', next=next_url) }}"
class="btn btn-block btn-social btn-google"> class="btn btn-block btn-social btn-google">
<i class="fa fa-google"></i> Sign in with Google <i class="fa fa-google"></i> Sign in with Google
</a> </a>
{% endif %}
{% if FACEBOOK_CLIENT_ID %}
<a href="{{ url_for('auth.facebook_login', next=next_url) }}" <a href="{{ url_for('auth.facebook_login', next=next_url) }}"
class="btn btn-block btn-social btn-facebook"> class="btn btn-block btn-social btn-facebook">
<i class="fa fa-facebook"></i> Sign in with Facebook <i class="fa fa-facebook"></i> Sign in with Facebook
</a> </a>
{% endif %}
</div> </div>
<div class="text-center p-3" style="font-size: 12px; font-weight: 300; margin: auto"> <div class="text-center p-3" style="font-size: 12px; font-weight: 300; margin: auto">
<span class="badge badge-warning">Warning</span> <span class="badge badge-warning">Warning</span>

View File

@ -253,6 +253,8 @@ if LOCAL_FILE_UPLOAD:
LANDING_PAGE_URL = os.environ.get("LANDING_PAGE_URL") or "https://simplelogin.io" LANDING_PAGE_URL = os.environ.get("LANDING_PAGE_URL") or "https://simplelogin.io"
STATUS_PAGE_URL = os.environ.get("STATUS_PAGE_URL") or "https://status.simplelogin.io"
# Loading PGP keys when mail_handler runs. To be used locally when init_app is not called. # Loading PGP keys when mail_handler runs. To be used locally when init_app is not called.
LOAD_PGP_EMAIL_HANDLER = "LOAD_PGP_EMAIL_HANDLER" in os.environ LOAD_PGP_EMAIL_HANDLER = "LOAD_PGP_EMAIL_HANDLER" in os.environ

View File

@ -22,11 +22,11 @@
<div class="alert alert-primary collapse" id="howtouse" role="alert"> <div class="alert alert-primary collapse" id="howtouse" role="alert">
An API key is used by the SimpleLogin browser extensions. An API key is used by the SimpleLogin browser extensions.
<br><br>You can install the official SimpleLogin browser extensions through the following links: <br><br>You can install the official SimpleLogin browser extensions through the following links:
<a href="https://chrome.google.com/webstore/detail/simplelogin-extension/dphilobhebphkdjbpfohgikllaljmgbn" <a href="https://chrome.google.com/webstore/detail/dphilobhebphkdjbpfohgikllaljmgbn"
target="_blank" rel="noopener">Chrome<i class="fe fe-external-link"></i></a>, target="_blank" rel="noopener">Chrome<i class="fe fe-external-link"></i></a>,
<a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/" <a href="https://addons.mozilla.org/firefox/addon/simplelogin/"
target="_blank" rel="noopener">Firefox<i class="fe fe-external-link"></i></a> & target="_blank" rel="noopener">Firefox<i class="fe fe-external-link"></i></a> &
<a href="https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io" <a href="https://apps.apple.com/app/id1494051017"
target="_blank" rel="noopener">Safari<i class="fe fe-external-link"></i></a> target="_blank" rel="noopener">Safari<i class="fe fe-external-link"></i></a>
<br> <br>
<span class="text-danger"> <span class="text-danger">

View File

@ -21,7 +21,7 @@
{% if not current_user.is_premium() %} {% if not current_user.is_premium() %}
<div class="alert alert-danger" role="alert"> <div class="alert alert-danger" role="alert">
This feature is only available on Premium plan. This feature is only available on Premium plan.
<a href="https://app.simplelogin.io/dashboard/pricing" target="_blank" rel="noopener"> <a href="{{URL}}/dashboard/pricing" target="_blank" rel="noopener">
Upgrade<i class="fe fe-external-link"></i> Upgrade<i class="fe fe-external-link"></i>
</a> </a>
</div> </div>

View File

@ -30,6 +30,7 @@ from app.config import (
MAX_ALERT_24H, MAX_ALERT_24H,
POSTFIX_PORT, POSTFIX_PORT,
SENDER, SENDER,
URL,
) )
from app.dns_utils import get_mx_domains from app.dns_utils import get_mx_domains
from app.extensions import db from app.extensions import db
@ -43,7 +44,9 @@ def render(template_name, **kwargs) -> str:
template = env.get_template(template_name) template = env.get_template(template_name)
return template.render(MAX_NB_EMAIL_FREE_PLAN=MAX_NB_EMAIL_FREE_PLAN, **kwargs) return template.render(
MAX_NB_EMAIL_FREE_PLAN=MAX_NB_EMAIL_FREE_PLAN, URL=URL, **kwargs,
)
def send_welcome_email(user): def send_welcome_email(user):

View File

@ -1081,7 +1081,18 @@ class Contact(db.Model, ModelMixin):
""" """
# Prefer using contact name if possible # Prefer using contact name if possible
user = self.user
name = self.name name = self.name
email = self.website_email
if (
not user
or not SenderFormatEnum.has_value(user.sender_format)
or user.sender_format == SenderFormatEnum.AT.value
):
email = email.replace("@", " at ")
elif user.sender_format == SenderFormatEnum.A.value:
email = email.replace("@", "(a)")
# if no name, try to parse it from website_from # if no name, try to parse it from website_from
if not name and self.website_from: if not name and self.website_from:
@ -1101,9 +1112,9 @@ class Contact(db.Model, ModelMixin):
name = name.replace('"', "") name = name.replace('"', "")
if name: if name:
name = name + " | " + self.website_email.replace("@", " at ") name = name + " | " + email
else: else:
name = self.website_email.replace("@", " at ") name = email
# cannot use formataddr here as this field is for email client, not for MTA # cannot use formataddr here as this field is for email client, not for MTA
return f'"{name}" <{self.reply_email}>' return f'"{name}" <{self.reply_email}>'

View File

@ -4,7 +4,7 @@
<div class="card mx-auto" style="max-width: 600px"> <div class="card mx-auto" style="max-width: 600px">
<div class="card-body"> <div class="card-body">
<div class="text-center mb-6"> <div class="text-center mb-6">
<a href="https://simplelogin.io"> <a href="{{LANDING_PAGE_URL}}">
<img src="/static/logo.svg" style="background-color: transparent; height: 24px"> <img src="/static/logo.svg" style="background-color: transparent; height: 24px">
</a> </a>
</div> </div>

View File

@ -135,6 +135,9 @@ FACEBOOK_CLIENT_SECRET=to_fill
# The landing page # The landing page
# LANDING_PAGE_URL=https://simplelogin.io # LANDING_PAGE_URL=https://simplelogin.io
# The status page
# STATUS_PAGE_URL=https://status.simplelogin.io
# Used when querying info on Apple API # Used when querying info on Apple API
# APPLE_API_SECRET=secret # APPLE_API_SECRET=secret
# MACAPP_APPLE_API_SECRET=secret # MACAPP_APPLE_API_SECRET=secret

View File

@ -42,6 +42,14 @@ from app.config import (
FIRST_ALIAS_DOMAIN, FIRST_ALIAS_DOMAIN,
SESSION_COOKIE_NAME, SESSION_COOKIE_NAME,
ADMIN_EMAIL, ADMIN_EMAIL,
PLAUSIBLE_HOST,
PLAUSIBLE_DOMAIN,
GITHUB_CLIENT_ID,
GOOGLE_CLIENT_ID,
FACEBOOK_CLIENT_ID,
LANDING_PAGE_URL,
STATUS_PAGE_URL,
SUPPORT_EMAIL,
) )
from app.dashboard.base import dashboard_bp from app.dashboard.base import dashboard_bp
from app.developer.base import developer_bp from app.developer.base import developer_bp
@ -452,6 +460,14 @@ def jinja2_filter(app):
SENTRY_DSN=SENTRY_FRONT_END_DSN, SENTRY_DSN=SENTRY_FRONT_END_DSN,
VERSION=SHA1, VERSION=SHA1,
FIRST_ALIAS_DOMAIN=FIRST_ALIAS_DOMAIN, FIRST_ALIAS_DOMAIN=FIRST_ALIAS_DOMAIN,
PLAUSIBLE_HOST=PLAUSIBLE_HOST,
PLAUSIBLE_DOMAIN=PLAUSIBLE_DOMAIN,
GITHUB_CLIENT_ID=GITHUB_CLIENT_ID,
GOOGLE_CLIENT_ID=GOOGLE_CLIENT_ID,
FACEBOOK_CLIENT_ID=FACEBOOK_CLIENT_ID,
LANDING_PAGE_URL=LANDING_PAGE_URL,
STATUS_PAGE_URL=STATUS_PAGE_URL,
SUPPORT_EMAIL=SUPPORT_EMAIL,
) )

BIN
static/logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -448,8 +448,8 @@
<table class="email-content" width="100%" cellpadding="0" cellspacing="0" role="presentation" style="width: 100%; -premailer-width: 100%; -premailer-cellpadding: 0; -premailer-cellspacing: 0; margin: 0; padding: 0;"> <table class="email-content" width="100%" cellpadding="0" cellspacing="0" role="presentation" style="width: 100%; -premailer-width: 100%; -premailer-cellpadding: 0; -premailer-cellspacing: 0; margin: 0; padding: 0;">
<tr> <tr>
<td class="email-masthead" style="word-break: break-word; font-family: Helvetica, Arial, sans-serif; font-size: 16px; text-align: center; padding: 25px 0;" align="center"> <td class="email-masthead" style="word-break: break-word; font-family: Helvetica, Arial, sans-serif; font-size: 16px; text-align: center; padding: 25px 0;" align="center">
<a href="https://simplelogin.io" class="f-fallback email-masthead_name" style="color: #A8AAAF; font-size: 16px; font-weight: bold; text-decoration: none; text-shadow: 0 1px 0 white;"> <a href="{{LANDING_PAGE_URL}}" class="f-fallback email-masthead_name" style="color: #A8AAAF; font-size: 16px; font-weight: bold; text-decoration: none; text-shadow: 0 1px 0 white;">
<img src="https://simplelogin.io/logo.png" style="width: 150px; margin: auto"> <img src="{{URL}}/static/logo.png" style="width: 150px; margin: auto">
</a> </a>
</td> </td>
</tr> </tr>

View File

@ -31,5 +31,5 @@ maybe for different uses: a Gmail account for social networks & forums, a Pronto
{% block footer %} {% block footer %}
This email is sent to {{ user.email }}. Unsubscribe on This email is sent to {{ user.email }}. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }}. This email is sent to {{ user.email }}.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}

View File

@ -20,7 +20,7 @@
Download the Android app on Download the Android app on
<a href="https://play.google.com/store/apps/details?id=io.simplelogin.android">Play Store</a> and the iOS app on <a href="https://play.google.com/store/apps/details?id=io.simplelogin.android">Play Store</a> and the iOS app on
<a href="https://apps.apple.com/us/app/simplelogin-anti-spam/id1494359858">App Store</a>. <br> <a href="https://apps.apple.com/app/id1494359858">App Store</a>. <br>
With the release of the mobile apps, SimpleLogin now covers most major platforms: <br> With the release of the mobile apps, SimpleLogin now covers most major platforms: <br>
@ -72,7 +72,7 @@
Again, another big tech enjoying its monopoly. <br> Again, another big tech enjoying its monopoly. <br>
If you happen to use one of these social login options, please create a password for your account on the If you happen to use one of these social login options, please create a password for your account on the
<a href="https://app.simplelogin.io/dashboard/setting">Setting page</a> <br> <a href="{{URL}}/dashboard/setting">Setting page</a> <br>
You can still sign in using these social login until 2020-05-31. After this date, they will be removed. You can still sign in using these social login until 2020-05-31. After this date, they will be removed.
{% endcall %} {% endcall %}
@ -110,5 +110,5 @@
{% block footer %} {% block footer %}
This email is sent to {{ user.email }}. Unsubscribe on This email is sent to {{ user.email }}. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }}. This email is sent to {{ user.email }}.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -14,7 +14,7 @@ Here are some of our latest news:
Now you can quickly create aliases on-the-go with SimpleLogin Android and iOS app, thanks to our mobile guy Thanh-Nhon! Now you can quickly create aliases on-the-go with SimpleLogin Android and iOS app, thanks to our mobile guy Thanh-Nhon!
Download: Download:
- the Android app on Play Store https://play.google.com/store/apps/details?id=io.simplelogin.android - the Android app on Play Store https://play.google.com/store/apps/details?id=io.simplelogin.android
- the iOS app on App Store https://apps.apple.com/us/app/simplelogin-anti-spam/id1494359858 - the iOS app on App Store https://apps.apple.com/app/id1494359858
With the release of the mobile apps, SimpleLogin now covers most major platforms: With the release of the mobile apps, SimpleLogin now covers most major platforms:
@ -53,7 +53,7 @@ We have decided to deprecate those social login options because of several reaso
that isn't broadly available for Android users. Again, another big tech enjoying its monopoly. that isn't broadly available for Android users. Again, another big tech enjoying its monopoly.
If you happen to use one of these social login options, please create a password for your account on the Setting page If you happen to use one of these social login options, please create a password for your account on the Setting page
https://app.simplelogin.io/dashboard/setting {{URL}}/dashboard/setting
You can still sign in using these social login until 2020-05-31. After this date, they will be removed. You can still sign in using these social login until 2020-05-31. After this date, they will be removed.

View File

@ -21,7 +21,7 @@
{{ render_text("You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard.") }} {{ render_text("You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard.") }}
{{ render_button("Add your PGP key", "https://app.simplelogin.io/dashboard/mailbox") }} {{ render_button("Add your PGP key", URL ~ "/dashboard/mailbox") }}
{{ render_text("Our next important feature is the coming of an iOS app. If you use iPhone or iPad want to help us testing out the app, please reply to this email so we can add you into the TestFlight program. {{ render_text("Our next important feature is the coming of an iOS app. If you use iPhone or iPad want to help us testing out the app, please reply to this email so we can add you into the TestFlight program.
") }} ") }}
@ -36,5 +36,5 @@
{% block footer %} {% block footer %}
This email is sent to {{ user.email }}. Unsubscribe on This email is sent to {{ user.email }}. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }}. This email is sent to {{ user.email }}.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -20,7 +20,7 @@ https://simplelogin.io/blog/with-pgp.png
You can find more info on our announcement post on https://simplelogin.io/blog/introducing-pgp/ You can find more info on our announcement post on https://simplelogin.io/blog/introducing-pgp/
You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard at https://app.simplelogin.io/dashboard/mailbox You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard at {{URL}}/dashboard/mailbox
Our next important feature is the coming of an iOS app. If you use iPhone or iPad want to help us testing out the app, please reply to this email so we can add you into the TestFlight program. Our next important feature is the coming of an iOS app. If you use iPhone or iPad want to help us testing out the app, please reply to this email so we can add you into the TestFlight program.

View File

@ -5,17 +5,17 @@
{% call text() %} {% call text() %}
If you want to quickly create aliases <b>without</b> going to SimpleLogin website, you can do that with SimpleLogin If you want to quickly create aliases <b>without</b> going to SimpleLogin website, you can do that with SimpleLogin
<a href="https://chrome.google.com/webstore/detail/simplelogin-your-anti-spa/dphilobhebphkdjbpfohgikllaljmgbn">Chrome</a> <a href="https://chrome.google.com/webstore/detail/dphilobhebphkdjbpfohgikllaljmgbn">Chrome</a>
(or other Chromium-based browsers like Brave or Vivaldi), (or other Chromium-based browsers like Brave or Vivaldi),
<a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/">Firefox</a> and <a href="https://addons.mozilla.org/firefox/addon/simplelogin/">Firefox</a> and
<a href="https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io <a href="https://apps.apple.com/app/id1494051017
">Safari</a> extension. ">Safari</a> extension.
{% endcall %} {% endcall %}
{% call text() %} {% call text() %}
You can also manage your aliases using SimpleLogin You can also manage your aliases using SimpleLogin
<a href="https://play.google.com/store/apps/details?id=io.simplelogin.android">Android App</a> <a href="https://play.google.com/store/apps/details?id=io.simplelogin.android">Android App</a>
or <a href="https://apps.apple.com/us/app/simplelogin-anti-spam/id1494359858">iOS app</a>. or <a href="https://apps.apple.com/app/id1494359858">iOS app</a>.
{% endcall %} {% endcall %}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}
@ -26,5 +26,5 @@
{% block footer %} {% block footer %}
This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }} and is part of our onboarding series. This email is sent to {{ user.email }} and is part of our onboarding series.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -7,15 +7,15 @@ Hi {{user.name}}
If you want to quickly create aliases without going to SimpleLogin website, you can do that with If you want to quickly create aliases without going to SimpleLogin website, you can do that with
SimpleLogin Chrome (or other Chromium-based browsers like Brave or Vivaldi), Firefox and Safari extension. SimpleLogin Chrome (or other Chromium-based browsers like Brave or Vivaldi), Firefox and Safari extension.
Chrome: https://chrome.google.com/webstore/detail/simplelogin-your-anti-spa/dphilobhebphkdjbpfohgikllaljmgbn Chrome: https://chrome.google.com/webstore/detail/dphilobhebphkdjbpfohgikllaljmgbn
Firefox: https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/ Firefox: https://addons.mozilla.org/firefox/addon/simplelogin/
Safari: https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io Safari: https://apps.apple.com/app/id1494051017
You can also manage your aliases using SimpleLogin mobile apps, available at You can also manage your aliases using SimpleLogin mobile apps, available at
- Play Store https://play.google.com/store/apps/details?id=io.simplelogin.android - Play Store https://play.google.com/store/apps/details?id=io.simplelogin.android
- App Store https://apps.apple.com/us/app/simplelogin-anti-spam/id1494359858 - App Store https://apps.apple.com/app/id1494359858
As usual, let us know if you have any question by replying to this email. As usual, let us know if you have any question by replying to this email.

View File

@ -19,16 +19,16 @@
{{ render_text('The mailbox doesn\'t have to be your personal email: you can also create aliases for your friend by adding his/her email as a mailbox.') }} {{ render_text('The mailbox doesn\'t have to be your personal email: you can also create aliases for your friend by adding his/her email as a mailbox.') }}
{{ render_button("Create mailbox", "https://app.simplelogin.io/dashboard/mailbox") }} {{ render_button("Create mailbox", URL ~ "/dashboard/mailbox") }}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}
{{ render_text('<strong>P.S.</strong> Need immediate help getting started? Just reply to this email, the SimpleLogin support team is always ready to help!.') }} {{ render_text('<strong>P.S.</strong> Need immediate help getting started? Just reply to this email, the SimpleLogin support team is always ready to help!.') }}
{{ raw_url("https://app.simplelogin.io/dashboard/mailbox") }} {{ raw_url(URL ~ "/dashboard/mailbox") }}
{% endblock %} {% endblock %}
{% block footer %} {% block footer %}
This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }} and is part of our onboarding series. This email is sent to {{ user.email }} and is part of our onboarding series.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -18,7 +18,7 @@ You can also change the owning mailbox for an existing alias.
The mailbox doesn't have to be your personal email: you can also create aliases for your friend by adding his/her email as a mailbox. The mailbox doesn't have to be your personal email: you can also create aliases for your friend by adding his/her email as a mailbox.
Start create you mailbox on https://app.simplelogin.io/dashboard/mailbox Start create you mailbox on {{URL}}/dashboard/mailbox
As usual, let us know if you have any question by replying to this email. As usual, let us know if you have any question by replying to this email.

View File

@ -21,7 +21,7 @@
{{ render_text("You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard.") }} {{ render_text("You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard.") }}
{{ render_button("Add your PGP key", "https://app.simplelogin.io/dashboard/mailbox") }} {{ render_button("Add your PGP key", URL ~ "/dashboard/mailbox") }}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}
{{ render_text('<strong>P.S.</strong> Need immediate help getting started? Just reply to this email, the SimpleLogin support team is always ready to help!.') }} {{ render_text('<strong>P.S.</strong> Need immediate help getting started? Just reply to this email, the SimpleLogin support team is always ready to help!.') }}
@ -30,5 +30,5 @@
{% block footer %} {% block footer %}
This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }} and is part of our onboarding series. This email is sent to {{ user.email }} and is part of our onboarding series.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -20,7 +20,7 @@ https://simplelogin.io/blog/with-pgp.png
You can find more info on our announcement post on https://simplelogin.io/blog/introducing-pgp/ You can find more info on our announcement post on https://simplelogin.io/blog/introducing-pgp/
You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard at https://app.simplelogin.io/dashboard/mailbox You can create and manage your PGP keys when adding or editing your mailboxes. Check it out on your mailbox dashboard at {{URL}}/dashboard/mailbox
As usual, let us know if you have any question by replying to this email. As usual, let us know if you have any question by replying to this email.

View File

@ -28,5 +28,5 @@
{% block footer %} {% block footer %}
This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on This email is sent to {{ user.email }} and is part of our onboarding series. Unsubscribe on
<a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> <a href="{{URL}}/dashboard/setting#notification">Settings</a>
{% endblock %} {% endblock %}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }} and is part of our onboarding series. This email is sent to {{ user.email }} and is part of our onboarding series.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}

View File

@ -7,14 +7,14 @@
color: #000000; color: #000000;
font-family: sans-serif;" class="paragraph"> font-family: sans-serif;" class="paragraph">
This email is sent to {{ user.email }}. This email is sent to {{ user.email }}.
Unsubscribe on <a href="https://app.simplelogin.io/dashboard/setting#notification">Settings</a> Unsubscribe on <a href="{{URL}}/dashboard/setting#notification">Settings</a>
<hr> <hr>
</td> </td>
</tr> </tr>
{{ render_text("Hi " + user.name) }} {{ render_text("Hi " + user.name) }}
{{ render_text("If you use Safari on a MacBook or iMac, you should check out our new Safari extension.") }} {{ render_text("If you use Safari on a MacBook or iMac, you should check out our new Safari extension.") }}
{{ render_text('It can be installed on <a href="https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io">AppStore</a>. Its code is available on <a href="https://github.com/simple-login/mac-app">GitHub</a>.') }} {{ render_text('It can be installed on <a href="https://apps.apple.com/app/id1494051017">App Store</a>. Its code is available on <a href="https://github.com/simple-login/mac-app">GitHub</a>.') }}
{{ render_text('<img src="https://static.simplelogin.io/safari-extension.png" style="max-width: 600px">') }} {{ render_text('<img src="https://static.simplelogin.io/safari-extension.png" style="max-width: 600px">') }}

View File

@ -1,5 +1,5 @@
This email is sent to {{ user.email }}. This email is sent to {{ user.email }}.
Unsubscribe from our emails on https://app.simplelogin.io/dashboard/setting#notification Unsubscribe from our emails on {{URL}}/dashboard/setting#notification
---------------- ----------------
Hi {{user.name}} Hi {{user.name}}
@ -8,7 +8,7 @@ If you use Safari on a MacBook or iMac, you should check out our new Safari exte
It can be installed on: It can be installed on:
https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io https://apps.apple.com/app/id1494051017
As usual, let me know if you have any question by replying to this email. As usual, let me know if you have any question by replying to this email.

View File

@ -13,7 +13,7 @@
{% block content %} {% block content %}
{{ render_text("My name is Son. Im the founder of SimpleLogin and I wanted to be the first to welcome you on board.") }} {{ render_text("My name is Son. Im the founder of SimpleLogin and I wanted to be the first to welcome you on board.") }}
{{ render_text('To better secure your account, I recommend enabling Multi-Factor Authentication (MFA) on your <a href="https://app.simplelogin.io/dashboard/setting/#totp">Setting page</a>.') }} {{ render_text('To better secure your account, I recommend enabling Multi-Factor Authentication (MFA) on your <a href="' ~ URL ~ '/dashboard/setting/#totp">Setting page</a>.') }}
{{ render_text('If you have any feedback or improvement ideas please let me know by simply replying to this email. Yes, this email is not sent from a no-reply address. {{ render_text('If you have any feedback or improvement ideas please let me know by simply replying to this email. Yes, this email is not sent from a no-reply address.
') }} ') }}
@ -25,7 +25,7 @@
{{ render_text('You can use all premium features like <em>custom domain</em> or <em>alias directory</em> during the <b>trial period</b>. Your trial will end ' + user.trial_end.humanize() + ". All aliases you create during the trial will continue to work normally when the trial ends.") }} {{ render_text('You can use all premium features like <em>custom domain</em> or <em>alias directory</em> during the <b>trial period</b>. Your trial will end ' + user.trial_end.humanize() + ". All aliases you create during the trial will continue to work normally when the trial ends.") }}
{% endif %} {% endif %}
{{ render_text('In the next coming days, you are going to receive some onboarding emails to quickly present some SimpleLogin features. If you don\'t want to receive these emails, you can disable them in your <a href="https://app.simplelogin.io/dashboard/setting#notification">notification settings</a>.') }} {{ render_text('In the next coming days, you are going to receive some onboarding emails to quickly present some SimpleLogin features. If you don\'t want to receive these emails, you can disable them in your <a href="' ~ URL ~ '/dashboard/setting#notification">notification settings</a>.') }}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}

View File

@ -3,7 +3,7 @@ Hi {{name}}
My name is Son. Im the founder of SimpleLogin and I wanted to be the first to welcome you on board. My name is Son. Im the founder of SimpleLogin and I wanted to be the first to welcome you on board.
To better secure your account, I recommend enabling Multi-Factor Authentication (MFA) on your setting page at To better secure your account, I recommend enabling Multi-Factor Authentication (MFA) on your setting page at
https://app.simplelogin.io/dashboard/setting {{URL}}/dashboard/setting
If you have any feedback or improvement ideas please let me know by simply replying to this email. Yes, this email is not sent from a no-reply address. If you have any feedback or improvement ideas please let me know by simply replying to this email. Yes, this email is not sent from a no-reply address.
@ -15,7 +15,7 @@ Your trial will end {{ user.trial_end.humanize() }}.
All aliases you create during the trial will continue to work normally when the trial ends. All aliases you create during the trial will continue to work normally when the trial ends.
{% endif %} {% endif %}
In the next coming days, you are going to receive some onboarding emails to quickly present some SimpleLogin features. If you don't want to receive these emails, you can disable them in your notification settings on https://app.simplelogin.io/dashboard/setting#notification. In the next coming days, you are going to receive some onboarding emails to quickly present some SimpleLogin features. If you don't want to receive these emails, you can disable them in your notification settings on {{URL}}/dashboard/setting#notification.

View File

@ -9,7 +9,7 @@
{{ render_text('This user has been also informed of this incident.') }} {{ render_text('This user has been also informed of this incident.') }}
{{ render_text('If you have any question, you can contact us by replying to this email or consult our website at https://simplelogin.io.') }} {{ render_text('If you have any question, you can contact us by replying to this email or consult our website at ' ~ LANDING_PAGE_URL ~ '.') }}
{{ render_text('Regards, <br />SimpleLogin Team.') }} {{ render_text('Regards, <br />SimpleLogin Team.') }}
{% endblock %} {% endblock %}

View File

@ -7,7 +7,7 @@ We have recorded an attempt to send an email from your email ({{sender}}) to {{r
{{reply_email}} is a special email address that only receives emails from its authorized user. {{reply_email}} is a special email address that only receives emails from its authorized user.
This user has been also informed of this incident. This user has been also informed of this incident.
If you have any question, you can contact us by replying to this email or consult our website at https://simplelogin.io. If you have any question, you can contact us by replying to this email or consult our website at {{LANDING_PAGE_URL}}.
Regards, Regards,
SimpleLogin team. SimpleLogin team.

View File

@ -26,13 +26,13 @@
{{ render_text('You can upgrade today to continue using all these Premium features (and much more coming).') }} {{ render_text('You can upgrade today to continue using all these Premium features (and much more coming).') }}
{{ render_button("Upgrade your account", "https://app.simplelogin.io/dashboard/pricing") }} {{ render_button("Upgrade your account", URL ~ "/dashboard/pricing") }}
{{ render_text('Regardless of your choice, we want to say thank you for trying SimpleLogin. We know the product {{ render_text('Regardless of your choice, we want to say thank you for trying SimpleLogin. We know the product
requires an investment of your time, and we appreciate you giving us a chance.') }} requires an investment of your time, and we appreciate you giving us a chance.') }}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}
{{ render_text('P.S. If you have any questions or need any help, please don\'t hesitate to reach out. You can simply reply to this email or reach us via Twitter/Github.') }} {{ render_text('P.S. If you have any questions or need any help, please don\'t hesitate to reach out. You can simply reply to this email or reach us via Twitter/Github.') }}
{{ raw_url("https://app.simplelogin.io/dashboard/pricing") }} {{ raw_url(URL ~ "/dashboard/pricing") }}
{% endblock %} {% endblock %}

View File

@ -28,7 +28,7 @@
{{ render_text('You can upgrade today to continue using all these Premium features (and much more coming).') }} {{ render_text('You can upgrade today to continue using all these Premium features (and much more coming).') }}
{{ render_button("Upgrade your account", "https://app.simplelogin.io/dashboard/pricing") }} {{ render_button("Upgrade your account", URL ~ "/dashboard/pricing") }}
{{ render_text("If you're not ready to upgrade to a paying account, you have a few other options available to you:") }} {{ render_text("If you're not ready to upgrade to a paying account, you have a few other options available to you:") }}
@ -47,7 +47,7 @@
requires an investment of your time, and we appreciate you giving us a chance.') }} requires an investment of your time, and we appreciate you giving us a chance.') }}
{{ render_text('Thanks, <br />SimpleLogin Team.') }} {{ render_text('Thanks, <br />SimpleLogin Team.') }}
{{ render_text('P.S. If you have any questions or need any help, please don\'t hesitate to reach out. You can simply reply to this email or reach us via Twitter/Github.') }} {{ render_text('P.S. If you have any questions or need any help, please don\'t hesitate to reach out. You can simply reply to this email or reach us via Twitter/Github.') }}
{{ raw_url("https://app.simplelogin.io/dashboard/pricing") }} {{ raw_url(URL ~ "/dashboard/pricing") }}
{% endblock %} {% endblock %}

View File

@ -5,7 +5,7 @@
<div class="row align-items-center"> <div class="row align-items-center">
<div class="col-auto"> <div class="col-auto">
<ul class="list-inline list-inline-dots mb-0"> <ul class="list-inline list-inline-dots mb-0">
<li class="list-inline-item"><a href="https://simplelogin.io" target="_blank" rel="noopener"> <li class="list-inline-item"><a href="{{LANDING_PAGE_URL}}" target="_blank" rel="noopener">
Website <i class="fe fe-external-link"></i> Website <i class="fe fe-external-link"></i>
</a></li> </a></li>
<li class="list-inline-item"><a href="https://trello.com/b/4d6A69I4/open-roadmap" target="_blank" rel="noopener"> <li class="list-inline-item"><a href="https://trello.com/b/4d6A69I4/open-roadmap" target="_blank" rel="noopener">
@ -14,10 +14,10 @@
<li class="list-inline-item"><a href="https://docs.simplelogin.io" target="_blank" rel="noopener"> <li class="list-inline-item"><a href="https://docs.simplelogin.io" target="_blank" rel="noopener">
Developer Documentation <i class="fe fe-external-link"></i> Developer Documentation <i class="fe fe-external-link"></i>
</a></li> </a></li>
<li class="list-inline-item"><a href="https://status.simplelogin.io" target="_blank" rel="noopener"> <li class="list-inline-item"><a href="{{STATUS_PAGE_URL}}" target="_blank" rel="noopener">
Status <i class="fe fe-external-link"></i> Status <i class="fe fe-external-link"></i>
</a></li> </a></li>
<li class="list-inline-item"><a href="mailto:hi@simplelogin.io">Contact Us <li class="list-inline-item"><a href="mailto:{{SUPPORT_EMAIL}}">Contact Us
<i class="fe fe-external-link"></i></a></li> <i class="fe fe-external-link"></i></a></li>
<li class="list-inline-item intro-step-0"> <li class="list-inline-item intro-step-0">
<a onclick="startIntro()" <a onclick="startIntro()"

View File

@ -6,7 +6,7 @@
<div class="row"> <div class="row">
<div class="col mx-auto" style="max-width: 24rem"> <div class="col mx-auto" style="max-width: 24rem">
<div class="text-center mb-6"> <div class="text-center mb-6">
<a href="https://simplelogin.io"> <a href="{{LANDING_PAGE_URL}}">
<img src="/static/logo.svg" style="background-color: transparent; height: 20px"> <img src="/static/logo.svg" style="background-color: transparent; height: 20px">
</a> </a>
</div> </div>