Mail.add_header doesn't accept a dict
tzachyrm opened this issue · 2 comments
tzachyrm commented
Issue Summary
The docs mentions that the Mail.add_header
should accept a dict of key-value pairs. However, when passing a dict, the function fails.
Steps to Reproduce
- Initialize a new
Mail
object - Call
add_header
with a dict. According to the docs this should work.
Code Snippet
from sendgrid .helpers.mail import Mail
Mail().add_header({"X": "y"})
Exception/Log
Traceback (most recent call last):
File "/env/lib/python3.8/site-packages/sendgrid/helpers/mail/mail.py", line 466, in add_header
if header.personalization is not None:
AttributeError: 'dict' object has no attribute 'personalization'
Technical details:
- sendgrid-python version: 6.7.1
- python version: 3.8
eshanholtz commented
This issue has been added to our internal backlog to be prioritized. Pull requests and +1s on the issue summary will help it move up the backlog.
hassaku63 commented
I sent a pull request for code to fix this issue.
As I mentioned in the pull request, the current implementation seems intended to only add the first key/value item if the header argument given to add_header is dict that has multiple key/values.
I believe this is non-intuitive and confusing to users. However, as long as the intent is not clear, I did not think this should be changed and kept it as is.