Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Changed e-mail to email throughout documentation and codebase. The on…

…e exception is translation strings, which I didn't want to disrupt

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 94af19c43fad3e42d64981e22fe15b844f1f9eb6 1 parent 7099d46
Adrian Holovaty authored

Showing 34 changed files with 239 additions and 239 deletions. Show diff stats Hide diff stats

  1. 14  django/conf/global_settings.py
  2. 2  django/contrib/auth/forms.py
  3. 6  django/contrib/auth/models.py
  4. 2  django/contrib/auth/tests/remote_user.py
  5. 4  django/core/mail/__init__.py
  6. 2  django/utils/log.py
  7. 2  docs/faq/help.txt
  8. 22  docs/howto/error-reporting.txt
  9. 2  docs/index.txt
  10. 2  docs/internals/committers.txt
  11. 4  docs/internals/contributing.txt
  12. 2  docs/misc/api-stability.txt
  13. 4  docs/ref/contrib/formtools/form-wizard.txt
  14. 10  docs/ref/contrib/sites.txt
  15. 12  docs/ref/contrib/syndication.txt
  16. 2  docs/ref/django-admin.txt
  17. 22  docs/ref/forms/api.txt
  18. 16  docs/ref/forms/fields.txt
  19. 10  docs/ref/forms/validation.txt
  20. 2  docs/ref/models/fields.txt
  21. 20  docs/ref/settings.txt
  22. 12  docs/ref/unicode.txt
  23. 2  docs/ref/validators.txt
  24. 20  docs/releases/1.2-alpha-1.txt
  25. 22  docs/releases/1.2.txt
  26. 14  docs/topics/auth.txt
  27. 2  docs/topics/cache.txt
  28. 180  docs/topics/email.txt
  29. 10  docs/topics/forms/index.txt
  30. 18  docs/topics/logging.txt
  31. 2  docs/topics/signals.txt
  32. 4  docs/topics/templates.txt
  33. 22  docs/topics/testing.txt
  34. 8  tests/regressiontests/admin_views/tests.py
14  django/conf/global_settings.py
@@ -124,7 +124,7 @@
124 124
 USE_L10N = False
125 125
 
126 126
 # Not-necessarily-technical managers of the site. They get broken link
127  
-# notifications and other various e-mails.
  127
+# notifications and other various emails.
128 128
 MANAGERS = ADMINS
129 129
 
130 130
 # Default content type and charset to use for all HttpResponse objects, if a
@@ -139,7 +139,7 @@
139 139
 # E-mail address that error messages come from.
140 140
 SERVER_EMAIL = 'root@localhost'
141 141
 
142  
-# Whether to send broken-link e-mails.
  142
+# Whether to send broken-link emails.
143 143
 SEND_BROKEN_LINK_EMAILS = False
144 144
 
145 145
 # Database connection info.
@@ -165,10 +165,10 @@
165 165
 # to a module that defines an EmailBackend class.
166 166
 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
167 167
 
168  
-# Host for sending e-mail.
  168
+# Host for sending email.
169 169
 EMAIL_HOST = 'localhost'
170 170
 
171  
-# Port for sending e-mail.
  171
+# Port for sending email.
172 172
 EMAIL_PORT = 25
173 173
 
174 174
 # Optional SMTP authentication information for EMAIL_HOST.
@@ -207,7 +207,7 @@
207 207
 # Output to use in template system for invalid (e.g. misspelled) variables.
208 208
 TEMPLATE_STRING_IF_INVALID = ''
209 209
 
210  
-# Default e-mail address to use for various automated correspondence from
  210
+# Default email address to use for various automated correspondence from
211 211
 # the site managers.
212 212
 DEFAULT_FROM_EMAIL = 'webmaster@localhost'
213 213
 
@@ -462,11 +462,11 @@
462 462
 # Set to None if you're not using it.
463 463
 COMMENTS_MODERATORS_GROUP = None
464 464
 
465  
-# The group ID that designates the users whose comments should be e-mailed to MANAGERS.
  465
+# The group ID that designates the users whose comments should be emailed to MANAGERS.
466 466
 # Set to None if you're not using it.
467 467
 COMMENTS_SKETCHY_USERS_GROUP = None
468 468
 
469  
-# The system will e-mail MANAGERS the first COMMENTS_FIRST_FEW comments by each
  469
+# The system will email MANAGERS the first COMMENTS_FIRST_FEW comments by each
470 470
 # user. Set this to 0 if you want to disable it.
471 471
 COMMENTS_FIRST_FEW = 0
472 472
 
2  django/contrib/auth/forms.py
@@ -109,7 +109,7 @@ class PasswordResetForm(forms.Form):
109 109
 
110 110
     def clean_email(self):
111 111
         """
112  
-        Validates that an active user exists with the given e-mail address.
  112
+        Validates that an active user exists with the given email address.
113 113
         """
114 114
         email = self.cleaned_data["email"]
