[ Python ] AWS SES を使ってメールを送信する

AWS の SES を使ってメールを送信するコードのメモ。


from boto3 import Session

BODY = “””
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>”””


TITLE = ’Title'

class SESMailer(object):
    def __init__(self, from_email,emails):
        self.from_email = from_email
        self.client = 
        self.emails = emails

   def get_client():        
        return Session(aws_access_key_id=‘xxx',
               aws_secret_access_key=‘xxx',
               region_name='us-east-1’).client(’ses’)

   
    def send(self):
        try:
            response = self.client.send_email(
                Destination={
                    'ToAddresses': self.emails,
                },
                Message={
                    'Body': {
                        'Html': {
                            'Charset': CHARSET,
                            'Data': BODY
                        },
                    },
                    'Subject': {
                        'Charset': “UTF-8",
                        'Data': TITLE,
                    },
                },
                Source=self.from_email,
            )
            print(“メールの送信を行いました”)
            return response
       except Exception as e:
           print("メールの送信に失敗しました”)
            raise Exception('Could not send Email')


使い方

from_email = ‘from@gmail.com’ # 送信元のメールアドレス
addrs = [‘to1@gmail.com’,’to2@gmail.com’] # 送信先のメールアドレス一覧
emailer = SESMailer(client,from_email,addrs)
emailer.send()

Related Contents

Pickup Contents