diff --git a/apps/reader/views.py b/apps/reader/views.py index 8d79a2bdb..bdd499c93 100644 --- a/apps/reader/views.py +++ b/apps/reader/views.py @@ -1250,14 +1250,17 @@ def send_story_email(request): message = 'OK' story_id = request.POST['story_id'] feed_id = request.POST['feed_id'] - to_address = request.POST['to'] + to_addresses = request.POST.get('to', '').replace(',', ' ').replace(' ', ' ').split(' ') from_name = request.POST['from_name'] from_email = request.POST['from_email'] comments = request.POST['comments'] comments = comments[:2048] # Separated due to PyLint from_address = 'share@newsblur.com' - if not email_re.match(to_address): + if not to_addresses: + code = -1 + message = 'Please provide at least one email address.' + elif not all(email_re.match(to_address) for to_address in to_addresses): code = -1 message = 'You need to send the email to a valid email address.' elif not email_re.match(from_email): @@ -1276,7 +1279,7 @@ def send_story_email(request): subject = subject.replace('\n', ' ') msg = EmailMultiAlternatives(subject, text, from_email='NewsBlur <%s>' % from_address, - to=[to_address], + to=to_addresses, cc=['%s <%s>' % (from_name, from_email)], headers={'Reply-To': '%s <%s>' % (from_name, from_email)}) msg.attach_alternative(html, "text/html") @@ -1285,8 +1288,9 @@ def send_story_email(request): except boto.ses.connection.ResponseError, e: code = -1 message = "Email error: %s" % str(e) - logging.user(request, '~BMSharing story by email: ~FY~SB%s~SN~BM~FY/~SB%s' % - (story['story_title'][:50], feed.feed_title[:50])) + logging.user(request, '~BMSharing story by email to %s recipient%s: ~FY~SB%s~SN~BM~FY/~SB%s' % + (len(to_addresses), '' if len(to_addresses) == 1 else 's', + story['story_title'][:50], feed.feed_title[:50])) return {'code': code, 'message': message} diff --git a/fabfile.py b/fabfile.py index b2966e761..34fc58d26 100644 --- a/fabfile.py +++ b/fabfile.py @@ -36,8 +36,7 @@ env.roledefs ={ 'app03.newsblur.com', 'app04.newsblur.com'], 'dev': ['dev.newsblur.com'], - 'web': ['www.newsblur.com', - 'app02.newsblur.com', + 'web': ['app02.newsblur.com', 'app04.newsblur.com'], 'db': ['db01.newsblur.com', 'db02.newsblur.com', diff --git a/media/js/newsblur/reader/reader_send_email.js b/media/js/newsblur/reader/reader_send_email.js index 5f03f0026..610dd04e0 100644 --- a/media/js/newsblur/reader/reader_send_email.js +++ b/media/js/newsblur/reader/reader_send_email.js @@ -46,7 +46,7 @@ _.extend(NEWSBLUR.ReaderSendEmail.prototype, { $.make('div', { className: 'NB-modal-email-to-container' }, [ $.make('label', { 'for': 'NB-send-email-to' }, [ $.make('span', { className: 'NB-raquo' }, '»'), - ' Recipient\'s email: ' + ' Recipient\'s emails: ' ]), $.make('input', { className: 'NB-input NB-modal-to', name: 'to', id: 'NB-send-email-to', value: ($.cookie('NB:email:to') || "") })