You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SparkPost.transmissions.send is ignoring CC: and BCC: if recipient list ID is provided #226
My test code sends out email messages as intended to the given recipient list but appears to completely ignore the CC: and BCC: addresses. (Unless there's something wrong in the below invocation?)
SDK version: 1.3.10
Code:
from sparkpost import SparkPost
sp = SparkPost("1234..........6789")
response = sp.transmissions.send(
use_sandbox=False,
recipient_list="acme-test-recipient-list",
html="<html><body><p>This is a test email notif; please ignore.</p></body></html>",
from_email="reports@acme.com",
subject="Test email message; please ignore",
bcc=["my_own_personal_email@gmail.com", "my_own_personal_email@yahoo.com"],
reply_to="data@acme.com",
)
print(response)
From debugging, I can tell the field is making it into the payload but doesn't appear to be used (email doesn't get sent to the CC: or BCC: addresses)
I can tell that the SparkPost SDK only looks at CC and BCC if it's being given a dictionary of recipients; if it's given a recipient list ID, it'll ignore the CC and the BCC.
:param list|dict recipients: List of email addresses, or a dict:
``{'address': {'name': 'Kyla', 'email': 'hello@example.com' }}``
:param str recipient_list: ID of recipient list. If this is set,
the `recipients` param will be ignored
.......
if recipients and not isinstance(recipients, dict):
model['recipients'] = self._extract_recipients(recipients)
recipients = model['recipients']
cc = model.pop('cc', None)
if cc:
headers = content.setdefault('headers', {})
headers['CC'] = ','.join(cc)
cc_copies = self._format_copies(recipients, cc)
recipients.extend(cc_copies)
bcc = model.pop('bcc', None)
if bcc:
bcc_copies = self._format_copies(recipients, bcc)
recipients.extend(bcc_copies)
These lines of code aren't executed b/c recipient list ID is treated as a dict so they bypass that chunk of code. The CC/BCC are still part of the payload but is apparently ignored.
changed the title [-]SparkPost.transmissions.send doesn't appear to be handling CC: and BCC:[/-][+]SparkPost.transmissions.send is ignoring CC: and BCC: if recipient list ID is provided[/+]on Feb 28, 2023
Activity
dgoldenberg-audiomack commentedon Feb 27, 2023
I can tell that the SparkPost SDK only looks at CC and BCC if it's being given a dictionary of recipients; if it's given a recipient list ID, it'll ignore the CC and the BCC.
These lines of code aren't executed b/c recipient list ID is treated as a dict so they bypass that chunk of code. The CC/BCC are still part of the payload but is apparently ignored.
[-]SparkPost.transmissions.send doesn't appear to be handling CC: and BCC:[/-][+]SparkPost.transmissions.send is ignoring CC: and BCC: if recipient list ID is provided[/+]