From 9ae0217b706347595439f4853474ecae99c2e277 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Wed, 14 Sep 2016 20:10:07 +0200 Subject: [PATCH] Modify email facility: use one connection for group emails --- journals/templates/journals/journals.html | 1 + scipost/views.py | 31 +++++++++++++++-------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/journals/templates/journals/journals.html b/journals/templates/journals/journals.html index 7a3b62a3b..ec41435ba 100644 --- a/journals/templates/journals/journals.html +++ b/journals/templates/journals/journals.html @@ -23,6 +23,7 @@ </div> </div> <p>Research-level didactic material in all domains and subject areas of Physics.</p> + <p style="color: red;">Open for submission!</p> <br/> <hr class="hr6"> <div class="flex-container"> diff --git a/scipost/views.py b/scipost/views.py index 63a441745..03d0ebe97 100644 --- a/scipost/views.py +++ b/scipost/views.py @@ -12,6 +12,7 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User, Group, Permission from django.contrib.auth.views import password_reset, password_reset_confirm from django.core.exceptions import PermissionDenied +from django.core import mail from django.core.mail import EmailMessage from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.urlresolvers import reverse @@ -902,17 +903,25 @@ def email_group_members(request): if request.method == 'POST': form = EmailGroupMembersForm(request.POST) if form.is_valid(): - recipient_emails = [] - for member in form.cleaned_data['group'].user_set.all(): - recipient_emails.append(member.email) - emailmessage = EmailMessage( - form.cleaned_data['email_subject'], - form.cleaned_data['email_text'], - 'SciPost Admin <admin@scipost.org>', - ['admin@scipost.org'], - bcc=recipient_emails, - reply_to=['admin@scipost.org']) - emailmessage.send(fail_silently=False) + # recipient_emails = [] + # for member in form.cleaned_data['group'].user_set.all(): + # recipient_emails.append(member.email) + # emailmessage = EmailMessage( + # form.cleaned_data['email_subject'], + # form.cleaned_data['email_text'], + # 'SciPost Admin <admin@scipost.org>', + # ['admin@scipost.org'], + # bcc=recipient_emails, + # reply_to=['admin@scipost.org']) + # emailmessage.send(fail_silently=False) + with mail.get_connection() as connection: + for member in form.cleaned_data['group'].user_set.all(): + email_text = ('Dear ' + title_dict[member.contributor.title] + ' ' + + member.last_name + ', \n\n' + + form.cleaned_data['email_text']) + mail.EmailMessage(form.cleaned_data['email_subject'], + email_text, 'SciPost Admin <admin@scipost.org>', + [member.email], connection=connection).send() context = {'ack_header': 'The email has been sent.', 'followup_message': 'Return to your ', 'followup_link': reverse('scipost:personal_page'), -- GitLab