-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathemail.contentmanager.html
More file actions
377 lines (348 loc) · 29.7 KB
/
email.contentmanager.html
File metadata and controls
377 lines (348 loc) · 29.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_TW">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>20.1.7. email.contentmanager: Managing MIME Content — Python 3.7.0 說明文件</title>
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/translations.js"></script>
<script type="text/javascript" src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="在 Python 3.7.0 說明文件 中搜尋"
href="../_static/opensearch.xml"/>
<link rel="author" title="關於這些文件" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜尋" href="../search.html" />
<link rel="copyright" title="Copyright" href="../copyright.html" />
<link rel="next" title="20.1.8. email: Examples" href="email.examples.html" />
<link rel="prev" title="20.1.6. email.headerregistry: Custom Header Objects" href="email.headerregistry.html" />
<link rel="shortcut icon" type="image/png" href="../_static/py.png" />
<link rel="canonical" href="https://docs.python.org/3/library/email.contentmanager.html" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/switchers.js"></script>
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>瀏覽</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模組索引"
>模組</a> |</li>
<li class="right" >
<a href="email.examples.html" title="20.1.8. email: Examples"
accesskey="N">下一頁</a> |</li>
<li class="right" >
<a href="email.headerregistry.html" title="20.1.6. email.headerregistry: Custom Header Objects"
accesskey="P">上一頁</a> |</li>
<li><img src="../_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> »</li>
<li>
<span class="language_switcher_placeholder">zh_TW</span>
<span class="version_switcher_placeholder">3.7.0</span>
<a href="../index.html">Documentation </a> »
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 標準函式庫 (Standard Library)</a> »</li>
<li class="nav-item nav-item-2"><a href="netdata.html" >20. Internet Data Handling</a> »</li>
<li class="nav-item nav-item-3"><a href="email.html" accesskey="U">20.1. <code class="docutils literal notranslate"><span class="pre">email</span></code> — An email and MIME handling package</a> »</li>
<li class="right">
<div class="inline-search" style="display: none" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('.inline-search').show(0);</script>
|
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-email.contentmanager">
<span id="email-contentmanager-managing-mime-content"></span><h1>20.1.7. <a class="reference internal" href="#module-email.contentmanager" title="email.contentmanager: Storing and Retrieving Content from MIME Parts"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.contentmanager</span></code></a>: Managing MIME Content<a class="headerlink" href="#module-email.contentmanager" title="本標題的永久連結">¶</a></h1>
<p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.7/Lib/email/contentmanager.py">Lib/email/contentmanager.py</a></p>
<hr class="docutils" />
<div class="versionadded">
<p><span class="versionmodified">3.6 版新加入: </span><a class="footnote-reference" href="#id2" id="id1">[1]</a></p>
</div>
<dl class="class">
<dt id="email.contentmanager.ContentManager">
<em class="property">class </em><code class="descclassname">email.contentmanager.</code><code class="descname">ContentManager</code><a class="headerlink" href="#email.contentmanager.ContentManager" title="本定義的永久連結">¶</a></dt>
<dd><p>Base class for content managers. Provides the standard registry mechanisms
to register converters between MIME content and other representations, as
well as the <code class="docutils literal notranslate"><span class="pre">get_content</span></code> and <code class="docutils literal notranslate"><span class="pre">set_content</span></code> dispatch methods.</p>
<dl class="method">
<dt id="email.contentmanager.ContentManager.get_content">
<code class="descname">get_content</code><span class="sig-paren">(</span><em>msg</em>, <em>*args</em>, <em>**kw</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.ContentManager.get_content" title="本定義的永久連結">¶</a></dt>
<dd><p>Look up a handler function based on the <code class="docutils literal notranslate"><span class="pre">mimetype</span></code> of <em>msg</em> (see next
paragraph), call it, passing through all arguments, and return the result
of the call. The expectation is that the handler will extract the
payload from <em>msg</em> and return an object that encodes information about
the extracted data.</p>
<p>To find the handler, look for the following keys in the registry,
stopping with the first one found:</p>
<blockquote>
<div><ul class="simple">
<li>the string representing the full MIME type (<code class="docutils literal notranslate"><span class="pre">maintype/subtype</span></code>)</li>
<li>the string representing the <code class="docutils literal notranslate"><span class="pre">maintype</span></code></li>
<li>the empty string</li>
</ul>
</div></blockquote>
<p>If none of these keys produce a handler, raise a <a class="reference internal" href="exceptions.html#KeyError" title="KeyError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyError</span></code></a> for the
full MIME type.</p>
</dd></dl>
<dl class="method">
<dt id="email.contentmanager.ContentManager.set_content">
<code class="descname">set_content</code><span class="sig-paren">(</span><em>msg</em>, <em>obj</em>, <em>*args</em>, <em>**kw</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.ContentManager.set_content" title="本定義的永久連結">¶</a></dt>
<dd><p>If the <code class="docutils literal notranslate"><span class="pre">maintype</span></code> is <code class="docutils literal notranslate"><span class="pre">multipart</span></code>, raise a <a class="reference internal" href="exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a>; otherwise
look up a handler function based on the type of <em>obj</em> (see next
paragraph), call <a class="reference internal" href="email.message.html#email.message.EmailMessage.clear_content" title="email.message.EmailMessage.clear_content"><code class="xref py py-meth docutils literal notranslate"><span class="pre">clear_content()</span></code></a> on the
<em>msg</em>, and call the handler function, passing through all arguments. The
expectation is that the handler will transform and store <em>obj</em> into
<em>msg</em>, possibly making other changes to <em>msg</em> as well, such as adding
various MIME headers to encode information needed to interpret the stored
data.</p>
<p>To find the handler, obtain the type of <em>obj</em> (<code class="docutils literal notranslate"><span class="pre">typ</span> <span class="pre">=</span> <span class="pre">type(obj)</span></code>), and
look for the following keys in the registry, stopping with the first one
found:</p>
<blockquote>
<div><ul class="simple">
<li>the type itself (<code class="docutils literal notranslate"><span class="pre">typ</span></code>)</li>
<li>the type’s fully qualified name (<code class="docutils literal notranslate"><span class="pre">typ.__module__</span> <span class="pre">+</span> <span class="pre">'.'</span> <span class="pre">+</span>
<span class="pre">typ.__qualname__</span></code>).</li>
<li>the type’s qualname (<code class="docutils literal notranslate"><span class="pre">typ.__qualname__</span></code>)</li>
<li>the type’s name (<code class="docutils literal notranslate"><span class="pre">typ.__name__</span></code>).</li>
</ul>
</div></blockquote>
<p>If none of the above match, repeat all of the checks above for each of
the types in the <a class="reference internal" href="../glossary.html#term-mro"><span class="xref std std-term">MRO</span></a> (<code class="docutils literal notranslate"><span class="pre">typ.__mro__</span></code>). Finally, if no other key
yields a handler, check for a handler for the key <code class="docutils literal notranslate"><span class="pre">None</span></code>. If there is
no handler for <code class="docutils literal notranslate"><span class="pre">None</span></code>, raise a <a class="reference internal" href="exceptions.html#KeyError" title="KeyError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyError</span></code></a> for the fully
qualified name of the type.</p>
<p>Also add a <em class="mailheader">MIME-Version</em> header if one is not present (see
also <a class="reference internal" href="email.message.html#email.message.MIMEPart" title="email.message.MIMEPart"><code class="xref py py-class docutils literal notranslate"><span class="pre">MIMEPart</span></code></a>).</p>
</dd></dl>
<dl class="method">
<dt id="email.contentmanager.ContentManager.add_get_handler">
<code class="descname">add_get_handler</code><span class="sig-paren">(</span><em>key</em>, <em>handler</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.ContentManager.add_get_handler" title="本定義的永久連結">¶</a></dt>
<dd><p>Record the function <em>handler</em> as the handler for <em>key</em>. For the possible
values of <em>key</em>, see <a class="reference internal" href="#email.contentmanager.get_content" title="email.contentmanager.get_content"><code class="xref py py-meth docutils literal notranslate"><span class="pre">get_content()</span></code></a>.</p>
</dd></dl>
<dl class="method">
<dt id="email.contentmanager.ContentManager.add_set_handler">
<code class="descname">add_set_handler</code><span class="sig-paren">(</span><em>typekey</em>, <em>handler</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.ContentManager.add_set_handler" title="本定義的永久連結">¶</a></dt>
<dd><p>Record <em>handler</em> as the function to call when an object of a type
matching <em>typekey</em> is passed to <a class="reference internal" href="#email.contentmanager.set_content" title="email.contentmanager.set_content"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_content()</span></code></a>. For the possible
values of <em>typekey</em>, see <a class="reference internal" href="#email.contentmanager.set_content" title="email.contentmanager.set_content"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_content()</span></code></a>.</p>
</dd></dl>
</dd></dl>
<div class="section" id="content-manager-instances">
<h2>20.1.7.1. Content Manager Instances<a class="headerlink" href="#content-manager-instances" title="本標題的永久連結">¶</a></h2>
<p>Currently the email package provides only one concrete content manager,
<a class="reference internal" href="#email.contentmanager.raw_data_manager" title="email.contentmanager.raw_data_manager"><code class="xref py py-data docutils literal notranslate"><span class="pre">raw_data_manager</span></code></a>, although more may be added in the future.
<a class="reference internal" href="#email.contentmanager.raw_data_manager" title="email.contentmanager.raw_data_manager"><code class="xref py py-data docutils literal notranslate"><span class="pre">raw_data_manager</span></code></a> is the
<a class="reference internal" href="email.policy.html#email.policy.EmailPolicy.content_manager" title="email.policy.EmailPolicy.content_manager"><code class="xref py py-attr docutils literal notranslate"><span class="pre">content_manager</span></code></a> provided by
<a class="reference internal" href="email.policy.html#email.policy.EmailPolicy" title="email.policy.EmailPolicy"><code class="xref py py-attr docutils literal notranslate"><span class="pre">EmailPolicy</span></code></a> and its derivatives.</p>
<dl class="data">
<dt id="email.contentmanager.raw_data_manager">
<code class="descclassname">email.contentmanager.</code><code class="descname">raw_data_manager</code><a class="headerlink" href="#email.contentmanager.raw_data_manager" title="本定義的永久連結">¶</a></dt>
<dd><p>This content manager provides only a minimum interface beyond that provided
by <a class="reference internal" href="email.compat32-message.html#email.message.Message" title="email.message.Message"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> itself: it deals only with text, raw
byte strings, and <a class="reference internal" href="email.compat32-message.html#email.message.Message" title="email.message.Message"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> objects. Nevertheless, it
provides significant advantages compared to the base API: <code class="docutils literal notranslate"><span class="pre">get_content</span></code> on
a text part will return a unicode string without the application needing to
manually decode it, <code class="docutils literal notranslate"><span class="pre">set_content</span></code> provides a rich set of options for
controlling the headers added to a part and controlling the content transfer
encoding, and it enables the use of the various <code class="docutils literal notranslate"><span class="pre">add_</span></code> methods, thereby
simplifying the creation of multipart messages.</p>
<dl class="method">
<dt id="email.contentmanager.get_content">
<code class="descclassname">email.contentmanager.</code><code class="descname">get_content</code><span class="sig-paren">(</span><em>msg</em>, <em>errors='replace'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.get_content" title="本定義的永久連結">¶</a></dt>
<dd><p>Return the payload of the part as either a string (for <code class="docutils literal notranslate"><span class="pre">text</span></code> parts), an
<a class="reference internal" href="email.message.html#email.message.EmailMessage" title="email.message.EmailMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">EmailMessage</span></code></a> object (for <code class="docutils literal notranslate"><span class="pre">message/rfc822</span></code>
parts), or a <code class="docutils literal notranslate"><span class="pre">bytes</span></code> object (for all other non-multipart types). Raise
a <a class="reference internal" href="exceptions.html#KeyError" title="KeyError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyError</span></code></a> if called on a <code class="docutils literal notranslate"><span class="pre">multipart</span></code>. If the part is a
<code class="docutils literal notranslate"><span class="pre">text</span></code> part and <em>errors</em> is specified, use it as the error handler when
decoding the payload to unicode. The default error handler is
<code class="docutils literal notranslate"><span class="pre">replace</span></code>.</p>
</dd></dl>
<dl class="method">
<dt id="email.contentmanager.set_content">
<code class="descclassname">email.contentmanager.</code><code class="descname">set_content</code><span class="sig-paren">(</span><em>msg</em>, <em><'str'></em>, <em>subtype="plain"</em>, <em>charset='utf-8' cte=None</em>, <em>disposition=None</em>, <em>filename=None</em>, <em>cid=None</em>, <em>params=None</em>, <em>headers=None</em><span class="sig-paren">)</span><a class="headerlink" href="#email.contentmanager.set_content" title="本定義的永久連結">¶</a></dt>
<dt>
<code class="descclassname">email.contentmanager.</code><code class="descname">set_content</code><span class="sig-paren">(</span><em>msg</em>, <em><'bytes'></em>, <em>maintype</em>, <em>subtype</em>, <em>cte="base64"</em>, <em>disposition=None</em>, <em>filename=None</em>, <em>cid=None</em>, <em>params=None</em>, <em>headers=None</em><span class="sig-paren">)</span></dt>
<dt>
<code class="descclassname">email.contentmanager.</code><code class="descname">set_content</code><span class="sig-paren">(</span><em>msg</em>, <em><'EmailMessage'></em>, <em>cte=None</em>, <em>disposition=None</em>, <em>filename=None</em>, <em>cid=None</em>, <em>params=None</em>, <em>headers=None</em><span class="sig-paren">)</span></dt>
<dd><p>Add headers and payload to <em>msg</em>:</p>
<p>Add a <em class="mailheader">Content-Type</em> header with a <code class="docutils literal notranslate"><span class="pre">maintype/subtype</span></code>
value.</p>
<blockquote>
<div><ul class="simple">
<li>For <code class="docutils literal notranslate"><span class="pre">str</span></code>, set the MIME <code class="docutils literal notranslate"><span class="pre">maintype</span></code> to <code class="docutils literal notranslate"><span class="pre">text</span></code>, and set the
subtype to <em>subtype</em> if it is specified, or <code class="docutils literal notranslate"><span class="pre">plain</span></code> if it is not.</li>
<li>For <code class="docutils literal notranslate"><span class="pre">bytes</span></code>, use the specified <em>maintype</em> and <em>subtype</em>, or
raise a <a class="reference internal" href="exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> if they are not specified.</li>
<li>For <a class="reference internal" href="email.message.html#email.message.EmailMessage" title="email.message.EmailMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">EmailMessage</span></code></a> objects, set the maintype
to <code class="docutils literal notranslate"><span class="pre">message</span></code>, and set the subtype to <em>subtype</em> if it is
specified or <code class="docutils literal notranslate"><span class="pre">rfc822</span></code> if it is not. If <em>subtype</em> is
<code class="docutils literal notranslate"><span class="pre">partial</span></code>, raise an error (<code class="docutils literal notranslate"><span class="pre">bytes</span></code> objects must be used to
construct <code class="docutils literal notranslate"><span class="pre">message/partial</span></code> parts).</li>
</ul>
</div></blockquote>
<p>If <em>charset</em> is provided (which is valid only for <code class="docutils literal notranslate"><span class="pre">str</span></code>), encode the
string to bytes using the specified character set. The default is
<code class="docutils literal notranslate"><span class="pre">utf-8</span></code>. If the specified <em>charset</em> is a known alias for a standard
MIME charset name, use the standard charset instead.</p>
<p>If <em>cte</em> is set, encode the payload using the specified content transfer
encoding, and set the <em class="mailheader">Content-Transfer-Encoding</em> header to
that value. Possible values for <em>cte</em> are <code class="docutils literal notranslate"><span class="pre">quoted-printable</span></code>,
<code class="docutils literal notranslate"><span class="pre">base64</span></code>, <code class="docutils literal notranslate"><span class="pre">7bit</span></code>, <code class="docutils literal notranslate"><span class="pre">8bit</span></code>, and <code class="docutils literal notranslate"><span class="pre">binary</span></code>. If the input cannot be
encoded in the specified encoding (for example, specifying a <em>cte</em> of
<code class="docutils literal notranslate"><span class="pre">7bit</span></code> for an input that contains non-ASCII values), raise a
<a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a>.</p>
<blockquote>
<div><ul class="simple">
<li>For <code class="docutils literal notranslate"><span class="pre">str</span></code> objects, if <em>cte</em> is not set use heuristics to
determine the most compact encoding.</li>
<li>For <a class="reference internal" href="email.message.html#email.message.EmailMessage" title="email.message.EmailMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">EmailMessage</span></code></a>, per <span class="target" id="index-0"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2046.html"><strong>RFC 2046</strong></a>, raise
an error if a <em>cte</em> of <code class="docutils literal notranslate"><span class="pre">quoted-printable</span></code> or <code class="docutils literal notranslate"><span class="pre">base64</span></code> is
requested for <em>subtype</em> <code class="docutils literal notranslate"><span class="pre">rfc822</span></code>, and for any <em>cte</em> other than
<code class="docutils literal notranslate"><span class="pre">7bit</span></code> for <em>subtype</em> <code class="docutils literal notranslate"><span class="pre">external-body</span></code>. For
<code class="docutils literal notranslate"><span class="pre">message/rfc822</span></code>, use <code class="docutils literal notranslate"><span class="pre">8bit</span></code> if <em>cte</em> is not specified. For
all other values of <em>subtype</em>, use <code class="docutils literal notranslate"><span class="pre">7bit</span></code>.</li>
</ul>
</div></blockquote>
<div class="admonition note">
<p class="first admonition-title">備註</p>
<p class="last">A <em>cte</em> of <code class="docutils literal notranslate"><span class="pre">binary</span></code> does not actually work correctly yet.
The <code class="docutils literal notranslate"><span class="pre">EmailMessage</span></code> object as modified by <code class="docutils literal notranslate"><span class="pre">set_content</span></code> is
correct, but <a class="reference internal" href="email.generator.html#email.generator.BytesGenerator" title="email.generator.BytesGenerator"><code class="xref py py-class docutils literal notranslate"><span class="pre">BytesGenerator</span></code></a> does not
serialize it correctly.</p>
</div>
<p>If <em>disposition</em> is set, use it as the value of the
<em class="mailheader">Content-Disposition</em> header. If not specified, and
<em>filename</em> is specified, add the header with the value <code class="docutils literal notranslate"><span class="pre">attachment</span></code>.
If <em>disposition</em> is not specified and <em>filename</em> is also not specified,
do not add the header. The only valid values for <em>disposition</em> are
<code class="docutils literal notranslate"><span class="pre">attachment</span></code> and <code class="docutils literal notranslate"><span class="pre">inline</span></code>.</p>
<p>If <em>filename</em> is specified, use it as the value of the <code class="docutils literal notranslate"><span class="pre">filename</span></code>
parameter of the <em class="mailheader">Content-Disposition</em> header.</p>
<p>If <em>cid</em> is specified, add a <em class="mailheader">Content-ID</em> header with
<em>cid</em> as its value.</p>
<p>If <em>params</em> is specified, iterate its <code class="docutils literal notranslate"><span class="pre">items</span></code> method and use the
resulting <code class="docutils literal notranslate"><span class="pre">(key,</span> <span class="pre">value)</span></code> pairs to set additional parameters on the
<em class="mailheader">Content-Type</em> header.</p>
<p>If <em>headers</em> is specified and is a list of strings of the form
<code class="docutils literal notranslate"><span class="pre">headername:</span> <span class="pre">headervalue</span></code> or a list of <code class="docutils literal notranslate"><span class="pre">header</span></code> objects
(distinguished from strings by having a <code class="docutils literal notranslate"><span class="pre">name</span></code> attribute), add the
headers to <em>msg</em>.</p>
</dd></dl>
</dd></dl>
<p class="rubric">Footnotes</p>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Originally added in 3.4 as a <a class="reference internal" href="../glossary.html#term-provisional-package"><span class="xref std std-term">provisional module</span></a></td></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../contents.html">目錄</a></h3>
<ul>
<li><a class="reference internal" href="#">20.1.7. <code class="docutils literal notranslate"><span class="pre">email.contentmanager</span></code>: Managing MIME Content</a><ul>
<li><a class="reference internal" href="#content-manager-instances">20.1.7.1. Content Manager Instances</a></li>
</ul>
</li>
</ul>
<h4>上個主題</h4>
<p class="topless"><a href="email.headerregistry.html"
title="上一章">20.1.6. <code class="docutils literal notranslate"><span class="pre">email.headerregistry</span></code>: Custom Header Objects</a></p>
<h4>下個主題</h4>
<p class="topless"><a href="email.examples.html"
title="下一章">20.1.8. <code class="docutils literal notranslate"><span class="pre">email</span></code>: Examples</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">Report a Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.7/Doc/library/email.contentmanager.rst"
rel="nofollow">Show Source
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>瀏覽</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模組索引"
>模組</a> |</li>
<li class="right" >
<a href="email.examples.html" title="20.1.8. email: Examples"
>下一頁</a> |</li>
<li class="right" >
<a href="email.headerregistry.html" title="20.1.6. email.headerregistry: Custom Header Objects"
>上一頁</a> |</li>
<li><img src="../_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> »</li>
<li>
<span class="language_switcher_placeholder">zh_TW</span>
<span class="version_switcher_placeholder">3.7.0</span>
<a href="../index.html">Documentation </a> »
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 標準函式庫 (Standard Library)</a> »</li>
<li class="nav-item nav-item-2"><a href="netdata.html" >20. Internet Data Handling</a> »</li>
<li class="nav-item nav-item-3"><a href="email.html" >20.1. <code class="docutils literal notranslate"><span class="pre">email</span></code> — An email and MIME handling package</a> »</li>
<li class="right">
<div class="inline-search" style="display: none" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('.inline-search').show(0);</script>
|
</li>
</ul>
</div>
<div class="footer">
© <a href="../copyright.html">Copyright</a> 2001-2018, Python Software Foundation.
<br />
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br />
Last updated on 8月 22, 2018.
<a href="../bugs.html">Found a bug</a>?
<br />
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.7.7.
</div>
</body>
</html>