mirror of
https://github.com/python/cpython.git
synced 2025-10-07 15:42:02 +00:00
parent
52173d4959
commit
a0b44b5adb
5 changed files with 23 additions and 6 deletions
|
@ -105,11 +105,17 @@ There are several useful utilities provided in the :mod:`email.utils` module:
|
||||||
``False``. The default is ``False``.
|
``False``. The default is ``False``.
|
||||||
|
|
||||||
|
|
||||||
.. function:: make_msgid(idstring=None)
|
.. function:: make_msgid(idstring=None, domain=None)
|
||||||
|
|
||||||
Returns a string suitable for an :rfc:`2822`\ -compliant
|
Returns a string suitable for an :rfc:`2822`\ -compliant
|
||||||
:mailheader:`Message-ID` header. Optional *idstring* if given, is a string
|
:mailheader:`Message-ID` header. Optional *idstring* if given, is a string
|
||||||
used to strengthen the uniqueness of the message id.
|
used to strengthen the uniqueness of the message id. Optional *domain* if
|
||||||
|
given provides the portion of the msgid after the '@'. The default is the
|
||||||
|
local hostname. It is not normally necessary to override this default, but
|
||||||
|
may be useful certain cases, such as a constructing distributed system that
|
||||||
|
uses a consistent domain name across multiple hosts.
|
||||||
|
|
||||||
|
.. versionchanged:: 3.2 domain keyword added
|
||||||
|
|
||||||
|
|
||||||
.. function:: decode_rfc2231(s)
|
.. function:: decode_rfc2231(s)
|
||||||
|
|
|
@ -2457,6 +2457,10 @@ multipart/report
|
||||||
text/rfc822-headers
|
text/rfc822-headers
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
def test_make_msgid_domain(self):
|
||||||
|
self.assertEqual(
|
||||||
|
email.utils.make_msgid(domain='testdomain-string')[-19:],
|
||||||
|
'@testdomain-string>')
|
||||||
|
|
||||||
|
|
||||||
# Test the iterator/generators
|
# Test the iterator/generators
|
||||||
|
|
|
@ -148,13 +148,15 @@ def formatdate(timeval=None, localtime=False, usegmt=False):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def make_msgid(idstring=None):
|
def make_msgid(idstring=None, domain=None):
|
||||||
"""Returns a string suitable for RFC 2822 compliant Message-ID, e.g:
|
"""Returns a string suitable for RFC 2822 compliant Message-ID, e.g:
|
||||||
|
|
||||||
<20020201195627.33539.96671@nightshade.la.mastaler.com>
|
<20020201195627.33539.96671@nightshade.la.mastaler.com>
|
||||||
|
|
||||||
Optional idstring if given is a string used to strengthen the
|
Optional idstring if given is a string used to strengthen the
|
||||||
uniqueness of the message id.
|
uniqueness of the message id. Optional domain if given provides the
|
||||||
|
portion of the message id after the '@'. It defaults to the locally
|
||||||
|
defined hostname.
|
||||||
"""
|
"""
|
||||||
timeval = time.time()
|
timeval = time.time()
|
||||||
utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval))
|
utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval))
|
||||||
|
@ -164,8 +166,9 @@ def make_msgid(idstring=None):
|
||||||
idstring = ''
|
idstring = ''
|
||||||
else:
|
else:
|
||||||
idstring = '.' + idstring
|
idstring = '.' + idstring
|
||||||
idhost = socket.getfqdn()
|
if domain is None:
|
||||||
msgid = '<%s.%s.%s%s@%s>' % (utcdate, pid, randint, idstring, idhost)
|
domain = socket.getfqdn()
|
||||||
|
msgid = '<%s.%s.%s%s@%s>' % (utcdate, pid, randint, idstring, domain)
|
||||||
return msgid
|
return msgid
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,7 @@ Eric Beser
|
||||||
Steven Bethard
|
Steven Bethard
|
||||||
Stephen Bevan
|
Stephen Bevan
|
||||||
Ron Bickers
|
Ron Bickers
|
||||||
|
Adrian von Bidder
|
||||||
David Binger
|
David Binger
|
||||||
Dominic Binks
|
Dominic Binks
|
||||||
Philippe Biondi
|
Philippe Biondi
|
||||||
|
|
|
@ -53,6 +53,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #8989: email.utils.make_msgid now has a domain parameter that can
|
||||||
|
override the domain name used in the generated msgid.
|
||||||
|
|
||||||
- Issue #9299: Add exist_ok parameter to os.makedirs to suppress the
|
- Issue #9299: Add exist_ok parameter to os.makedirs to suppress the
|
||||||
'File exists' exception when a target directory already exists with the
|
'File exists' exception when a target directory already exists with the
|
||||||
specified mode. Patch by Ray Allen.
|
specified mode. Patch by Ray Allen.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue