Transmissions¶
Here at SparkPost, our messages are known as transmissions. Let’s use the underlying transmissions API to send a friendly test message:
from sparkpost import SparkPost
sp = SparkPost()
response = sp.transmissions.send(
recipients=['someone@somedomain.com'],
html='<p>Hello world</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost',
track_opens=True,
track_clicks=True
)
print(response)
# outputs {u'total_accepted_recipients': 1, u'id': u'47960765679942446', u'total_rejected_recipients': 0}
Send a transmission¶
Using inline templates and/or recipients¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipients=['someone@somedomain.com'],
text="Hello world",
html='<p>Hello world</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost',
track_opens=True,
track_clicks=True
)
Including cc, bcc¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipients=['someone@somedomain.com'],
cc=['carboncopy@somedomain.com'],
bcc=['blindcarboncopy@somedomain.com'],
text="Hello world",
html='<p>Hello world</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost',
track_opens=True,
track_clicks=True
)
Sending an attachment¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipients=['someone@somedomain.com'],
text="Hello world",
html='<p>Hello world</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost',
track_opens=True,
track_clicks=True,
attachments=[
{
"name": "test.txt",
"type": "text/plain",
"filename": "/home/sparkpost/a-file.txt"
}
]
)
Using substitution data¶
Note
Substitution data can be specified at the template, transmission and recipient levels. The order of precedence is as follows: recipient overrides transmission overrides template.
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipients=['someone@somedomain.com'],
text="Hello {{name}}",
html='<p>Hello {{name}}</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost',
track_opens=True,
track_clicks=True,
substitution_data={
'name': 'Sparky'
}
)
Using a stored template¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipients=['someone@somedomain.com'],
template='my-template-id'
)
Using a stored recipient list¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.send(
recipient_list='my-recipient-list',
template='my-template-id'
)
Retrieve a transmission¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.get('my-transmission-id')
List all transmissions¶
from sparkpost import SparkPost
sp = SparkPost()
sp.transmissions.list()