Opened 3 years ago

Closed 3 years ago

#17811 closed Bug (fixed)

Connection object is no passed to the EmailMessage constructor when called from send_mass_mail

Reported by: fed239 Owned by: danielr
Component: Core (Mail) Version: 1.3
Severity: Normal Keywords: mail, connection, email
Cc: pmclanahan@… Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

There is a difference in the behavior of send_mail and send_mass_mail function. send_mail passes connection as a parameter to the EmailMessage constructor and send_mass_mail does not.

44	def send_mail(subject, message, from_email, recipient_list,
45	              fail_silently=False, auth_user=None, auth_password=None,
46	              connection=None):
...
57	    connection = connection or get_connection(username=auth_user,
58	                                    password=auth_password,
59	                                    fail_silently=fail_silently)
60	    return EmailMessage(subject, message, from_email, recipient_list,
61	                        connection=connection).send()
64	def send_mass_mail(datatuple, fail_silently=False, auth_user=None,
65	                   auth_password=None, connection=None):
...
78	    connection = connection or get_connection(username=auth_user,
79	                                    password=auth_password,
80	                                    fail_silently=fail_silently)
81	    messages = [EmailMessage(subject, message, sender, recipient)
82	                for subject, message, sender, recipient in datatuple]
83	    return connection.send_messages(messages)

This causes troubles if email backend stores something inside the self object for the later use and expects that messages would have reference to it.

Attachments (1)

17811.diff (721 bytes) - added by danielr 3 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 3 years ago by jezdez

  • Easy pickings set
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 3 years ago by danielr

  • Owner changed from nobody to danielr
  • Status changed from new to assigned

Changed 3 years ago by danielr

comment:3 Changed 3 years ago by danielr

  • Has patch set
  • Triage Stage changed from Accepted to Ready for checkin

comment:4 Changed 3 years ago by jezdez

LGTM (for the record, please don't mark ticket as RFC if you're the ticket author :)

comment:5 Changed 3 years ago by claudep

  • Resolution set to fixed
  • Status changed from assigned to closed

In [17827]:

Fixed #17811 -- Added connection parameter in call to EmailMessage from send_mass_mail. Thanks fed239 for the report and danielr for the patch.

Note: See TracTickets for help on using tickets.
Back to Top