Pārlūkot izejas kodu

feat(api): add Reply-To: header to donation emails

Peter Thomassen 3 gadi atpakaļ
vecāks
revīzija
4a2971846a
2 mainītis faili ar 8 papildinājumiem un 6 dzēšanām
  1. 4 0
      api/desecapi/tests/test_donations.py
  2. 4 6
      api/desecapi/views.py

+ 4 - 0
api/desecapi/tests/test_donations.py

@@ -23,6 +23,7 @@ class DonationTests(DesecTestCase):
         self.assertTrue(mail.outbox)
         email_internal = str(mail.outbox[0].message())
         direct_debit = str(mail.outbox[0].attachments[0][1])
+        reply_to = mail.outbox[0].reply_to
         self.assertStatus(response, status.HTTP_201_CREATED)
         self.assertEqual(len(mail.outbox), 1)
         self.assertEqual(response.data['iban'], data['iban'])
@@ -30,6 +31,7 @@ class DonationTests(DesecTestCase):
         self.assertIn('ONDON1', response.data['mref'])
         self.assertTrue('Name' in direct_debit)
         self.assertTrue(data['iban'] in email_internal)
+        self.assertEqual(reply_to, [])
 
     def test_create_donation_verbose(self):
         url = reverse('v1:donation')
@@ -46,6 +48,7 @@ class DonationTests(DesecTestCase):
         self.assertTrue(mail.outbox)
         email_internal = str(mail.outbox[0].message())
         direct_debit = str(mail.outbox[0].attachments[0][1])
+        reply_to = mail.outbox[0].reply_to
         self.assertStatus(response, status.HTTP_201_CREATED)
         self.assertEqual(len(mail.outbox), 2)
         self.assertEqual(response.data['iban'], data['iban'])
@@ -53,3 +56,4 @@ class DonationTests(DesecTestCase):
         self.assertIn('ONDON1', response.data['mref'])
         self.assertTrue('Komplizierter Vornamu' in direct_debit)
         self.assertTrue(data['iban'] in email_internal)
+        self.assertEqual(reply_to, [data['email']])

+ 4 - 6
api/desecapi/views.py

@@ -477,12 +477,10 @@ class DonationList(generics.CreateAPIView):
         email = EmailMessage(subject_tmpl.render(context),
                              content_tmpl.render(context),
                              from_tmpl.render(context),
-                             ['donation@desec.io'],
-                             attachments=[
-                                 ('jameica-directdebit.xml',
-                                  attachment_tmpl.render(context),
-                                  'text/xml')
-                             ])
+                             [settings.DEFAULT_FROM_EMAIL],
+                             attachments=[('jameica-directdebit.xml', attachment_tmpl.render(context), 'text/xml')],
+                             reply_to=[instance.email] if instance.email else None
+                             )
         email.send()
 
         # donor notification