Emails: use templates for all emails - To be tested !
[myslice.git] / portal / contactview.py
index 63b4bb0..13450df 100644 (file)
@@ -1,7 +1,6 @@
 from django.shortcuts           import render
 from django.template.loader     import render_to_string
 from django.views.generic       import View
-from django.core.mail           import send_mail
 
 from unfold.loginrequired       import FreeAccessView
 from ui.topmenu                 import topmenu_items, the_user
@@ -26,13 +25,37 @@ class ContactView (FreeAccessView, ThemeView):
             email = form.cleaned_data['email'] # email of the sender
             cc_myself = form.cleaned_data['cc_myself']
 
-            #recipients = authority_get_pi_emails(authority_hrn)
-            recipients = ['support@myslice.info' ]
-            if cc_myself:
-                recipients.append(email)
+            try:
+                # Send an email: the support recipients
+                theme.template_name = 'email_support.txt'
+                recipients = render_to_string(theme.template, form.cleaned_data)
+                recipients = subject.replace('\n', '')
+                if cc_myself:
+                    recipients.append(email)
+        
+                theme.template_name = 'contact_support_email.html'
+                html_content = render_to_string(theme.template, form.cleaned_data)
+        
+                theme.template_name = 'contact_support_email.txt'
+                text_content = render_to_string(theme.template, form.cleaned_data)
+        
+                theme.template_name = 'contact_support_email_subject.txt'
+                subject = render_to_string(theme.template, form.cleaned_data)
+                subject = subject.replace('\n', '')
+        
+                if not email:
+                    theme.template_name = 'email_default_sender.txt'
+                    sender =  render_to_string(theme.template, form.cleaned_data)
+                    sender = sender.replace('\n', '')
+                else:
+                    sender = email
+        
+                msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
+                msg.attach_alternative(html_content, "text/html")
+                msg.send()
+            except Exception, e:
+                print "Failed to send email, please check the mail templates and the SMTP configuration of your server"
 
-            msg = render_to_string('contact-support-email.txt', form.cleaned_data)
-            send_mail("Onelab user %s submitted a query "%email, msg, email, recipients)
             if request.user.is_authenticated() :
                 username = request.user.email
             else :