115 115
         self.users_cache = User.objects.filter(
6  django/contrib/auth/models.py
@@ -100,7 +100,7 @@ class Group(models.Model):
100 100
 
101 101
     A user in a group automatically has all the permissions granted to that group. For example, if the group Site editors has the permission can_edit_home_page, any user in that group will have that permission.
102 102
 
103  
-    Beyond permissions, groups are a convenient way to categorize users to apply some label, or extended functionality, to them. For example, you could create a group 'Special users', and you could write code that would do special things to those users -- such as giving them access to a members-only portion of your site, or sending them members-only e-mail messages.
  103
+    Beyond permissions, groups are a convenient way to categorize users to apply some label, or extended functionality, to them. For example, you could create a group 'Special users', and you could write code that would do special things to those users -- such as giving them access to a members-only portion of your site, or sending them members-only email messages.
104 104
     """
105 105
     name = models.CharField(_('name'), max_length=80, unique=True)
106 106
     permissions = models.ManyToManyField(Permission, verbose_name=_('permissions'), blank=True)
@@ -115,7 +115,7 @@ def __unicode__(self):
115 115
 class UserManager(models.Manager):
116 116
     def create_user(self, username, email, password=None):
117 117
         """
118  
-        Creates and saves a User with the given username, e-mail and password.
  118
+        Creates and saves a User with the given username, email and password.
119 119
         """
120 120
         now = datetime.datetime.now()
121 121
 
@@ -353,7 +353,7 @@ def get_and_delete_messages(self):
353 353
         return messages
354 354
 
355 355
     def email_user(self, subject, message, from_email=None):
356  
-        "Sends an e-mail to this User."
  356
+        "Sends an email to this User."
357 357
         from django.core.mail import send_mail
358 358
         send_mail(subject, message, from_email, [self.email])
359 359
 
2  django/contrib/auth/tests/remote_user.py
@@ -147,7 +147,7 @@ class RemoteUserCustomTest(RemoteUserTest):
147 147
 
148 148
     backend =\
149 149
         'django.contrib.auth.tests.remote_user.CustomRemoteUserBackend'
150  
-    # REMOTE_USER strings with e-mail addresses for the custom backend to
  150
+    # REMOTE_USER strings with email addresses for the custom backend to
151 151
     # clean.
152 152
     known_user = 'knownuser@example.com'
153 153
     known_user2 = 'knownuser2@example.com'
4  django/core/mail/__init__.py
@@ -19,7 +19,7 @@
19 19
 from django.core.mail.backends.smtp import EmailBackend as _SMTPConnection
20 20
 
21 21
 def get_connection(backend=None, fail_silently=False, **kwds):
22  
-    """Load an e-mail backend and return an instance of it.
  22
+    """Load an email backend and return an instance of it.
23 23
 
24 24
     If backend is None (default) settings.EMAIL_BACKEND is used.
25 25
 
@@ -65,7 +65,7 @@ def send_mass_mail(datatuple, fail_silently=False, auth_user=None,
65 65
                    auth_password=None, connection=None):
66 66
     """
67 67
     Given a datatuple of (subject, message, from_email, recipient_list), sends
68  
-    each message to each recipient list. Returns the number of e-mails sent.
  68
+    each message to each recipient list. Returns the number of emails sent.
69 69
 
70 70
     If from_email is None, the DEFAULT_FROM_EMAIL setting is used.
71 71
     If auth_user and auth_password are set, they're used to log in.
2  django/utils/log.py
@@ -32,7 +32,7 @@ def __init__(self, include_html=False):
32 32
         logging.Handler.__init__(self)
33 33
         self.include_html = include_html
34 34
 
35  
-    """An exception log handler that e-mails log entries to site admins.
  35
+    """An exception log handler that emails log entries to site admins.
36 36
 
37 37
     If the request is passed as the first argument to the log record,
38 38
     request data will be provided in the
2  docs/faq/help.txt
@@ -44,7 +44,7 @@ the question on IRC -- visit the `#django IRC channel`_ on the Freenode IRC
44 44
 network.
45 45
 
46 46
 You might notice we have a second mailing list, called django-developers_ --
47  
-but please don't e-mail support questions to this mailing list. This list is
  47
+but please don't email support questions to this mailing list. This list is
48 48
 for discussion of the development of Django itself. Asking a tech support
49 49
 question there is considered quite impolite.
50 50
 
22  docs/howto/error-reporting.txt
... ...
@@ -1,4 +1,4 @@
1  
-Error reporting via e-mail
  1
+Error reporting via email
2 2
 ==========================
3 3
 
4 4
 When you're running a public site you should always turn off the
@@ -9,12 +9,12 @@ revealed by the error pages.
9 9
 However, running with :setting:`DEBUG` set to ``False`` means you'll never see
10 10
 errors generated by your site -- everyone will just see your public error pages.
11 11
 You need to keep track of errors that occur in deployed sites, so Django can be
12  
-configured to e-mail you details of those errors.
  12
+configured to email you details of those errors.
13 13
 
14 14
 Server errors
15 15
 -------------
16 16
 
17  
-When :setting:`DEBUG` is ``False``, Django will e-mail the users listed in the
  17
+When :setting:`DEBUG` is ``False``, Django will email the users listed in the
18 18
 :setting:`ADMINS` setting whenever your code raises an unhandled exception and
19 19
 results in an internal server error (HTTP status code 500). This gives the
20 20
 administrators immediate notification of any errors. The :setting:`ADMINS` will
@@ -23,7 +23,7 @@ the HTTP request that caused the error.
23 23
 
24 24
 .. note::
25 25
 
26  
-   In order to send e-mail, Django requires a few settings telling it
  26
+   In order to send email, Django requires a few settings telling it
27 27
    how to connect to your mail server. At the very least, you'll need
28 28
    to specify :setting:`EMAIL_HOST` and possibly
29 29
    :setting:`EMAIL_HOST_USER` and :setting:`EMAIL_HOST_PASSWORD`,
@@ -32,8 +32,8 @@ the HTTP request that caused the error.
32 32
    documentation </ref/settings>` for a full list of email-related
33 33
    settings.
34 34
 
35  
-By default, Django will send e-mail from root@localhost. However, some mail
36  
-providers reject all e-mail from this address. To use a different sender
  35
+By default, Django will send email from root@localhost. However, some mail
  36
+providers reject all email from this address. To use a different sender
37 37
 address, modify the :setting:`SERVER_EMAIL` setting.
38 38
 
39 39
 To disable this behavior, just remove all entries from the :setting:`ADMINS`
@@ -43,15 +43,15 @@ setting.
43 43
 
44 44
    .. versionadded:: 1.3
45 45
 
46  
-   Server error e-mails are sent using the logging framework, so you can
  46
+   Server error emails are sent using the logging framework, so you can
47 47
    customize this behaviour by :doc:`customizing your logging configuration
48 48
    </topics/logging>`.
49 49
 
50 50
 404 errors
51 51
 ----------
52 52
 
53  
-Django can also be configured to e-mail errors about broken links (404 "page
54  
-not found" errors). Django sends e-mails about 404 errors when:
  53
+Django can also be configured to email errors about broken links (404 "page
  54
+not found" errors). Django sends emails about 404 errors when:
55 55
 
56 56
     * :setting:`DEBUG` is ``False``
57 57
 
@@ -60,9 +60,9 @@ not found" errors). Django sends e-mails about 404 errors when:
60 60
     * Your :setting:`MIDDLEWARE_CLASSES` setting includes ``CommonMiddleware``
61 61
       (which it does by default).
62 62
 
63  
-If those conditions are met, Django will e-mail the users listed in the
  63
+If those conditions are met, Django will email the users listed in the
64 64
 :setting:`MANAGERS` setting whenever your code raises a 404 and the request has
65  
-a referer. (It doesn't bother to e-mail for 404s that don't have a referer --
  65
+a referer. (It doesn't bother to email for 404s that don't have a referer --
66 66
 those are usually just people typing in broken URLs or broken Web 'bots).
67 67
 
68 68
 You can tell Django to stop reporting particular 404s by tweaking the
2  docs/index.txt
@@ -159,7 +159,7 @@ The development process
159 159
       :doc:`FastCGI/SCGI/AJP <howto/deployment/fastcgi>` |
160 160
       :doc:`Apache authentication <howto/apache-auth>` |
161 161
       :doc:`Handling static files <howto/static-files>` |
162  
-      :doc:`Tracking code errors by e-mail <howto/error-reporting>`
  162
+      :doc:`Tracking code errors by email <howto/error-reporting>`
163 163
 
164 164
 Other batteries included
165 165
 ========================
2  docs/internals/committers.txt
@@ -151,7 +151,7 @@ Joseph Kocherhans
151 151
 `Gary Wilson`_
152 152
     Gary starting contributing patches to Django in 2006 while developing Web
153 153
     applications for `The University of Texas`_ (UT).  Since, he has made
154  
-    contributions to the e-mail and forms systems, as well as many other
  154
+    contributions to the email and forms systems, as well as many other
155 155
     improvements and code cleanups throughout the code base.
156 156
 
157 157
     Gary is currently a developer and software engineering graduate student at
4  docs/internals/contributing.txt
@@ -113,7 +113,7 @@ following actions:
113 113
       security problems immediately.
114 114
 
115 115
     * Pre-notify everyone we know to be running the affected version(s) of
116  
-      Django. We will send these notifications through private e-mail
  116
+      Django. We will send these notifications through private email
117 117
       which will include documentation of the vulnerability, links to the
118 118
       relevant patch(es), and a request to keep the vulnerability
119 119
       confidential until the official go-public date.
@@ -788,7 +788,7 @@ documentation:
788 788
     * **Django** -- when referring to the framework, capitalize Django. It is
789 789
       lowercase only in Python code and in the djangoproject.com logo.
790 790
 
791  
-    * **e-mail** -- it has a hyphen.
  791
+    * **email** -- no hyphen.
792 792
 
793 793
     * **MySQL**
794 794
 
2  docs/misc/api-stability.txt
@@ -45,7 +45,7 @@ of 1.0. This includes these APIs:
45 45
     - :doc:`Model definition, managers, querying and transactions
46 46
       </topics/db/index>`
47 47
 
48  
-    - :doc:`Sending e-mail </topics/email>`.
  48
+    - :doc:`Sending email </topics/email>`.
49 49
 
50 50
     - :doc:`File handling and storage </topics/files>`
51 51
 
4  docs/ref/contrib/formtools/form-wizard.txt
@@ -35,7 +35,7 @@ Here's the basic workflow for how a user would use a wizard:
35 35
     3. Step 1 and 2 repeat, for every subsequent form in the wizard.
36 36
     4. Once the user has submitted all the forms and all the data has been
37 37
        validated, the wizard processes the data -- saving it to the database,
38  
-       sending an e-mail, or whatever the application needs to do.
  38
+       sending an email, or whatever the application needs to do.
39 39
 
40 40
 Usage
41 41
 =====
@@ -67,7 +67,7 @@ convention is to put them in a file called :file:`forms.py` in your
67 67
 application.
68 68
 
69 69
 For example, let's write a "contact form" wizard, where the first page's form
70  
-collects the sender's e-mail address and subject, and the second page collects
  70
+collects the sender's email address and subject, and the second page collects
71 71
 the message itself. Here's what the :file:`forms.py` might look like::
72 72
 
73 73
     from django import forms
10  docs/ref/contrib/sites.txt
@@ -181,9 +181,9 @@ fallback for cases where it is not installed.
181 181
 Getting the current domain for display
182 182
 --------------------------------------
183 183
 
184  
-LJWorld.com and Lawrence.com both have e-mail alert functionality, which lets
  184
+LJWorld.com and Lawrence.com both have email alert functionality, which lets
185 185
 readers sign up to get notifications when news happens. It's pretty basic: A
186  
-reader signs up on a Web form, and he immediately gets an e-mail saying,
  186
+reader signs up on a Web form, and he immediately gets an email saying,
187 187
 "Thanks for your subscription."
188 188
 
189 189
 It'd be inefficient and redundant to implement this signup-processing code
@@ -211,9 +211,9 @@ Here's an example of what the form-handling view looks like::
211 211
 
212 212
         # ...
213 213
 
214  
-On Lawrence.com, this e-mail has the subject line "Thanks for subscribing to
215  
-lawrence.com alerts." On LJWorld.com, the e-mail has the subject "Thanks for
216  
-subscribing to LJWorld.com alerts." Same goes for the e-mail's message body.
  214
+On Lawrence.com, this email has the subject line "Thanks for subscribing to
  215
+lawrence.com alerts." On LJWorld.com, the email has the subject "Thanks for
  216
+subscribing to LJWorld.com alerts." Same goes for the email's message body.
217 217
 
218 218
 Note that an even more flexible (but more heavyweight) way of doing this would
219 219
 be to use Django's template system. Assuming Lawrence.com and LJWorld.com have
12  docs/ref/contrib/syndication.txt
@@ -455,15 +455,15 @@ This example illustrates all possible attributes and methods for a
455 455
         def author_email(self, obj):
456 456
             """
457 457
             Takes the object returned by get_object() and returns the feed's
458  
-            author's e-mail as a normal Python string.
  458
+            author's email as a normal Python string.
459 459
             """
460 460
 
461 461
         def author_email(self):
462 462
             """
463  
-            Returns the feed's author's e-mail as a normal Python string.
  463
+            Returns the feed's author's email as a normal Python string.
464 464
             """
465 465
 
466  
-        author_email = 'test@example.com' # Hard-coded author e-mail.
  466
+        author_email = 'test@example.com' # Hard-coded author email.
467 467
 
468 468
         # AUTHOR LINK --One of the following three is optional. The framework
469 469
         # looks for them in this order. In each case, the URL should include
@@ -637,15 +637,15 @@ This example illustrates all possible attributes and methods for a
637 637
         def item_author_email(self, obj):
638 638
             """
639 639
             Takes an item, as returned by items(), and returns the item's
640  
-            author's e-mail as a normal Python string.
  640
+            author's email as a normal Python string.
641 641
             """
642 642
 
643 643
         def item_author_email(self):
644 644
             """
645  
-            Returns the author e-mail for every item in the feed.
  645
+            Returns the author email for every item in the feed.
646 646
             """
647 647
 
648  
-        item_author_email = 'test@example.com' # Hard-coded author e-mail.
  648
+        item_author_email = 'test@example.com' # Hard-coded author email.
649 649
 
650 650
         # ITEM AUTHOR LINK -- One of the following three is optional. The
651 651
         # framework looks for them in this order. In each case, the URL should
2  docs/ref/django-admin.txt
@@ -1086,7 +1086,7 @@ a password has been manually set for it.
1086 1086
 .. django-admin-option:: --username
1087 1087
 .. django-admin-option:: --email
1088 1088
 
1089  
-The username and e-mail address for the new account can be supplied by
  1089
+The username and email address for the new account can be supplied by
1090 1090
 using the ``--username`` and ``--email`` arguments on the command
1091 1091
 line. If either of those is not supplied, ``createsuperuser`` will prompt for
1092 1092
 it when running interactively.
22  docs/ref/forms/api.txt
@@ -89,11 +89,11 @@ and return a boolean designating whether the data was valid::
89 89
 
90 90
 Let's try with some invalid data. In this case, ``subject`` is blank (an error,
91 91
 because all fields are required by default) and ``sender`` is not a valid
92  
-e-mail address::
  92
+email address::
93 93
 
94 94
     >>> data = {'subject': '',
95 95
     ...         'message': 'Hi there',
96  
-    ...         'sender': 'invalid e-mail address',
  96
+    ...         'sender': 'invalid email address',
97 97
     ...         'cc_myself': True}
98 98
     >>> f = ContactForm(data)
99 99
     >>> f.is_valid()
@@ -105,7 +105,7 @@ Access the :attr:`~Form.errors` attribute to get a dictionary of error
105 105
 messages::
106 106
 
107 107
     >>> f.errors
108  
-    {'sender': [u'Enter a valid e-mail address.'], 'subject': [u'This field is required.']}
  108
+    {'sender': [u'Enter a valid email address.'], 'subject': [u'This field is required.']}
109 109
 
110 110
 In this dictionary, the keys are the field names, and the values are lists of
111 111
 Unicode strings representing the error messages. The error messages are stored
@@ -204,7 +204,7 @@ If your data does *not* validate, your ``Form`` instance will not have a
204 204
 
205 205
     >>> data = {'subject': '',
206 206
     ...         'message': 'Hi there',
207  
-    ...         'sender': 'invalid e-mail address',
  207
+    ...         'sender': 'invalid email address',
208 208
     ...         'cc_myself': True}
209 209
     >>> f = ContactForm(data)
210 210
     >>> f.is_valid()
@@ -531,25 +531,25 @@ method you're using::
531 531
 
532 532
     >>> data = {'subject': '',
533 533
     ...         'message': 'Hi there',
534  
-    ...         'sender': 'invalid e-mail address',
  534
+    ...         'sender': 'invalid email address',
535 535
     ...         'cc_myself': True}
536 536
     >>> f = ContactForm(data, auto_id=False)
537 537
     >>> print f.as_table()
538 538
     <tr><th>Subject:</th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="subject" maxlength="100" /></td></tr>
539 539
     <tr><th>Message:</th><td><input type="text" name="message" value="Hi there" /></td></tr>
540  
-    <tr><th>Sender:</th><td><ul class="errorlist"><li>Enter a valid e-mail address.</li></ul><input type="text" name="sender" value="invalid e-mail address" /></td></tr>
  540
+    <tr><th>Sender:</th><td><ul class="errorlist"><li>Enter a valid email address.</li></ul><input type="text" name="sender" value="invalid email address" /></td></tr>
541 541
     <tr><th>Cc myself:</th><td><input checked="checked" type="checkbox" name="cc_myself" /></td></tr>
542 542
     >>> print f.as_ul()
543 543
     <li><ul class="errorlist"><li>This field is required.</li></ul>Subject: <input type="text" name="subject" maxlength="100" /></li>
544 544
     <li>Message: <input type="text" name="message" value="Hi there" /></li>
545  
-    <li><ul class="errorlist"><li>Enter a valid e-mail address.</li></ul>Sender: <input type="text" name="sender" value="invalid e-mail address" /></li>
  545
+    <li><ul class="errorlist"><li>Enter a valid email address.</li></ul>Sender: <input type="text" name="sender" value="invalid email address" /></li>
546 546
     <li>Cc myself: <input checked="checked" type="checkbox" name="cc_myself" /></li>
547 547
     >>> print f.as_p()
548 548
     <p><ul class="errorlist"><li>This field is required.</li></ul></p>
549 549
     <p>Subject: <input type="text" name="subject" maxlength="100" /></p>
550 550
     <p>Message: <input type="text" name="message" value="Hi there" /></p>
551  
-    <p><ul class="errorlist"><li>Enter a valid e-mail address.</li></ul></p>
552  
-    <p>Sender: <input type="text" name="sender" value="invalid e-mail address" /></p>
  551
+    <p><ul class="errorlist"><li>Enter a valid email address.</li></ul></p>
  552
+    <p>Sender: <input type="text" name="sender" value="invalid email address" /></p>
553 553
     <p>Cc myself: <input checked="checked" type="checkbox" name="cc_myself" /></p>
554 554
 
555 555
 Customizing the error list format
@@ -571,8 +571,8 @@ pass that in at construction time::
571 571
     <div class="errorlist"><div class="error">This field is required.</div></div>
572 572
     <p>Subject: <input type="text" name="subject" maxlength="100" /></p>
573 573
     <p>Message: <input type="text" name="message" value="Hi there" /></p>
574  
-    <div class="errorlist"><div class="error">Enter a valid e-mail address.</div></div>
575  
-    <p>Sender: <input type="text" name="sender" value="invalid e-mail address" /></p>
  574
+    <div class="errorlist"><div class="error">Enter a valid email address.</div></div>
  575
+    <p>Sender: <input type="text" name="sender" value="invalid email address" /></p>
576 576
     <p>Cc myself: <input checked="checked" type="checkbox" name="cc_myself" /></p>
577 577
 
578 578
 More granular output
16  docs/ref/forms/fields.txt
@@ -27,10 +27,10 @@ exception or returns the clean value::
27 27
     u'foo@example.com'
28 28
     >>> f.clean(u'foo@example.com')
29 29
     u'foo@example.com'
30  
-    >>> f.clean('invalid e-mail address')
  30
+    >>> f.clean('invalid email address')
31 31
     Traceback (most recent call last):
32 32
     ...
33  
-    ValidationError: [u'Enter a valid e-mail address.']
  33
+    ValidationError: [u'Enter a valid email address.']
34 34
 
35 35
 Core field arguments
36 36
 --------------------
@@ -208,23 +208,23 @@ fields. We've specified ``auto_id=False`` to simplify the output::
208 208
     >>> class HelpTextContactForm(forms.Form):
209 209
     ...     subject = forms.CharField(max_length=100, help_text='100 characters max.')
210 210
     ...     message = forms.CharField()
211  
-    ...     sender = forms.EmailField(help_text='A valid e-mail address, please.')
  211
+    ...     sender = forms.EmailField(help_text='A valid email address, please.')
212 212
     ...     cc_myself = forms.BooleanField(required=False)
213 213
     >>> f = HelpTextContactForm(auto_id=False)
214 214
     >>> print f.as_table()
215 215
     <tr><th>Subject:</th><td><input type="text" name="subject" maxlength="100" /><br /><span class="helptext">100 characters max.</span></td></tr>
216 216
     <tr><th>Message:</th><td><input type="text" name="message" /></td></tr>
217  
-    <tr><th>Sender:</th><td><input type="text" name="sender" /><br />A valid e-mail address, please.</td></tr>
  217
+    <tr><th>Sender:</th><td><input type="text" name="sender" /><br />A valid email address, please.</td></tr>
218 218
     <tr><th>Cc myself:</th><td><input type="checkbox" name="cc_myself" /></td></tr>
219 219
     >>> print f.as_ul()
220 220
     <li>Subject: <input type="text" name="subject" maxlength="100" /> <span class="helptext">100 characters max.</span></li>
221 221
     <li>Message: <input type="text" name="message" /></li>
222  
-    <li>Sender: <input type="text" name="sender" /> A valid e-mail address, please.</li>
  222
+    <li>Sender: <input type="text" name="sender" /> A valid email address, please.</li>
223 223
     <li>Cc myself: <input type="checkbox" name="cc_myself" /></li>
224 224
     >>> print f.as_p()
225 225
     <p>Subject: <input type="text" name="subject" maxlength="100" /> <span class="helptext">100 characters max.</span></p>
226 226
     <p>Message: <input type="text" name="message" /></p>
227  
-    <p>Sender: <input type="text" name="sender" /> A valid e-mail address, please.</p>
  227
+    <p>Sender: <input type="text" name="sender" /> A valid email address, please.</p>
228 228
     <p>Cc myself: <input type="checkbox" name="cc_myself" /></p>
229 229
 
230 230
 ``error_messages``
@@ -481,7 +481,7 @@ Takes four optional arguments:
481 481
     * Default widget: ``TextInput``
482 482
     * Empty value: ``''`` (an empty string)
483 483
     * Normalizes to: A Unicode object.
484  
-    * Validates that the given value is a valid e-mail address, using a
  484
+    * Validates that the given value is a valid email address, using a
485 485
       moderately complex regular expression.
486 486
     * Error message keys: ``required``, ``invalid``
487 487
 
@@ -490,7 +490,7 @@ If provided, these arguments ensure that the string is at most or at least the
490 490
 given length.
491 491
 
492 492
 .. versionchanged:: 1.2
493  
-   The EmailField previously did not recognize e-mail addresses as valid that
  493
+   The EmailField previously did not recognize email addresses as valid that
494 494
    contained an IDN (Internationalized Domain Name; a domain containing
495 495
    unicode characters) domain part. This has now been corrected.
496 496
 
10  docs/ref/forms/validation.txt
@@ -77,7 +77,7 @@ overridden:
77 77
     * The Form subclass's ``clean()`` method. This method can perform
78 78
       any validation that requires access to multiple fields from the form at
79 79
       once. This is where you might put in things to check that if field ``A``
80  
-      is supplied, field ``B`` must contain a valid e-mail address and the
  80
+      is supplied, field ``B`` must contain a valid email address and the
81 81
       like. The data that this method returns is the final ``cleaned_data``
82 82
       attribute for the form, so don't forget to return the full list of
83 83
       cleaned data if you override this method (by default, ``Form.clean()``
@@ -187,12 +187,12 @@ a look at Django's ``EmailField``::
187 187
 
188 188
     class EmailField(CharField):
189 189
         default_error_messages = {
190  
-            'invalid': _(u'Enter a valid e-mail address.'),
  190
+            'invalid': _(u'Enter a valid email address.'),
191 191
         }
192 192
         default_validators = [validators.validate_email]
193 193
 
194 194
 As you can see, ``EmailField`` is just a ``CharField`` with customized error
195  
-message and a validator that validates e-mail addresses. This can also be done
  195
+message and a validator that validates email addresses. This can also be done
196 196
 on field definition so::
197 197
 
198 198
     email = forms.EmailField()
@@ -200,14 +200,14 @@ on field definition so::
200 200
 is equivalent to::
201 201
 
202 202
     email = forms.CharField(validators=[validators.validate_email],
203  
-            error_messages={'invalid': _(u'Enter a valid e-mail address.')})
  203
+            error_messages={'invalid': _(u'Enter a valid email address.')})
204 204
 
205 205
 
206 206
 Form field default cleaning
207 207
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208 208
 
209 209
 Let's firstly create a custom form field that validates its input is a string
210  
-containing comma-separated e-mail addresses. The full class looks like this::
  210
+containing comma-separated email addresses. The full class looks like this::
211 211
 
212 212
     from django import forms
213 213
     from django.core.validators import validate_email
2  docs/ref/models/fields.txt
@@ -469,7 +469,7 @@ The admin represents this as an ``<input type="text">`` (a single-line input).
469 469
 
470 470
 .. class:: EmailField([max_length=75, **options])
471 471
 
472  
-A :class:`CharField` that checks that the value is a valid e-mail address.
  472
+A :class:`CharField` that checks that the value is a valid email address.
473 473
 
474 474
 ``FileField``
475 475
 -------------
20  docs/ref/settings.txt
@@ -66,13 +66,13 @@ ADMINS
66 66
 Default: ``()`` (Empty tuple)
67 67
 
68 68
 A tuple that lists people who get code error notifications. When
69  
-``DEBUG=False`` and a view raises an exception, Django will e-mail these people
  69
+``DEBUG=False`` and a view raises an exception, Django will email these people
70 70
 with the full exception information. Each member of the tuple should be a tuple
71  
-of (Full name, e-mail address). Example::
  71
+of (Full name, email address). Example::
72 72
 
73 73
     (('John', 'john@example.com'), ('Mary', 'mary@example.com'))
74 74
 
75  
-Note that Django will e-mail *all* of these people whenever an error happens.
  75
+Note that Django will email *all* of these people whenever an error happens.
76 76
 See :doc:`/howto/error-reporting` for more information.
77 77
 
78 78
 .. setting:: ALLOWED_INCLUDE_ROOTS
@@ -756,7 +756,7 @@ DEFAULT_FROM_EMAIL
756 756
 
757 757
 Default: ``'webmaster@localhost'``
758 758
 
759  
-Default e-mail address to use for various automated correspondence from the
  759
+Default email address to use for various automated correspondence from the
760 760
 site manager(s).
761 761
 
762 762
 .. setting:: DEFAULT_INDEX_TABLESPACE
@@ -821,7 +821,7 @@ EMAIL_HOST
821 821
 
822 822
 Default: ``'localhost'``
823 823
 
824  
-The host to use for sending e-mail.
  824
+The host to use for sending email.
825 825
 
826 826
 See also ``EMAIL_PORT``.
827 827
 
@@ -867,7 +867,7 @@ EMAIL_SUBJECT_PREFIX
867 867
 
868 868
 Default: ``'[Django] '``
869 869
 
870  
-Subject-line prefix for e-mail messages sent with ``django.core.mail.mail_admins``
  870
+Subject-line prefix for email messages sent with ``django.core.mail.mail_admins``
871 871
 or ``django.core.mail.mail_managers``. You'll probably want to include the
872 872
 trailing space.
873 873
 
@@ -1028,7 +1028,7 @@ IGNORABLE_404_ENDS
1028 1028
 
1029 1029
 Default: ``('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')``
1030 1030
 
1031  
-See also ``IGNORABLE_404_STARTS`` and ``Error reporting via e-mail``.
  1031
+See also ``IGNORABLE_404_STARTS`` and ``Error reporting via email``.
1032 1032
 
1033 1033
 .. setting:: IGNORABLE_404_STARTS
1034 1034
 
@@ -1038,7 +1038,7 @@ IGNORABLE_404_STARTS
1038 1038
 Default: ``('/cgi-bin/', '/_vti_bin', '/_vti_inf')``
1039 1039
 
1040 1040
 A tuple of strings that specify beginnings of URLs that should be ignored by
1041  
-the 404 e-mailer. See ``SEND_BROKEN_LINK_EMAILS``, ``IGNORABLE_404_ENDS`` and
  1041
+the 404 emailer. See ``SEND_BROKEN_LINK_EMAILS``, ``IGNORABLE_404_ENDS`` and
1042 1042
 the :doc:`/howto/error-reporting`.
1043 1043
 
1044 1044
 .. setting:: INSTALLED_APPS
@@ -1433,7 +1433,7 @@ SEND_BROKEN_LINK_EMAILS
1433 1433
 
1434 1434
 Default: ``False``
1435 1435
 
1436  
-Whether to send an e-mail to the ``MANAGERS`` each time somebody visits a
  1436
+Whether to send an email to the ``MANAGERS`` each time somebody visits a
1437 1437
 Django-powered page that is 404ed with a non-empty referer (i.e., a broken
1438 1438
 link). This is only used if ``CommonMiddleware`` is installed (see
1439 1439
 :doc:`/topics/http/middleware`. See also ``IGNORABLE_404_STARTS``,
@@ -1459,7 +1459,7 @@ SERVER_EMAIL
1459 1459
 
1460 1460
 Default: ``'root@localhost'``
1461 1461
 
1462  
-The e-mail address that error messages come from, such as those sent to
  1462
+The email address that error messages come from, such as those sent to
1463 1463
 ``ADMINS`` and ``MANAGERS``.
1464 1464
 
1465 1465
 .. setting:: SESSION_COOKIE_AGE
12  docs/ref/unicode.txt
@@ -61,7 +61,7 @@ passing them around at will, because ASCII is a subset of UTF-8.
61 61
 Don't be fooled into thinking that if your :setting:`DEFAULT_CHARSET` setting is set
62 62
 to something other than ``'utf-8'`` you can use that other encoding in your
63 63
 bytestrings! :setting:`DEFAULT_CHARSET` only applies to the strings generated as
64  
-the result of template rendering (and e-mail). Django will always assume UTF-8
  64
+the result of template rendering (and email). Django will always assume UTF-8
65 65
 encoding for internal bytestrings. The reason for this is that the
66 66
 :setting:`DEFAULT_CHARSET` setting is not actually under your control (if you are the
67 67
 application developer). It's under the control of the person installing and
@@ -304,16 +304,16 @@ A couple of tips to remember when writing your own template tags and filters:
304 304
       translation objects into strings. It's easier to work solely with Unicode
305 305
       strings at that point.
306 306
 
307  
-E-mail
  307
+Email
308 308
 ======
309 309
 
310  
-Django's e-mail framework (in ``django.core.mail``) supports Unicode
  310
+Django's email framework (in ``django.core.mail``) supports Unicode
311 311
 transparently. You can use Unicode data in the message bodies and any headers.
312  
-However, you're still obligated to respect the requirements of the e-mail
313  
-specifications, so, for example, e-mail addresses should use only ASCII
  312
+However, you're still obligated to respect the requirements of the email
  313
+specifications, so, for example, email addresses should use only ASCII
314 314
 characters.
315 315
 
316  
-The following code example demonstrates that everything except e-mail addresses
  316
+The following code example demonstrates that everything except email addresses
317 317
 can be non-ASCII::
318 318
 
319 319
     from django.core.mail import EmailMessage
2  docs/ref/validators.txt
@@ -106,7 +106,7 @@ to, or in lieu of custom ``field.clean()`` methods.
106 106
 .. data:: validate_email
107 107
 
108 108
     A :class:`RegexValidator` instance that ensures a value looks like an
109  
-    e-mail address.
  109
+    email address.
110 110
 
111 111
 ``validate_slug``
112 112
 -----------------
20  docs/releases/1.2-alpha-1.txt
@@ -202,7 +202,7 @@ deprecated, as described in the :ref:`upgrading notes <ref-csrf-upgrading-notes>
202 202
 ------------------
203 203
 
204 204
 The ``SMTPConnection`` class has been deprecated in favor of a generic
205  
-E-mail backend API. Old code that explicitly instantiated an instance
  205
+Email backend API. Old code that explicitly instantiated an instance
206 206
 of an SMTPConnection::
207 207
 
208 208
     from django.core.mail import SMTPConnection
@@ -211,7 +211,7 @@ of an SMTPConnection::
211 211
     connection.send_messages(messages)
212 212
 
213 213
 should now call :meth:`~django.core.mail.get_connection()` to
214  
-instantiate a generic e-mail connection::
  214
+instantiate a generic email connection::
215 215
 
216 216
     from django.core.mail import get_connection
217 217
     connection = get_connection()
@@ -220,7 +220,7 @@ instantiate a generic e-mail connection::
220 220
 
221 221
 Depending on the value of the :setting:`EMAIL_BACKEND` setting, this
222 222
 may not return an SMTP connection. If you explicitly require an SMTP
223  
-connection with which to send e-mail, you can explicitly request an
  223
+connection with which to send email, you can explicitly request an
224 224
 SMTP connection::
225 225
 
226 226
     from django.core.mail import get_connection
@@ -385,23 +385,23 @@ malicious site in their browser. A related type of attack, 'login
385 385
 CSRF', where an attacking site tricks a user's browser into logging
386 386
 into a site with someone else's credentials, is also covered.
387 387
 
388  
-E-mail Backends
  388
+Email Backends
389 389
 ---------------
390 390
 
391  
-You can now :ref:`configure the way that Django sends e-mail
392  
-<topic-email-backends>`. Instead of using SMTP to send all e-mail, you
393  
-can now choose a configurable e-mail backend to send messages. If your
  391
+You can now :ref:`configure the way that Django sends email
  392
+<topic-email-backends>`. Instead of using SMTP to send all email, you
  393
+can now choose a configurable email backend to send messages. If your
394 394
 hosting provider uses a sandbox or some other non-SMTP technique for
395  
-sending mail, you can now construct an e-mail backend that will allow
  395
+sending mail, you can now construct an email backend that will allow
396 396
 Django's standard :doc:`mail sending methods</topics/email>` to use
397 397
 those facilities.
398 398
 
399 399
 This also makes it easier to debug mail sending - Django ships with
400  
-backend implementations that allow you to send e-mail to a
  400
+backend implementations that allow you to send email to a
401 401
 :ref:`file<topic-email-file-backend>`, to the
402 402
 :ref:`console<topic-email-console-backend>`, or to
403 403
 :ref:`memory<topic-email-memory-backend>` - you can even configure all
404  
-e-mail to be :ref:`thrown away<topic-email-dummy-backend>`.
  404
+email to be :ref:`thrown away<topic-email-dummy-backend>`.
405 405
 
406 406
 Messages Framework
407 407
 ------------------
22  docs/releases/1.2.txt
@@ -30,7 +30,7 @@ Django 1.2 introduces several large, important new features, including:
30 30
     * Hooks for `object-level permissions`_, `permissions for anonymous users`_,
31 31
       and `more flexible username requirements`_.
32 32
 
33  
-    * Customization of e-mail sending via `e-mail backends`_.
  33
+    * Customization of email sending via `email backends`_.
34 34
 
35 35
     * New :ref:`"smart" if template tag <new-in-1.2-smart-if>` which supports
36 36
       comparison operators.
@@ -184,23 +184,23 @@ The built-in :class:`~django.contrib.auth.models.User` model's
184 184
 :attr:`~django.contrib.auth.models.User.username` field now allows a wider range
185 185
 of characters, including ``@``, ``+``, ``.`` and ``-`` characters.
186 186
 
187  
-E-mail backends
  187
+Email backends
188 188
 ---------------
189 189
 
190  
-You can now :ref:`configure the way that Django sends e-mail
191  
-<topic-email-backends>`. Instead of using SMTP to send all e-mail, you
192  
-can now choose a configurable e-mail backend to send messages. If your
  190
+You can now :ref:`configure the way that Django sends email
  191
+<topic-email-backends>`. Instead of using SMTP to send all email, you
  192
+can now choose a configurable email backend to send messages. If your
193 193
 hosting provider uses a sandbox or some other non-SMTP technique for
194  
-sending mail, you can now construct an e-mail backend that will allow
  194
+sending mail, you can now construct an email backend that will allow
195 195
 Django's standard :doc:`mail sending methods</topics/email>` to use
196 196
 those facilities.
197 197
 
198 198
 This also makes it easier to debug mail sending. Django ships with
199  
-backend implementations that allow you to send e-mail to a
  199
+backend implementations that allow you to send email to a
200 200
 :ref:`file<topic-email-file-backend>`, to the
201 201
 :ref:`console<topic-email-console-backend>`, or to
202 202
 :ref:`memory<topic-email-memory-backend>`. You can even configure all
203  
-e-mail to be :ref:`thrown away<topic-email-dummy-backend>`.
  203
+email to be :ref:`thrown away<topic-email-dummy-backend>`.
204 204
 
205 205
 .. _new-in-1.2-smart-if:
206 206
 
@@ -868,7 +868,7 @@ imports are deprecated, as described in the :ref:`upgrading notes
868 868
 ------------------
869 869
 
870 870
 The ``SMTPConnection`` class has been deprecated in favor of a generic
871  
-e-mail backend API. Old code that explicitly instantiated an instance
  871
+email backend API. Old code that explicitly instantiated an instance
872 872
 of an SMTPConnection::
873 873
 
874 874
     from django.core.mail import SMTPConnection
@@ -877,7 +877,7 @@ of an SMTPConnection::
877 877
     connection.send_messages(messages)
878 878
 
879 879
 ...should now call :meth:`~django.core.mail.get_connection()` to
880  
-instantiate a generic e-mail connection::
  880
+instantiate a generic email connection::
881 881
 
882 882
     from django.core.mail import get_connection
883 883
     connection = get_connection()
@@ -886,7 +886,7 @@ instantiate a generic e-mail connection::
886 886
 
887 887
 Depending on the value of the :setting:`EMAIL_BACKEND` setting, this
888 888
 may not return an SMTP connection. If you explicitly require an SMTP
889  
-connection with which to send e-mail, you can explicitly request an
  889
+connection with which to send email, you can explicitly request an
890 890
 SMTP connection::
891 891
 
892 892
     from django.core.mail import get_connection
14  docs/topics/auth.txt
@@ -84,7 +84,7 @@ Fields
84 84
 
85 85
     .. attribute:: models.User.email
86 86
 
87  
-        Optional. E-mail address.
  87
+        Optional. Email address.
88 88
 
89 89
     .. attribute:: models.User.password
90 90
 
@@ -263,7 +263,7 @@ Methods
263 263
 
264 264
     .. method:: models.User.email_user(subject, message, from_email=None)
265 265
 
266  
-        Sends an e-mail to the user. If
  266
+        Sends an email to the user. If
267 267
         :attr:`~django.contrib.auth.models.User.from_email` is ``None``, Django
268 268
         uses the :setting:`DEFAULT_FROM_EMAIL`.
269 269
 
@@ -948,7 +948,7 @@ includes a few other useful built-in views located in
948 948
 
949 949
     Allows a user to reset their password by generating a one-time use link
950 950
     that can be used to reset the password, and sending that link to the
951  
-    user's registered e-mail address.
  951
+    user's registered email address.
952 952
 
953 953
     .. versionchanged:: 1.3
954 954
         The ``from_email`` argument was added.
@@ -960,7 +960,7 @@ includes a few other useful built-in views located in
960 960
           :file:`registration/password_reset_form.html` if not supplied.
961 961
 
962 962
         * ``email_template_name``: The full name of a template to use for
963  
-          generating the e-mail with the new password. This will default to
  963
+          generating the email with the new password. This will default to
964 964
           :file:`registration/password_reset_email.html` if not supplied.
965 965
 
966 966
         * ``password_reset_form``: Form that will be used to set the password.
@@ -973,7 +973,7 @@ includes a few other useful built-in views located in
973 973
         * ``post_reset_redirect``: The URL to redirect to after a successful
974 974
           password change.
975 975
 
976  
-        * ``from_email``: A valid e-mail address. By default Django uses
  976
+        * ``from_email``: A valid email address. By default Django uses
977 977
           the :setting:`DEFAULT_FROM_EMAIL`.
978 978
 
979 979
     **Template context:**
@@ -1061,7 +1061,7 @@ provides several built-in forms located in :mod:`django.contrib.auth.forms`:
1061 1061
 
1062 1062
 .. class:: PasswordResetForm
1063 1063
 
1064  
-    A form for generating and e-mailing a one-time use link to reset a
  1064
+    A form for generating and emailing a one-time use link to reset a
1065 1065
     user's password.
1066 1066
 
1067 1067
 .. class:: SetPasswordForm
@@ -1384,7 +1384,7 @@ example, if the group ``Site editors`` has the permission
1384 1384
 Beyond permissions, groups are a convenient way to categorize users to give
1385 1385
 them some label, or extended functionality. For example, you could create a
1386 1386
 group ``'Special users'``, and you could write code that could, say, give them
1387  
-access to a members-only portion of your site, or send them members-only e-mail
  1387
+access to a members-only portion of your site, or send them members-only email
1388 1388
 messages.
1389 1389
 
1390 1390
 Messages
2  docs/topics/cache.txt
@@ -941,7 +941,7 @@ Many Web pages' contents differ based on authentication and a host of other
941 941
 variables, and cache systems that blindly save pages based purely on URLs could
942 942
 expose incorrect or sensitive data to subsequent visitors to those pages.
943 943
 
944  
-For example, say you operate a Web e-mail system, and the contents of the
  944
+For example, say you operate a Web email system, and the contents of the
945 945
 "inbox" page obviously depend on which user is logged in. If an ISP blindly
946 946
 cached your site, then the first user who logged in through that ISP would have
947 947
 his user-specific inbox page cached for subsequent visitors to the site. That's
180  docs/topics/email.txt
... ...
@@ -1,14 +1,14 @@
1 1
 ==============
2  
-Sending e-mail
  2
+Sending email
3 3
 ==============
4 4
 
5 5
 .. module:: django.core.mail
6  
-   :synopsis: Helpers to easily send e-mail.
  6
+   :synopsis: Helpers to easily send email.
7 7
 
8  
-Although Python makes sending e-mail relatively easy via the `smtplib
  8
+Although Python makes sending email relatively easy via the `smtplib
9 9
 library`_, Django provides a couple of light wrappers over it. These wrappers
10  
-are provided to make sending e-mail extra quick, to make it easy to test
11  
-e-mail sending during development, and to provide support for platforms that
  10
+are provided to make sending email extra quick, to make it easy to test
  11
+email sending during development, and to provide support for platforms that
12 12
 can't use SMTP.
13 13
 
14 14
 The code lives in the ``django.core.mail`` module.
@@ -33,7 +33,7 @@ set, are used to authenticate to the SMTP server, and the
33 33
 
34 34
 .. note::
35 35
 
36  
-    The character set of e-mail sent with ``django.core.mail`` will be set to
  36
+    The character set of email sent with ``django.core.mail`` will be set to
37 37
     the value of your :setting:`DEFAULT_CHARSET` setting.
38 38
 
39 39
 send_mail()
@@ -41,7 +41,7 @@ send_mail()
41 41
 
42 42
 .. function:: send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None)
