mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import smtplib
 | |
| 
 | |
| from email.message import EmailMessage
 | |
| from email.headerregistry import Address
 | |
| from email.utils import make_msgid
 | |
| 
 | |
| # Create the base text message.
 | |
| msg = EmailMessage()
 | |
| msg['Subject'] = "Ayons asperges pour le déjeuner"
 | |
| msg['From'] = Address("Pepé Le Pew", "pepe@example.com")
 | |
| msg['To'] = (Address("Penelope Pussycat", "penelope@example.com"),
 | |
|              Address("Fabrette Pussycat", "fabrette@example.com"))
 | |
| msg.set_content("""\
 | |
| Salut!
 | |
| 
 | |
| Cela ressemble à un excellent recipie[1] déjeuner.
 | |
| 
 | |
| [1] http://www.yummly.com/recipe/Roasted-Asparagus-Epicurious-203718
 | |
| 
 | |
| --Éric
 | |
| """)
 | |
| 
 | |
| # Add the html version.  This converts the message into a multipart/alternative
 | |
| # container, with the original text message as the first part and the new html
 | |
| # message as the second part.
 | |
| asparagus_cid = make_msgid()
 | |
| msg.add_alternative("""\
 | |
| <html>
 | |
|   <head></head>
 | |
|   <body>
 | |
|     <p>Salut!<\p>
 | |
|     <p>Cela ressemble à un excellent
 | |
|         <a href="http://www.yummly.com/recipe/Roasted-Asparagus-Epicurious-203718>
 | |
|             recipie
 | |
|         </a> déjeuner.
 | |
|     </p>
 | |
|     <img src="cid:{asparagus_cid}" \>
 | |
|   </body>
 | |
| </html>
 | |
| """.format(asparagus_cid=asparagus_cid[1:-1]), subtype='html')
 | |
| # note that we needed to peel the <> off the msgid for use in the html.
 | |
| 
 | |
| # Now add the related image to the html part.
 | |
| with open("roasted-asparagus.jpg", 'rb') as img:
 | |
|     msg.get_payload()[1].add_related(img.read(), 'image', 'jpeg',
 | |
|                                      cid=asparagus_cid)
 | |
| 
 | |
| # Make a local copy of what we are going to send.
 | |
| with open('outgoing.msg', 'wb') as f:
 | |
|     f.write(bytes(msg))
 | |
| 
 | |
| # Send the message via local SMTP server.
 | |
| with smtplib.SMTP('localhost') as s:
 | |
|     s.send_message(msg)
 | 
