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