43 43
 
44  
-The simplest way to send e-mail is using
  44
+The simplest way to send email is using
45 45
 ``django.core.mail.send_mail()``.
46 46
 
47 47
 The ``subject``, ``message``, ``from_email`` and ``recipient_list`` parameters
@@ -50,9 +50,9 @@ are required.
50 50
     * ``subject``: A string.
51 51
     * ``message``: A string.
52 52
     * ``from_email``: A string.
53  
-    * ``recipient_list``: A list of strings, each an e-mail address. Each
  53
+    * ``recipient_list``: A list of strings, each an email address. Each
54 54
       member of ``recipient_list`` will see the other recipients in the "To:"
55  
-      field of the e-mail message.
  55
+      field of the email message.
56 56
     * ``fail_silently``: A boolean. If it's ``False``, ``send_mail`` will raise
57 57
       an ``smtplib.SMTPException``. See the `smtplib docs`_ for a list of
58 58
       possible exceptions, all of which are subclasses of ``SMTPException``.
@@ -62,9 +62,9 @@ are required.
62 62
     * ``auth_password``: The optional password to use to authenticate to the
63 63
       SMTP server. If this isn't provided, Django will use the value of the
64 64
       :setting:`EMAIL_HOST_PASSWORD` setting.
65  
-    * ``connection``: The optional e-mail backend to use to send the mail.
  65
