Klaus-Uwe Mitterer
fb02819e36
Implemented RedirectViews Changed URL scheme for submodules Updated kumisms and ratesapi submodules
35 lines
No EOL
1.3 KiB
Python
35 lines
No EOL
1.3 KiB
Python
from core.exceptions.mail import NoSuchTemplate
|
|
|
|
from dbsettings.functions import getValue
|
|
|
|
import os.path
|
|
|
|
def get_provider_by_name(name, fallback=True):
|
|
from core.modules.mail import providers
|
|
return providers.get(name, None) or providers["smtp"]
|
|
|
|
def get_default_provider(fallback=True):
|
|
return get_provider_by_name(getValue("core.email.provider", "smtp"), fallback)
|
|
|
|
def send_mail(provider=get_default_provider(), **kwargs):
|
|
from core.tasks.mail import send_mail as send_mail_task
|
|
provider = get_provider_by_name(provider) if type(provider) == str else provider
|
|
return send_mail_task.delay(provider, **kwargs)
|
|
|
|
def simple_send_mail(subject, content, recipients, cc=[], bcc=[], headers={}):
|
|
return send_mail(subject=subject, content=content, recipients=recipients, cc=cc, bcc=bcc, headers=headers)
|
|
|
|
def get_template(template_name, format="txt", **kwargs):
|
|
from core.modules.mail import templates
|
|
try:
|
|
template = templates[template_name][format]
|
|
except KeyError:
|
|
raise NoSuchTemplate(f"No email template called {template_name} of format {format} loaded")
|
|
|
|
with open(template, "r") as templatefile:
|
|
templatetext = templatefile.read()
|
|
|
|
for key, value in kwargs.items():
|
|
templatetext = templatetext.replace('{§%s§}' % key, value)
|
|
|
|
return templatetext |