from flask.ext.mail import Message
from app import mail, app, get_app_url
CONFIRM_MESSAGE = """
This email address was recently used to register the username '%s'
at Quay.io.
To confirm this email address, please click the following link:
%s/confirm?code=%s
"""
CHANGE_MESSAGE = """
This email address was recently asked to become the new e-mail address for username '%s'
at Quay.io.
To confirm this email address, please click the following link:
%s/confirm?code=%s
"""
RECOVERY_MESSAGE = """
A user at Quay.io has attempted to recover their account
using this email address.
If you made this request, please click the following link to recover your account and
change your password:
%s/recovery?code=%s
If you did not make this request, your account has not been compromised and the user was
not given access. Please disregard this email.
"""
SUBSCRIPTION_CHANGE = """
Change: {0}
Customer id: {1}
Customer email: {2}
Quay user or org name: {3}
"""
PAYMENT_FAILED = """
Hi {0},
Your recent payment for Quay.io failed, which usually results in our payments processorcanceling
your subscription automatically. If you would like to continue to use Quay.io without interruption,
please add a new card to Quay.io and re-subscribe to your plan.
You can find the card and subscription management features under your account settings.
Thanks and have a great day!
-Quay.io Support
"""
AUTH_FORREPO_MESSAGE = """
A request has been made to send notifications to this email address for the
Quay.io repository %s/%s.
To confirm this email address, please click the following link:
%s/authrepoemail?code=%s
"""
SUBSCRIPTION_CHANGE_TITLE = 'Subscription Change - {0} {1}'
def send_change_email(username, email, token):
msg = Message('Quay.io email change. Please confirm your email.',
sender='support@quay.io', # Why do I need this?
recipients=[email])
msg.html = CHANGE_MESSAGE % (username, get_app_url(), get_app_url(), token, get_app_url(), token)
mail.send(msg)
def send_confirmation_email(username, email, token):
msg = Message('Welcome to Quay.io! Please confirm your email.',
sender='support@quay.io', # Why do I need this?
recipients=[email])
msg.html = CONFIRM_MESSAGE % (username, get_app_url(), get_app_url(), token, get_app_url(), token)
mail.send(msg)
def send_repo_authorization_email(namespace, repository, email, token):
msg = Message('Quay.io Notification: Please confirm your email.',
sender='support@quay.io', # Why do I need this?
recipients=[email])
msg.html = AUTH_FORREPO_MESSAGE % (get_app_url(), get_app_url(), namespace, repository, namespace,
repository, get_app_url(), token, get_app_url(), token)
mail.send(msg)
def send_recovery_email(email, token):
msg = Message('Quay.io account recovery.',
sender='support@quay.io', # Why do I need this?
recipients=[email])
msg.html = RECOVERY_MESSAGE % (get_app_url(), get_app_url(), token, get_app_url(), token)
mail.send(msg)
def send_invoice_email(email, contents):
msg = Message('Quay.io payment received - Thank you!',
sender='support@quay.io', # Why do I need this?
recipients=[email])
msg.html = contents
mail.send(msg)
def send_subscription_change(change_description, customer_id, customer_email, quay_username):
title = SUBSCRIPTION_CHANGE_TITLE.format(quay_username, change_description)
msg = Message(title, sender='support@quay.io', recipients=['stripe@quay.io'])
msg.html = SUBSCRIPTION_CHANGE.format(change_description, customer_id, customer_email,
quay_username)
mail.send(msg)
def send_payment_failed(customer_email, quay_username):
msg = Message('Quay.io Subscription Payment Failure', sender='support@quay.io',
recipients=[customer_email])
msg.html = PAYMENT_FAILED.format(quay_username)
mail.send(msg)