diff --git a/django/contrib/comments/moderation.py b/django/contrib/comments/moderation.py
index 17d61da..1a679d7 100644
--- a/django/contrib/comments/moderation.py
+++ b/django/contrib/comments/moderation.py
@@ -60,7 +60,7 @@ from django.conf import settings
 from django.core.mail import send_mail
 from django.contrib.comments import signals
 from django.db.models.base import ModelBase
-from django.template import Context, loader
+from django.template import RequestContext, loader
 from django.contrib import comments
 from django.contrib.sites.models import Site
 
@@ -227,7 +227,7 @@ class CommentModerator(object):
                 return True
         return False
 
-    def email(self, comment, content_object, request):
+    def email(self, comment, content_object, request, extra_context=None):
         """
         Send email notification of a new comment to site staff when email
         notifications have been requested.
@@ -237,11 +237,12 @@ class CommentModerator(object):
             return
         recipient_list = [manager_tuple[1] for manager_tuple in settings.MANAGERS]
         t = loader.get_template('comments/comment_notification_email.txt')
-        c = Context({ 'comment': comment,
-                      'content_object': content_object })
+
+        context = { 'comment': comment, 'content_object': content_object }
+        context.update(extra_context or {})
         subject = '[%s] New comment posted on "%s"' % (Site.objects.get_current().name,
                                                           content_object)
-        message = t.render(c)
+        message = t.render(RequestContext(request, context))
         send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, recipient_list, fail_silently=True)
 
 class Moderator(object):
diff --git a/docs/ref/contrib/comments/moderation.txt b/docs/ref/contrib/comments/moderation.txt
index 4f4b326..2329bd0 100644
--- a/docs/ref/contrib/comments/moderation.txt
+++ b/docs/ref/contrib/comments/moderation.txt
@@ -159,7 +159,7 @@ object the comment will be attached to, and ``request``, which is the
     post on the content object, and ``False`` otherwise (in which
     case the comment will be immediately deleted).
 
-.. method:: CommentModerator.email(comment, content_object, request)
+.. method:: CommentModerator.email(comment, content_object, request, extra_context=None)
 
     If email notification of the new comment should be sent to
     site staff or moderators, this method is responsible for
diff --git a/tests/regressiontests/comment_tests/tests/comment_utils_moderators_tests.py b/tests/regressiontests/comment_tests/tests/comment_utils_moderators_tests.py
index 4177163..388c61d 100644
--- a/tests/regressiontests/comment_tests/tests/comment_utils_moderators_tests.py
+++ b/tests/regressiontests/comment_tests/tests/comment_utils_moderators_tests.py
@@ -4,6 +4,10 @@ from django.contrib.comments.models import Comment
 from django.contrib.comments.moderation import moderator, CommentModerator, AlreadyModerated
 from regressiontests.comment_tests.models import Entry
 from django.core import mail
+from django.template import loader, RequestContext
+from django.contrib.auth.models import User
+from django.conf import settings
+import django.template.context
 
 class EntryModerator1(CommentModerator):
     email_notification = True
@@ -27,6 +31,14 @@ class EntryModerator6(CommentModerator):
     auto_close_field = 'pub_date'
     close_after = 0
 
+class EntryModerator7(CommentModerator):
+    email_notification = True
+
+    def email(self, comment, content_object, request, extra_context=None):
+        extra_context = extra_context or {}
+        extra_context["foo"] = "bar"
+        super(EntryModerator7, self).email(comment, content_object, request, extra_context=extra_context)
+
 class CommentUtilsModeratorTests(CommentTestCase):
     fixtures = ["comment_utils.xml"]
 
@@ -90,4 +102,44 @@ class CommentUtilsModeratorTests(CommentTestCase):
     def testAutoCloseFieldImmediate(self):
         moderator.register(Entry, EntryModerator6)
         c1, c2 = self.createSomeComments()
-        self.assertEqual(Comment.objects.all().count(), 0)
\ No newline at end of file
+        self.assertEqual(Comment.objects.all().count(), 0)
+
+class CommentUtilsModeratorEmailTemplateTests(CommentUtilsModeratorTests):
+    def setUp(self):
+        super(CommentUtilsModeratorEmailTemplateTests, self).setUp()
+        self.orig_context_processors = settings.TEMPLATE_CONTEXT_PROCESSORS
+        settings.TEMPLATE_CONTEXT_PROCESSORS += ("django.core.context_processors.request",)
+        django.template.context._standard_context_processors = None
+        self.user = User.objects.create(username="frank_nobody",
+                                        email="fnobody@example.com",
+                                        password="",
+                                        is_active=True,
+                                        is_superuser=False,
+                                        is_staff=False)
+        self.user.set_password("password")
+        self.user.save()
+        logged_in = self.client.login(username="frank_nobody", password="password")
+        self.assertTrue(logged_in)        
+
+    def tearDown(self):
+        super(CommentUtilsModeratorEmailTemplateTests, self).tearDown()
+        settings.TEMPLATE_CONTEXT_PROCESSORS = self.orig_context_processors
+        django.template.context._standard_context_processors = None
+
+    def testEmailTemplate(self):
+        moderator.register(Entry, EntryModerator7)
+        c1, c2 = self.createSomeComments()
+        c1.user = self.user
+        c1.save()
+        # Send the user along as the test client's request does not have request.user
+        response = self.client.get("/", user=self.user)
+        request = response.request
+        content_type = c1.content_type
+        content_object = content_type.get_object_for_this_type(pk=c1.object_pk)
+        request_context = RequestContext(request, {})
+        template_contents = loader.render_to_string("comments/comment_notification_email.txt",
+                                                    {"comment": c1, 
+                                                     "content_object": content_object,
+                                                     "foo": "bar"}, 
+                                                    context_instance=request_context)
+        self.assertEquals(template_contents, mail.outbox[0].body)
diff --git a/tests/templates/comments/comment_notification_email.txt b/tests/templates/comments/comment_notification_email.txt
index 63f1493..38eb138 100644
--- a/tests/templates/comments/comment_notification_email.txt
+++ b/tests/templates/comments/comment_notification_email.txt
@@ -1,3 +1,6 @@
 A comment has been posted on {{ content_object }}.
 The comment reads as follows:
 {{ comment }}
+
+Extra Context: {{ foo }}
+Request User: {{ request.user }}
