Send mail with better from/reply-to headers
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 18 Nov 2013 09:25:24 +0000 (10:25 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Wed, 15 Jan 2014 10:28:04 +0000 (11:28 +0100)
wtem/management/commands/__init__.py
wtem/management/commands/wtem_email_teachers.py
wtem/management/commands/wtem_send_keys.py

index e69de29..494edb6 100644 (file)
@@ -0,0 +1,16 @@
+from django.core.mail import EmailMessage
+from django.conf import settings
+
+def send_mail(subject, body, to):
+    if not isinstance(to, list):
+        to = [to]
+
+    reply_to = getattr(settings, 'WTEM_REPLY_TO', None)
+    headers = dict()
+    if reply_to:
+        headers['Reply-To'] = reply_to
+
+    email = EmailMessage(subject, body,
+        getattr(settings, 'WTEM_FROM', 'edukacjamedialna@nowoczesnapolska.org.pl'),
+        to, headers = headers)
+    email.send(fail_silently = False)
\ No newline at end of file
index 3aba80d..e0986f8 100644 (file)
@@ -5,7 +5,7 @@ from optparse import make_option
 
 from django.core.management.base import BaseCommand, CommandError
 from django.conf import settings
 
 from django.core.management.base import BaseCommand, CommandError
 from django.conf import settings
-from django.core.mail import send_mail
+from wtem.management.commands import send_mail
 from django.template.loader import render_to_string
 
 from contact.models import Contact
 from django.template.loader import render_to_string
 
 from contact.models import Contact
@@ -40,10 +40,8 @@ class Command(BaseCommand):
     def send_message(self, message, subject, email):
         self.stdout.write('>>> sending to %s' % email)
         send_mail(
     def send_message(self, message, subject, email):
         self.stdout.write('>>> sending to %s' % email)
         send_mail(
-            subject,
-            message,
-            getattr(settings, 'WTEM_CONTACT_EMAIL', 'no-reply@edukacjamedialna.edu.pl'),
-            [email],
-            fail_silently=False
+            subject = subject,
+            body = message,
+            to = [email]
         )
 
         )
 
index cff7bf3..05ffcbb 100644 (file)
@@ -5,7 +5,7 @@ from optparse import make_option
 
 from django.core.management.base import BaseCommand, CommandError
 from django.conf import settings
 
 from django.core.management.base import BaseCommand, CommandError
 from django.conf import settings
-from django.core.mail import send_mail
+from wtem.management.commands import send_mail
 from django.template.loader import render_to_string
 
 from wtem.models import Submission, DEBUG_KEY
 from django.template.loader import render_to_string
 
 from wtem.models import Submission, DEBUG_KEY
@@ -63,9 +63,7 @@ class Command(BaseCommand):
     def send_key(self, submission):
         self.stdout.write('>>> sending to ' + submission.email)
         send_mail(
     def send_key(self, submission):
         self.stdout.write('>>> sending to ' + submission.email)
         send_mail(
-            "WTEM - Twój link do zadań",
-            render_to_string('wtem/email_key.txt', dict(submission = submission)),
-            getattr(settings, 'WTEM_CONTACT_EMAIL', 'no-reply@edukacjamedialna.edu.pl'),
-            [submission.email],
-            fail_silently=False
+            subject = "WTEM - Twój link do zadań",
+            body = render_to_string('wtem/email_key.txt', dict(submission = submission)),
+            to = [submission.email]
             )
\ No newline at end of file
             )
\ No newline at end of file