17db96d56Sopenharmony_ci.. _email-examples:
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci:mod:`email`: Examples
47db96d56Sopenharmony_ci----------------------
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ciHere are a few examples of how to use the :mod:`email` package to read, write,
77db96d56Sopenharmony_ciand send simple email messages, as well as more complex MIME messages.
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ciFirst, let's see how to create and send a simple text message (both the
107db96d56Sopenharmony_citext content and the addresses may contain unicode characters):
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-simple.py
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ciParsing :rfc:`822` headers can easily be done by the using the classes
167db96d56Sopenharmony_cifrom the :mod:`~email.parser` module:
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-headers.py
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ciHere's an example of how to send a MIME message containing a bunch of family
227db96d56Sopenharmony_cipictures that may be residing in a directory:
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-mime.py
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ciHere's an example of how to send the entire contents of a directory as an email
287db96d56Sopenharmony_cimessage: [1]_
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-dir.py
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ciHere's an example of how to unpack a MIME message like the one
347db96d56Sopenharmony_ciabove, into a directory of files:
357db96d56Sopenharmony_ci
367db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-unpack.py
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ciHere's an example of how to create an HTML message with an alternative plain
407db96d56Sopenharmony_citext version.  To make things a bit more interesting, we include a related
417db96d56Sopenharmony_ciimage in the html part, and we save a copy of what we are going to send to
427db96d56Sopenharmony_cidisk, as well as sending it.
437db96d56Sopenharmony_ci
447db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-alternative.py
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci
477db96d56Sopenharmony_ciIf we were sent the message from the last example, here is one way we could
487db96d56Sopenharmony_ciprocess it:
497db96d56Sopenharmony_ci
507db96d56Sopenharmony_ci.. literalinclude:: ../includes/email-read-alternative.py
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ciUp to the prompt, the output from the above is:
537db96d56Sopenharmony_ci
547db96d56Sopenharmony_ci.. code-block:: none
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ci    To: Penelope Pussycat <penelope@example.com>, Fabrette Pussycat <fabrette@example.com>
577db96d56Sopenharmony_ci    From: Pepé Le Pew <pepe@example.com>
587db96d56Sopenharmony_ci    Subject: Ayons asperges pour le déjeuner
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ci    Salut!
617db96d56Sopenharmony_ci
627db96d56Sopenharmony_ci    Cela ressemble à un excellent recipie[1] déjeuner.
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci
657db96d56Sopenharmony_ci.. rubric:: Footnotes
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci.. [1] Thanks to Matthew Dixon Cowles for the original inspiration and examples.
68