EmailClient.forge_message: add attachment_payloads parameter
This commit is contained in:
parent
49ed5d7a82
commit
4d91675d7a
1 changed files with 10 additions and 1 deletions
|
@ -63,7 +63,8 @@ class EmailClient(object): # pylint: disable=useless-object-inheritance,too-man
|
|||
self.encoding = encoding
|
||||
|
||||
def forge_message(self, rcpt_to, subject=None, html_body=None, text_body=None, attachment_files=None,
|
||||
sender_name=None, sender_email=None, encoding=None, template=None, **template_vars): # pylint: disable=too-many-arguments,too-many-locals
|
||||
attachment_payloads=None, sender_name=None, sender_email=None, encoding=None,
|
||||
template=None, **template_vars): # pylint: disable=too-many-arguments,too-many-locals
|
||||
"""
|
||||
Forge a message
|
||||
|
||||
|
@ -72,6 +73,7 @@ class EmailClient(object): # pylint: disable=useless-object-inheritance,too-man
|
|||
:param html_body: The HTML body of the email
|
||||
:param text_body: The plain text body of the email
|
||||
:param attachment_files: List of filepaths to attach
|
||||
:param attachment_payloads: List of tuples with filename and payload to attach
|
||||
:param sender_name: Custom sender name (default: as defined on initialization)
|
||||
:param sender_email: Custom sender email (default: as defined on initialization)
|
||||
:param encoding: Email content encoding (default: as defined on initialization)
|
||||
|
@ -122,6 +124,13 @@ class EmailClient(object): # pylint: disable=useless-object-inheritance,too-man
|
|||
encode_base64(part)
|
||||
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(filepath))
|
||||
msg.attach(part)
|
||||
if attachment_payloads:
|
||||
for filename, payload in attachment_payloads:
|
||||
part = MIMEBase('application', "octet-stream")
|
||||
part.set_payload(payload)
|
||||
encode_base64(part)
|
||||
part.add_header('Content-Disposition', 'attachment; filename="%s"' % filename)
|
||||
msg.attach(part)
|
||||
return msg
|
||||
|
||||
def send(self, rcpt_to, msg=None, subject=None, just_try=False, **forge_args):
|
||||
|
|
Loading…
Reference in a new issue