Index: django/core/mail.py
===================================================================
--- django/core/mail.py	(revision 4372)
+++ django/core/mail.py	(working copy)
@@ -29,13 +29,16 @@
     """
     return send_mass_mail([[subject, message, from_email, recipient_list]], fail_silently, auth_user, auth_password)
 
-def send_mass_mail(datatuple, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD):
+def send_mass_mail(datatuple, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD, suppress_recipients=False):
     """
     Given a datatuple of (subject, message, from_email, recipient_list), sends
     each message to each recipient list. Returns the number of e-mails sent.
 
     If from_email is None, the DEFAULT_FROM_EMAIL setting is used.
     If auth_user and auth_password are set, they're used to log in.
+    If suppress_recipients is True, the first address in the recipients list
+    will be inserted into the 'To:' field and all other addresses will be
+    inserted into the 'Bcc:' field.
     """
     try:
         server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT)
@@ -53,7 +56,12 @@
         msg = SafeMIMEText(message, 'plain', settings.DEFAULT_CHARSET)
         msg['Subject'] = subject
         msg['From'] = from_email
-        msg['To'] = ', '.join(recipient_list)
+        if suppress_recipients:
+            msg['To'] = recipient_list[0]
+            if len(recipient_list) > 1:
+                msg['Bcc'] = ', '.join(recipient_list[1:])
+        else:
+            msg['To'] = ', '.join(recipient_list)
         msg['Date'] = rfc822.formatdate()
         try:
             random_bits = str(random.getrandbits(64))
Index: docs/email.txt
===================================================================
--- docs/email.txt	(revision 4372)
+++ docs/email.txt	(working copy)
@@ -65,7 +65,8 @@
 Here's the definition::
 
     send_mass_mail(datatuple, fail_silently=False,
-        auth_user=EMAIL_HOST_USER, auth_password=EMAIL_HOST_PASSWORD):
+        auth_user=EMAIL_HOST_USER, auth_password=EMAIL_HOST_PASSWORD,
+        suppress_recipients=False):
 
 ``datatuple`` is a tuple in which each element is in this format::
 
@@ -76,7 +77,10 @@
 
 Each separate element of ``datatuple`` results in a separate e-mail message.
 As in ``send_mail()``, recipients in the same ``recipient_list`` will all see
-the other addresses in the e-mail messages's "To:" field.
+the other addresses in the e-mail messages's "To:" field. To suppress all but
+a single address (useful for newsletters or mailing lists), use
+``suppress_recipients=True``; this will use the first address in the "To:"
+field, and place all other addresses in the "Bcc:" field.
 
 send_mass_mail() vs. send_mail()
 --------------------------------
