ses
aws command
aws ses list-identities
destination.json
{
"ToAddresses": [
"test@example.com"
],
"CcAddresses": [],
"BccAddresses": []
}
message.json
{
"Subject": {
"Data": "test mail",
"Charset": "UTF-8"
},
"Body": {
"Text": {
"Data": "Hi.\n\nThis is a test mail.",
"Charset": "UTF-8"
}
}
}
aws ses send-email --from noreply@example.net --destination file://destination.json --message file://message.json
template.json
{
"TemplateName": "testtemplate",
"SubjectPart": "Greetings, {{name}}!",
"TextPart": "Dear {{name}},\n\nYour favorite animal is {{favoriteanimal}}."
}
aws ses list-templates
aws ses create-template --template file://template.json
aws ses get-template --template testtemplate
template-parameters.json
{
"name": "john",
"favoriteanimal": "cat"
}
aws ses test-render-template --template-name testtemplate --template-data file://template-data.json
aws ses send-templated-email --source noreply@example.net --destination file://destination.json --template testtemplate --template-data file://template-data.json
aws ses delete-template --template-name testtemplate
python test script
#!/bin/usr/python
import boto3
import json
fromaddr = 'noreply@example.net'
destaddr = 'test@example.com'
destination = {
'ToAddresses': [
destaddr,
]
}
client = boto3.client('ses')
## send email
response = client.send_email(
Source = fromaddr,
Destination = destination,
Message={
'Subject': {
'Data': 'test mail',
'Charset': 'UTF-8'
},
'Body': {
'Text': {
'Data': 'Hi.\n\nThis is a test mail',
'Charset': 'UTF-8'
},
}
}
)
print(response)
templates = client.list_templates()
for template in templates['TemplatesMetadata']:
response = client.get_template(
TemplateName=template['Name']
)
print(response['Template'])
## create template
response = client.create_template(
Template={
"TemplateName": "testtemplate",
"SubjectPart": "Greetings, {{name}}!",
"TextPart": "Dear {{name}},\n\nYour favorite animal is {{favoriteanimal}}."
}
)
templatedata = {
"name": "john",
"favoriteanimal": "cat"
}
## send templated email
response = client.send_templated_email(
Source=fromaddr,
Destination=destination,
Template='testtemplate',
TemplateData=json.dumps(templatedata)
)
print(response)
## delete template
response = client.delete_template(
TemplateName='testtemplate'
)
print(response)
templates = client.list_templates()
for template in templates['TemplatesMetadata']:
response = client.get_template(
TemplateName=template['Name']
)
print(response['Template'])