SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 9ae0217b authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Modify email facility: use one connection for group emails

parent 24060a0f
No related branches found
No related tags found
No related merge requests found
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
</div> </div>
</div> </div>
<p>Research-level didactic material in all domains and subject areas of Physics.</p> <p>Research-level didactic material in all domains and subject areas of Physics.</p>
<p style="color: red;">Open for submission!</p>
<br/> <br/>
<hr class="hr6"> <hr class="hr6">
<div class="flex-container"> <div class="flex-container">
......
...@@ -12,6 +12,7 @@ from django.contrib.auth.decorators import login_required ...@@ -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.models import User, Group, Permission
from django.contrib.auth.views import password_reset, password_reset_confirm from django.contrib.auth.views import password_reset, password_reset_confirm
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.core import mail
from django.core.mail import EmailMessage from django.core.mail import EmailMessage
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
...@@ -902,17 +903,25 @@ def email_group_members(request): ...@@ -902,17 +903,25 @@ def email_group_members(request):
if request.method == 'POST': if request.method == 'POST':
form = EmailGroupMembersForm(request.POST) form = EmailGroupMembersForm(request.POST)
if form.is_valid(): if form.is_valid():
recipient_emails = [] # recipient_emails = []
for member in form.cleaned_data['group'].user_set.all(): # for member in form.cleaned_data['group'].user_set.all():
recipient_emails.append(member.email) # recipient_emails.append(member.email)
emailmessage = EmailMessage( # emailmessage = EmailMessage(
form.cleaned_data['email_subject'], # form.cleaned_data['email_subject'],
form.cleaned_data['email_text'], # form.cleaned_data['email_text'],
'SciPost Admin <admin@scipost.org>', # 'SciPost Admin <admin@scipost.org>',
['admin@scipost.org'], # ['admin@scipost.org'],
bcc=recipient_emails, # bcc=recipient_emails,
reply_to=['admin@scipost.org']) # reply_to=['admin@scipost.org'])
emailmessage.send(fail_silently=False) # 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.', context = {'ack_header': 'The email has been sent.',
'followup_message': 'Return to your ', 'followup_message': 'Return to your ',
'followup_link': reverse('scipost:personal_page'), 'followup_link': reverse('scipost:personal_page'),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment