diff --git a/reviewboard/notifications/email.py b/reviewboard/notifications/email.py
index 4dcd32f7fd6c0a52baff2400695fb8d20049a462..58a39214780ca6950a9881eb47379ae3a1c5b4ae 100644
--- a/reviewboard/notifications/email.py
+++ b/reviewboard/notifications/email.py
@@ -96,21 +96,33 @@ def get_email_address_for_user(u):
     return build_email_address(u.get_full_name(), u.email)
 
 
-def get_email_addresses_for_group(g):
+def get_email_addresses_for_group(g,request_creation):
     if g.mailing_list:
         if g.mailing_list.find(",") == -1:
             # The mailing list field has only one e-mail address in it,
             # so we can just use that and the group's display name.
-            return ['"%s" <%s>' % (g.display_name, g.mailing_list)]
+            mails = ['"%s" <%s>' % (g.display_name, g.mailing_list)]
         else:
             # The mailing list field has multiple e-mail addresses in it.
             # We don't know which one should have the group's display name
             # attached to it, so just return their custom list as-is.
-            return g.mailing_list.split(',')
+            mails = g.mailing_list.split(',')
     else:
-        return [get_email_address_for_user(u)
+        mails = [get_email_address_for_user(u)
                 for u in g.users.filter(is_active=True)]
 
+    if g.notification_mailing_list and not request_creation:
+        if g.notification_mailing_list.find(",") == -1:
+            # The mailing list field has only one e-mail address in it,
+            # so we can just use that and the group's display name.
+            mails.append(u'"%s" <%s>' % (g.display_name, g.mailing_list))
+        else:
+            # The mailing list field has multiple e-mail addresses in it.
+            # We don't know which one should have the group's display name
+            # attached to it, so just return their custom list as-is.
+            for address in g.mailing_list.split(','):
+                mails.append(address)
+    return mails
 
 class SpiffyEmailMessage(EmailMultiAlternatives):
     """An EmailMessage subclass with improved header and message ID support.
@@ -161,7 +173,7 @@ class SpiffyEmailMessage(EmailMultiAlternatives):
 
 def send_review_mail(user, review_request, subject, in_reply_to,
                      extra_recipients, text_template_name,
-                     html_template_name, context={}):
+                     html_template_name, context={}, review_creation=False):
     """
     Formats and sends an e-mail out with the current domain and review request
     being added to the template context. Returns the resulting message ID.
@@ -173,10 +185,10 @@ def send_review_mail(user, review_request, subject, in_reply_to,
     recipients = set()
     to_field = set()
 
-    if from_email:
+    if from_email and not review_creation:
         recipients.add(from_email)
 
-    if review_request.submitter.is_active:
+    if review_request.submitter.is_active and not review_creation:
         recipients.add(get_email_address_for_user(review_request.submitter))
 
     for u in review_request.target_people.filter(is_active=True):
@@ -184,7 +196,7 @@ def send_review_mail(user, review_request, subject, in_reply_to,
         to_field.add(get_email_address_for_user(u))
 
     for group in review_request.target_groups.all():
-        for address in get_email_addresses_for_group(group):
+        for address in get_email_addresses_for_group(group,review_creation):            
             recipients.add(address)
 
     for profile in review_request.starred_by.all():
@@ -307,7 +319,8 @@ def mail_review_request(review_request, changedesc=None, on_close=False):
                          reply_message_id, extra_recipients,
                          'notifications/review_request_email.txt',
                          'notifications/review_request_email.html',
-                         extra_context)
+                         extra_context,
+                         review_creation=True)
     review_request.save()
 
 
diff --git a/reviewboard/reviews/admin.py b/reviewboard/reviews/admin.py
index 78d7c031097828609be8f259f947f019b070779e..07f173e46d51ff59a8f40846ffe26d0fd263a6ad 100644
--- a/reviewboard/reviews/admin.py
+++ b/reviewboard/reviews/admin.py
@@ -59,7 +59,7 @@ class GroupAdmin(admin.ModelAdmin):
     raw_id_fields = ('local_site',)
     fieldsets = (
         (_('General Information'), {
-            'fields': ('name', 'display_name', 'mailing_list',
+            'fields': ('name', 'display_name', 'mailing_list','notification_mailing_list',
                        'visible'),
         }),
         (_('Access Control'), {
diff --git a/reviewboard/reviews/evolutions/__init__.py b/reviewboard/reviews/evolutions/__init__.py
index 151515d402e89d6af807b2c0ce6678506a7e8afd..0befd42a62c09b44e3adaaeed52428814898c99e 100644
--- a/reviewboard/reviews/evolutions/__init__.py
+++ b/reviewboard/reviews/evolutions/__init__.py
@@ -21,4 +21,5 @@ SEQUENCE = [
     'file_attachment_comment_diff_id',
     'rich_text',
     'base_comment_extra_data',
+    'add_notification_email',
 ]
diff --git a/reviewboard/reviews/evolutions/add_notification_email.py b/reviewboard/reviews/evolutions/add_notification_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fe44d7e917633eee4d944984c2f20fda0805775
--- /dev/null
+++ b/reviewboard/reviews/evolutions/add_notification_email.py
@@ -0,0 +1,9 @@
+#----- Evolution for reviews
+from django_evolution.mutations import AddField
+from django.db import models
+
+
+MUTATIONS = [
+    AddField('Group', 'notification_mailing_list', models.EmailField, initial='', max_length=75)
+]
+#----------------------
diff --git a/reviewboard/reviews/models.py b/reviewboard/reviews/models.py
index 5f85e927956816b51338aafc318e155a14778a26..c9dddf4ea27de423e12f7914db47193122f24b50 100644
--- a/reviewboard/reviews/models.py
+++ b/reviewboard/reviews/models.py
@@ -53,6 +53,9 @@ class Group(models.Model):
         blank=True,
         help_text=_("The mailing list review requests and discussions "
                     "are sent to."))
+    notification_mailing_list = models.EmailField(_("notification mailing list"), blank=True,
+        help_text=_("The mailing list only discussions "
+                    "are sent to."))
     users = models.ManyToManyField(User, blank=True,
                                    related_name="review_groups",
                                    verbose_name=_("users"))
diff --git a/reviewboard/templates/notifications/review_request_email.html b/reviewboard/templates/notifications/review_request_email.html
index 94da8de4332d9235192a963e9e4959475e295507..da89b1e0aae73a274e8925deaec0dc025cfda068 100644
--- a/reviewboard/templates/notifications/review_request_email.html
+++ b/reviewboard/templates/notifications/review_request_email.html
@@ -89,9 +89,13 @@
 
 <h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> {% if changes and changes.diff %}(updated){% endif %}</h1>
 <ul style="margin-left: 3em; padding-left: 0;">
-{% for filediff in review_request.diffset_history.diffsets.latest.files.all %}
+
+{% for filediff in review_request.diffset_history.diffsets.latest.files.all|slice:":20" %}
  <li>{{filediff.source_file_display}} <span style="color: grey">({{filediff.source_revision}})</span></li>
 {% endfor %}
+{% for filediff in review_request.diffset_history.diffsets.latest.files.all|slice:"20:21" %}
+ <li>... and more other files</li>
+{% endfor %}
 </ul>
 
 <p><a href="{{domain_method}}://{{domain}}{% url 'view_diff' review_request.display_id %}" style="margin-left: 3em;">View Diff</a></p>