+    * ``connection``: The optional email backend to use to send the mail.
66 66
       If unspecified, an instance of the default backend will be used.
67  
-      See the documentation on :ref:`E-mail backends <topic-email-backends>`
  67
+      See the documentation on :ref:`Email backends <topic-email-backends>`
68 68
       for more details.
69 69
 
70 70
 .. _smtplib docs: http://docs.python.org/library/smtplib.html
@@ -74,7 +74,7 @@ send_mass_mail()
74 74
 
75 75
 .. function:: send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password=None, connection=None)
76 76
 
77  
-``django.core.mail.send_mass_mail()`` is intended to handle mass e-mailing.
  77
+``django.core.mail.send_mass_mail()`` is intended to handle mass emailing.
78 78
 
79 79
 ``datatuple`` is a tuple in which each element is in this format::
80 80
 
@@ -83,9 +83,9 @@ send_mass_mail()
83 83
 ``fail_silently``, ``auth_user`` and ``auth_password`` have the same functions
84 84
 as in :meth:`~django.core.mail.send_mail()`.
85 85
 
86  
-Each separate element of ``datatuple`` results in a separate e-mail message.
  86
+Each separate element of ``datatuple`` results in a separate email message.
87 87
 As in :meth:`~django.core.mail.send_mail()`, recipients in the same
