-
Notifications
You must be signed in to change notification settings - Fork 0
/
Mail.py
33 lines (25 loc) · 910 Bytes
/
Mail.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import boto3
class Mail:
def __init__(self, to, subject):
self.destination = {'ToAddresses': [to]}
self.message = {'Subject': {'Data': subject}}
self._html = None
self._text = None
self._format = 'html'
def html(self, html):
self._html = html
def text(self, text):
self._text = text
def send(self):
body = self._html
if not self._html and not self._text:
raise Exception('You must provide a text or html body.')
if not self._html:
self._format = 'text'
self.message['Body'] = {'Text': {'Data': self._text}}
client = boto3.client('ses', region_name='us-east-1')
return client.send_email(
Source='[email protected]',
Destination=self.destination,
Message=self.message
)