diff options
-rw-r--r-- | Doc/includes/email-alternative.py | 48 | ||||
-rw-r--r-- | Doc/library/email-examples.rst | 11 |
2 files changed, 56 insertions, 3 deletions
diff --git a/Doc/includes/email-alternative.py b/Doc/includes/email-alternative.py new file mode 100644 index 0000000..d941323 --- /dev/null +++ b/Doc/includes/email-alternative.py @@ -0,0 +1,48 @@ +#! /usr/bin/python + +import smtplib + +from email.mime.multipart import MIMEMultipart +from email.mime.text import MIMEText + +# me == my email address +# you == recipient's email address +me = "my@email.com" +you = "your@email.com" + +# Create message container - the correct MIME type is multipart/alternative. +msg = MIMEMultipart('alternative') +msg['Subject'] = "Link" +msg['From'] = me +msg['To'] = you + +# Create the body of the message (a plain-text and an HTML version). +text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org" +html = """\ +<html> + <head></head> + <body> + <p>Hi!<br> + How are you?<br> + Here is the <a href="http://www.python.org">link</a> you wanted. + </p> + </body> +</html> +""" + +# Record the MIME types of both parts - text/plain and text/html. +part1 = MIMEText(text, 'plain') +part2 = MIMEText(html, 'html') + +# Attach parts into message container. +# According to RFC 2046, the last part of a multipart message, in this case +# the HTML message, is best and preferred. +msg.attach(part1) +msg.attach(part2) + +# Send the message via local SMTP server. +s = smtplib.SMTP('localhost') +# sendmail function takes 3 arguments: sender's address, recipient's address +# and message to send - here it is sent as one string. +s.sendmail(me, you, msg.as_string()) +s.close() diff --git a/Doc/library/email-examples.rst b/Doc/library/email-examples.rst index 64a9944..f606f9b 100644 --- a/Doc/library/email-examples.rst +++ b/Doc/library/email-examples.rst @@ -16,18 +16,23 @@ pictures that may be residing in a directory: Here's an example of how to send the entire contents of a directory as an email -message: [1]_ +message: [1]_ .. literalinclude:: ../includes/email-dir.py -And finally, here's an example of how to unpack a MIME message like the one +Here's an example of how to unpack a MIME message like the one above, into a directory of files: .. literalinclude:: ../includes/email-unpack.py +Here's an example of how to create an HTML message with an alternative plain +text version: [2]_ + +.. literalinclude:: ../includes/email-alternative.py + .. rubric:: Footnotes .. [1] Thanks to Matthew Dixon Cowles for the original inspiration and examples. - +.. [2] Contributed by Martin Matejek. |