88  
-``recipient_list`` will all see the other addresses in the e-mail messages'
  88
+``recipient_list`` will all see the other addresses in the email messages'
89 89
 "To:" field.
90 90
 
91 91
 For example, the following code would send two different messages to
@@ -111,21 +111,21 @@ mail_admins()
111 111
 
112 112
 .. function:: mail_admins(subject, message, fail_silently=False, connection=None, html_message=None)
113 113
 
114  
-``django.core.mail.mail_admins()`` is a shortcut for sending an e-mail to the
  114
+``django.core.mail.mail_admins()`` is a shortcut for sending an email to the
115 115
 site admins, as defined in the :setting:`ADMINS` setting.
116 116
 
117 117
 ``mail_admins()`` prefixes the subject with the value of the
118 118
 :setting:`EMAIL_SUBJECT_PREFIX` setting, which is ``"[Django] "`` by default.
119 119
 
120  
-The "From:" header of the e-mail will be the value of the
  120
+The "From:" header of the email will be the value of the
121 121
 :setting:`SERVER_EMAIL` setting.
122 122
 
123 123
 This method exists for convenience and readability.
124 124
 
125 125
 .. versionchanged:: 1.3
126 126
 
127  
-If ``html_message`` is provided, the resulting e-mail will be a
128  
-multipart/alternative e-mail with ``message`` as the "text/plain"
  127
