博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之(改写成了类)用smtplib模块实现第三方smtp发送邮件
阅读量:7002 次
发布时间:2019-06-27

本文共 1583 字,大约阅读时间需要 5 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#_*_ coding:utf-8 _*_
import  
smtplib
from 
email.mime.multipart 
import 
MIMEMultipart
from 
email.mime.text 
import 
MIMEText
 
class 
Sendmail:
 
    
local_hostname 
= 
[
'toby-ThinkPad-T430shhhh'
]
    
msg 
= 
MIMEMultipart(
'related'
)
 
    
def 
__init__(
self
,smtp_server,mail_user,mail_pass):
        
self
.smtp_server 
= 
smtp_server
        
self
.mail_user 
= 
mail_user
        
self
.mail_pass 
= 
mail_pass
 
    
def 
mess(
self
,theme,message):
        
Sendmail.msg[
'Subject'
= 
theme  
# 邮件主题
        
html_msg 
= 
'''
                
<html><head><body>
                
<p>%s</p>
                
</body></head></html>
            
''' 
% 
message
        
html 
= 
MIMEText(html_msg, 
'html'
'utf-8'
)
        
Sendmail.msg.attach(html)
 
    
def 
files(
self
,path,filenames):
        
files 
= 
path 
+ 
filenames
        
att 
= 
MIMEText(
open
(files, 
'rb'
).read(), 
'base64'
'utf-8'
)
        
att[
"Content-Type"
= 
'application/octet-stream'
        
att[
"Content-Disposition"
= 
'attachment; filename=%s' 
% 
filenames
        
Sendmail.msg.attach(att)
 
    
def 
send(
self
,receiver):
        
smtp 
= 
smtplib.SMTP()
        
smtp.connect(
self
.smtp_server)
        
smtp.ehlo(
self
.local_hostname)  
# 使用ehlo指令向smtp服务器确认身份
        
smtp.starttls()  
# smtp连接传输加密
        
smtp.login(
self
.mail_user, 
self
.mail_pass)
        
smtp.sendmail(
self
.mail_user, receiver, Sendmail.msg.as_string())
        
smtp.quit()
if 
__name__ 
=
= 
"__main__"
:
 
    
= 
Sendmail(
'xxxx.xxxx.com'
,
'xxxxx@xxxx.com'
,
'xxxxxx'
#实例化一个发送邮件的对象
    
a.mess(
'hello world'
,
'this is test mail'
)   
#定义主题,消息
    
a.files(
'/var/log/'
,
'syslog.2.gz'
#这是发送邮件 定义路径、文件名
    
a.send(
'xxxx@qq.com'
)  
#收件人
本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1875021

转载地址:http://uugvl.baihongyu.com/

你可能感兴趣的文章