John2J/SFVS / mmaudio /utils /email_utils.py
John2J's picture
download
raw
1.74 kB
import logging
import os
from datetime import datetime
import requests
from dotenv import load_dotenv
from pytz import timezone
from mmaudio.utils.timezone import my_timezone
_source = 'USE YOURS'
_target = 'USE YOURS'
log = logging.getLogger()
_fmt = "%Y-%m-%d %H:%M:%S %Z%z"
class EmailSender:
def __init__(self, exp_id: str, enable: bool):
self.exp_id = exp_id
self.enable = enable
if enable:
load_dotenv()
self.MAILGUN_API_KEY = os.getenv('MAILGUN_API_KEY')
if self.MAILGUN_API_KEY is None:
log.warning('MAILGUN_API_KEY is not set')
self.enable = False
def send(self, subject, content):
if self.enable:
subject = str(subject)
content = str(content)
try:
return requests.post(f'https://api.mailgun.net/v3/{_source}/messages',
auth=('api', self.MAILGUN_API_KEY),
data={
'from':
f'<agent name>🤖 <mailgun@{_source}>',
'to': [f'{_target}'],
'subject':
f'[{self.exp_id}] {subject}',
'text':
('\n\n' + content + '\n\n<your sign off>\n' +
datetime.now(timezone(my_timezone)).strftime(_fmt)),
},
timeout=20)
except Exception as e:
log.error(f'Failed to send email: {e}')

Xet Storage Details

Size:
1.74 kB
·
Xet hash:
d38364c732d327f5e5aef63e120a6a8a81cb9cb72dce941993378f1d0ad6f08e

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.