Skip to content

use of UNSET in AnymailMessage breaks compatibility with django-mailer? #147

@ewingrj

Description

@ewingrj

Reporting an error? It's helpful to know:

  • Anymail version - 6.0
  • ESP (Mailgun, SendGrid, etc.)
  • Your ANYMAIL settings (change secrets to "redacted")
  • Versions of Django, requests, python
  • Exact error message and/or stack trace
Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/django/core/management/base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/django/core/management/base.py", line 353, in execute
    output = self.handle(*args, **options)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/mailer/management/commands/send_mail.py", line 25, in handle
    send_all()
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/mailer/engine.py", line 155, in send_all
    email.send()
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/base.py", line 95, in send_messages
    sent = self._send(message)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/base_requests.py", line 60, in _send
    return super(AnymailRequestsBackend, self)._send(message)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/base.py", line 124, in _send
    payload = self.build_message_payload(message, self.send_defaults)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/mailjet.py", line 29, in build_message_payload
    return MailjetPayload(message, defaults, self)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/mailjet.py", line 90, in __init__
    auth=auth, headers=http_headers, *args, **kwargs)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/base_requests.py", line 148, in __init__
    super(RequestsPayload, self).__init__(message, defaults, backend)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/backends/base.py", line 281, in __init__
    value = converter(value, field=attr)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/utils.py", line 181, in parse_single_address
    parsed = parse_address_list([address], field=field)
  File "/Users/rjewing/.pyenv/versions/crowdly/lib/python3.7/site-packages/anymail/utils.py", line 168, in parse_address_list
    raise AnymailInvalidAddress(errmsg)
anymail.exceptions.AnymailInvalidAddress: Invalid email address 'object object at 0x10f639f80' parsed from '<object object at 0x10f639f80>' in `envelope_sender`.
  • Any other relevant code and settings (e.g., for problems
    sending, your code that sends the message)

django-mailer is mentioned in the docs, so it appears it should be supported, however I am getting the above error when I attempt to use AnymailMessage. It looks like this is b/c you check for envelope_sender is not UNSET however the UNSET object is not the same as when the message was created b/c django-mailer pickles & unpickles the email in a different process (cron job)

It works correctly when setting anymail attributes on django's EmailMultiAlternatives

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions