SparkPost: remove empty content params with template_id

When using a stored template, SparkPost disallows
subject, text, and html. Django's EmailMessage default
empty strings are enough to provoke "Both content
object and template_id are specified" from SparkPost,
so remove them (if empty) when using stored templates.

Update docs and tests; add integration test for template_id.

Fixes #24
This commit is contained in:
medmunds
2016-06-24 12:13:32 -07:00
parent 0c5911ca34
commit f95be248ec
4 changed files with 38 additions and 4 deletions

View File

@@ -104,6 +104,15 @@ class SparkPostPayload(BasePayload):
if recipients:
self.params['recipients'] = recipients
# Must remove empty string "content" params when using stored template
if self.params.get('template', None):
for content_param in ['subject', 'text', 'html']:
try:
if not self.params[content_param]:
del self.params[content_param]
except KeyError:
pass
return self.params
def set_from_email(self, email):