首页 > 代码库 > python发送邮件实例1

python发送邮件实例1

文件形式的邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.text import MIMEText  
 5 from email.header import Header  
 6   
 7 sender = ***  
 8 receiver = ***  
 9 subject = python email test  
10 smtpserver = smtp.163.com  
11 username = ***  
12 password = ***  
13   
14 msg = MIMEText(你好,text,utf-8)#中文需参数‘utf-8’,单字节字符不需要  
15 msg[Subject] = Header(subject, utf-8)  
16   
17 smtp = smtplib.SMTP()  
18 smtp.connect(smtp.163.com)  
19 smtp.login(username, password)  
20 smtp.sendmail(sender, receiver, msg.as_string())  
21 smtp.quit()  

 

HTML形式的邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.text import MIMEText  
 5   
 6 sender = ***  
 7 receiver = ***  
 8 subject = python email test  
 9 smtpserver = smtp.163.com  
10 username = ***  
11 password = ***  
12   
13 msg = MIMEText(<html><h1>你好</h1></html>,html,utf-8)  
14   
15 msg[Subject] = subject  
16   
17 smtp = smtplib.SMTP()  
18 smtp.connect(smtp.163.com)  
19 smtp.login(username, password)  
20 smtp.sendmail(sender, receiver, msg.as_string())  
21 smtp.quit()  

 

带图片的HTML邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.multipart import MIMEMultipart  
 5 from email.mime.text import MIMEText  
 6 from email.mime.image import MIMEImage  
 7   
 8 sender = ***  
 9 receiver = ***  
10 subject = python email test  
11 smtpserver = smtp.163.com  
12 username = ***  
13 password = ***  
14   
15 msgRoot = MIMEMultipart(related)  
16 msgRoot[Subject] = test message  
17   
18 msgText = MIMEText(<b>Some <i>HTML</i> text</b> and an image.<br><img src="http://www.mamicode.com/cid:image1"><br>good!,html,utf-8)  
19 msgRoot.attach(msgText)  
20   
21 fp = open(h:\\python\\1.jpg, rb)  
22 msgImage = MIMEImage(fp.read())  
23 fp.close()  
24   
25 msgImage.add_header(Content-ID, <image1>)  
26 msgRoot.attach(msgImage)  
27   
28 smtp = smtplib.SMTP()  
29 smtp.connect(smtp.163.com)  
30 smtp.login(username, password)  
31 smtp.sendmail(sender, receiver, msgRoot.as_string())  
32 smtp.quit()

 

带附件的邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.multipart import MIMEMultipart  
 5 from email.mime.text import MIMEText  
 6 from email.mime.image import MIMEImage  
 7   
 8 sender = ***  
 9 receiver = ***  
10 subject = python email test  
11 smtpserver = smtp.163.com  
12 username = ***  
13 password = ***  
14   
15 msgRoot = MIMEMultipart(related)  
16 msgRoot[Subject] = test message  
17   
18 #构造附件  
19 att = MIMEText(open(h:\\python\\1.jpg, rb).read(), base64, utf-8)  
20 att["Content-Type"] = application/octet-stream  
21 att["Content-Disposition"] = attachment; filename="1.jpg"  
22 msgRoot.attach(att)  
23           
24 smtp = smtplib.SMTP()  
25 smtp.connect(smtp.163.com)  
26 smtp.login(username, password)  
27 smtp.sendmail(sender, receiver, msgRoot.as_string())  
28 smtp.quit() 

 

群邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.text import MIMEText  
 5   
 6 sender = ***  
 7 receiver = [***,****,……]  
 8 subject = python email test  
 9 smtpserver = smtp.163.com  
10 username = ***  
11 password = ***  
12   
13 msg = MIMEText(你好,text,utf-8)  
14   
15 msg[Subject] = subject  
16   
17 smtp = smtplib.SMTP()  
18 smtp.connect(smtp.163.com)  
19 smtp.login(username, password)  
20 smtp.sendmail(sender, receiver, msg.as_string())  
21 smtp.quit()  

 

各种元素都包含的邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.multipart import MIMEMultipart  
 5 from email.mime.text import MIMEText  
 6 from email.mime.image import MIMEImage  
 7   
 8 sender = ***  
 9 receiver = ***  
10 subject = python email test  
11 smtpserver = smtp.163.com  
12 username = ***  
13 password = ***  
14   
15 # Create message container - the correct MIME type is multipart/alternative.  
16 msg = MIMEMultipart(alternative)  
17 msg[Subject] = "Link"  
18   
19 # Create the body of the message (a plain-text and an HTML version).  
20 text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"  
21 html = """\ 
22 <html> 
23   <head></head> 
24   <body> 
25     <p>Hi!<br> 
26        How are you?<br> 
27        Here is the <a href="http://www.python.org">link</a> you wanted. 
28     </p> 
29   </body> 
30 </html> 
31 """  
32   
33 # Record the MIME types of both parts - text/plain and text/html.  
34 part1 = MIMEText(text, plain)  
35 part2 = MIMEText(html, html)  
36   
37 # Attach parts into message container.  
38 # According to RFC 2046, the last part of a multipart message, in this case  
39 # the HTML message, is best and preferred.  
40 msg.attach(part1)  
41 msg.attach(part2)  
42 #构造附件  
43 att = MIMEText(open(h:\\python\\1.jpg, rb).read(), base64, utf-8)  
44 att["Content-Type"] = application/octet-stream  
45 att["Content-Disposition"] = attachment; filename="1.jpg"  
46 msg.attach(att)  
47      
48 smtp = smtplib.SMTP()  
49 smtp.connect(smtp.163.com)  
50 smtp.login(username, password)  
51 smtp.sendmail(sender, receiver, msg.as_string())  
52 smtp.quit()  

 

基于SSL的邮件

 1 #!/usr/bin/env python3  
 2 #coding: utf-8  
 3 import smtplib  
 4 from email.mime.text import MIMEText  
 5 from email.header import Header  
 6 sender = ***  
 7 receiver = ***  
 8 subject = python email test  
 9 smtpserver = smtp.163.com  
10 username = ***  
11 password = ***  
12   
13 msg = MIMEText(你好,text,utf-8)#中文需参数‘utf-8’,单字节字符不需要  
14 msg[Subject] = Header(subject, utf-8)  
15   
16 smtp = smtplib.SMTP()  
17 smtp.connect(smtp.163.com)  
18 smtp.ehlo()  
19 smtp.starttls()  
20 smtp.ehlo()  
21 smtp.set_debuglevel(1)  
22 smtp.login(username, password)  
23 smtp.sendmail(sender, receiver, msg.as_string())  
24 smtp.quit()  

 

python发送邮件实例1