From 0a49c0f0860e251ec73d1b8d3d38be3f67dbbe82 Mon Sep 17 00:00:00 2001 From: javyer Date: Fri, 27 Jul 2012 18:48:57 +0000 Subject: [PATCH 1/1] allows send_template_mail to define sender details git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@1275 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- forum/templatetags/email_tags.py | 4 ++-- forum/utils/mail.py | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/forum/templatetags/email_tags.py b/forum/templatetags/email_tags.py index 0699f15..0a60594 100644 --- a/forum/templatetags/email_tags.py +++ b/forum/templatetags/email_tags.py @@ -19,8 +19,8 @@ class MultiUserMailMessage(template.Node): context['recipient'] = recipient self.nodelist.render(context) messages.append((recipient, context['subject'], context['htmlcontent'], context['textcontent'], context['embeddedmedia'])) - - create_and_send_mail_messages(messages) + + create_and_send_mail_messages(messages,context['sender']) @register.tag def email(parser, token): diff --git a/forum/utils/mail.py b/forum/utils/mail.py index 370e0f9..115fc10 100644 --- a/forum/utils/mail.py +++ b/forum/utils/mail.py @@ -24,9 +24,9 @@ from forum.context import application_settings from forum.utils.html2text import HTML2Text from threading import Thread -def send_template_email(recipients, template, context): +def send_template_email(recipients, template, context, sender=None): t = loader.get_template(template) - context.update(dict(recipients=recipients, settings=settings)) + context.update(dict(recipients=recipients, settings=settings, sender=sender)) t.render(Context(context)) def create_connection(): @@ -44,14 +44,20 @@ def create_connection(): return connection -def create_and_send_mail_messages(messages): +def create_and_send_mail_messages(messages, sender_data=None): if not settings.EMAIL_HOST: return sender = Header(unicode(settings.APP_SHORT_NAME), 'utf-8') - sender.append('<%s>' % unicode(settings.DEFAULT_FROM_EMAIL)) - sender = u'%s <%s>' % (unicode(settings.APP_SHORT_NAME), unicode(settings.DEFAULT_FROM_EMAIL)) - + + if sender_data == None: + sender.append('<%s>' % unicode(settings.DEFAULT_FROM_EMAIL)) + sender = u'%s <%s>' % (unicode(settings.APP_SHORT_NAME), unicode(settings.DEFAULT_FROM_EMAIL)) + else: + sender.append('<%s>' % unicode(sender_data['email'])) + sender = u'%s <%s>' % (unicode(sender_data['name']), unicode(sender_data['email'])) + + reply_to = unicode(settings.DEFAULT_REPLY_TO_EMAIL) try: -- 2.39.5