+If ``html_message`` is provided, the resulting email will be a
  128
+multipart/alternative email with ``message`` as the "text/plain"
129 129
 content type and ``html_message`` as the "text/html" content type.
130 130
 
131 131
 mail_managers()
@@ -134,20 +134,20 @@ mail_managers()
134 134
 .. function:: mail_managers(subject, message, fail_silently=False, connection=None, html_message=None)
135 135
 
136 136
 ``django.core.mail.mail_managers()`` is just like ``mail_admins()``, except it
137  
-sends an e-mail to the site managers, as defined in the :setting:`MANAGERS`
  137
+sends an email to the site managers, as defined in the :setting:`MANAGERS`
138 138
 setting.
139 139
 
140 140
 Examples
141 141
 ========
142 142
 
143  
-This sends a single e-mail to john@example.com and jane@example.com, with them
  143
+This sends a single email to john@example.com and jane@example.com, with them
144 144
 both appearing in the "To:"::
145 145
 
146 146
     send_mail('Subject', 'Message.', 'from@example.com',
147 147
         ['john@example.com', 'jane@example.com'])
148 148
 
149 149
 This sends a message to john@example.com and jane@example.com, with them both
150  
-receiving a separate e-mail::
  150
+receiving a separate email::
151 151
 
152 152
     datatuple = (
153 153
         ('Subject', 'Message.', 'from@example.com', ['john@example.com']),
@@ -159,19 +159,19 @@ Preventing header injection
159 159
 ===========================
160 160
 
161 161
 `Header injection`_ is a security exploit in which an attacker inserts extra
162  
-e-mail headers to control the "To:" and "From:" in e-mail messages that your
  162
+email headers to control the "To:" and "From:" in email messages that your
163 163
 scripts generate.
164 164
 
165  
-The Django e-mail functions outlined above all protect against header injection
  165
+The Django email functions outlined above all protect against header injection
166 166
 by forbidding newlines in header values. If any ``subject``, ``from_email`` or
167 167
 ``recipient_list`` contains a newline (in either Unix, Windows or Mac style),
168  
-the e-mail function (e.g. :meth:`~django.core.mail.send_mail()`) will raise
  168
+the email function (e.g. :meth:`~django.core.mail.send_mail()`) will raise
169 169
 ``django.core.mail.BadHeaderError`` (a subclass of ``ValueError``) and, hence,
170  
-will not send the e-mail. It's your responsibility to validate all data before
171  
-passing it to the e-mail functions.
  170
+will not send the email. It's your responsibility to validate all data before
  171
+passing it to the email functions.
172 172
 
173 173
 If a ``message`` contains headers at the start of the string, the headers will
174  
-simply be printed as the first bit of the e-mail message.
  174
+simply be printed as the first bit of the email message.
175 175
 
176 176
 Here's an example view that takes a ``subject``, ``message`` and ``from_email``
177 177
 from the request's POST data, sends that to admin@example.com and redirects to
@@ -208,24 +208,24 @@ wrappers that make use of the :class:`~django.core.mail.EmailMessage` class.
208 208
 Not all features of the :class:`~django.core.mail.EmailMessage` class are
209 209
 available through the :meth:`~django.core.mail.send_mail()` and related
210 210
 wrapper functions. If you wish to use advanced features, such as BCC'ed
211  
-recipients, file attachments, or multi-part e-mail, you'll need to create
  211
+recipients, file attachments, or multi-part email, you'll need to create
212 212
 :class:`~django.core.mail.EmailMessage` instances directly.
213 213
 
214 214
 .. note::
215 215
     This is a design feature. :meth:`~django.core.mail.send_mail()` and
216 216
     related functions were originally the only interface Django provided.
217 217
     However, the list of parameters they accepted was slowly growing over
218  
-    time. It made sense to move to a more object-oriented design for e-mail
  218
+    time. It made sense to move to a more object-oriented design for email
219 219
     messages and retain the original functions only for backwards
220 220
     compatibility.
221 221
 
222  
-:class:`~django.core.mail.EmailMessage` is responsible for creating the e-mail
223  
-message itself. The :ref:`e-mail backend <topic-email-backends>` is then
224  
-responsible for sending the e-mail.
  222
+:class:`~django.core.mail.EmailMessage` is responsible for creating the email
  223
+message itself. The :ref:`email backend <topic-email-backends>` is then
  224
+responsible for sending the email.
225 225
 
226 226
 For convenience, :class:`~django.core.mail.EmailMessage` provides a simple
227  
-``send()`` method for sending a single e-mail. If you need to send multiple
228  
-messages, the e-mail backend API :ref:`provides an alternative
  227
+``send()`` method for sending a single email. If you need to send multiple
  228
+messages, the email backend API :ref:`provides an alternative
229 229
 <topics-sending-multiple-emails>`.
230 230
 
231 231
 EmailMessage Objects
@@ -241,7 +241,7 @@ All parameters are optional and can be set at any time prior to calling the
241 241
 .. versionchanged:: 1.3
242 242
    The ``cc`` argument was added.
243 243
 
244  
-    * ``subject``: The subject line of the e-mail.
  244
+    * ``subject``: The subject line of the email.
245 245
 
246 246
     * ``body``: The body text. This should be a plain text message.
247 247
 
@@ -252,9 +252,9 @@ All parameters are optional and can be set at any time prior to calling the
252 252
     * ``to``: A list or tuple of recipient addresses.
253 253
 
254 254
     * ``bcc``: A list or tuple of addresses used in the "Bcc" header when
255  
-      sending the e-mail.
  255
+      sending the email.
256 256
 
257  
-    * ``connection``: An e-mail backend instance. Use this parameter if
  257
+    * ``connection``: An email backend instance. Use this parameter if
258 258
       you want to use the same connection for multiple messages. If omitted, a
259 259
       new connection is created when ``send()`` is called.
260 260
 
@@ -265,10 +265,10 @@ All parameters are optional and can be set at any time prior to calling the
265 265
     * ``headers``: A dictionary of extra headers to put on the message. The
266 266