- Selection Specialist - VA version - fully implemented - Correction of TRAICIE_ROLE_DEFINITION_SPECIALIST - adaptation to new style - Removal of 'debug' statements
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from scaleway import Client
|
|
from scaleway.tem.v1alpha1.api import TemV1Alpha1API
|
|
from scaleway.tem.v1alpha1.types import CreateEmailRequestAddress
|
|
from html2text import HTML2Text
|
|
from flask import current_app
|
|
|
|
|
|
def send_email(to_email, to_name, subject, html):
|
|
access_key = current_app.config['SW_EMAIL_ACCESS_KEY']
|
|
secret_key = current_app.config['SW_EMAIL_SECRET_KEY']
|
|
default_project_id = current_app.config['SW_PROJECT']
|
|
default_region = "fr-par"
|
|
client = Client(
|
|
access_key=access_key,
|
|
secret_key=secret_key,
|
|
default_project_id=default_project_id,
|
|
default_region=default_region
|
|
)
|
|
tem = TemV1Alpha1API(client)
|
|
from_ = CreateEmailRequestAddress(email=current_app.config['SW_EMAIL_SENDER'],
|
|
name=current_app.config['SW_EMAIL_NAME'])
|
|
to_ = CreateEmailRequestAddress(email=to_email, name=to_name)
|
|
|
|
email = tem.create_email(
|
|
from_=from_,
|
|
to=[to_],
|
|
subject=subject,
|
|
text=html_to_text(html),
|
|
html=html,
|
|
project_id=default_project_id,
|
|
)
|
|
|
|
|
|
def html_to_text(html_content):
|
|
"""Convert HTML to plain text using html2text"""
|
|
h = HTML2Text()
|
|
h.ignore_images = True
|
|
h.ignore_emphasis = False
|
|
h.body_width = 0 # No wrapping
|
|
return h.handle(html_content)
|