本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#coding=utf8 ''''' 该模块使自动发送邮件的模块 模块初始化时需要设置: sender:发送人 reciver:接收者 smtpServer:发送人的服务器类型 password:登录命令 subject:邮件标题 datafile:数据文件 文件包含六个函数: senderLogin():连接服务并登录服务 setSubject():设置邮件标题 SendMessage():邮件发送的信息 sendMail():发送邮件 quitMail():关闭邮件服务 run():执行登录、设置邮件标题、设置邮件发送信息、发送邮件、关闭邮件服务 ''' import smtplib from mangerResultFile import FileManger from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart class AutoMail( object ): def __init__( self ,sender,reciver,smtpServer, password,subject,datafile): #设置发送人 self .sender = sender #设置登录密码 self .password = password #设置接收者 self .reciver = reciver #设置邮件标题 self .subject = subject #设置附件路径 self .datafile = datafile #设置发送邮件服务 self .smtpServer = smtpServer #创建一个smtp实例 self .smtp = smtplib.SMTP() #设置下发送信息包含的类型的信息体 self .msgRoot = MIMEMultipart( 'related' ) #调用run函数运行 self .run() #发送用户登录 def senderLogin( self ): #通过smtp实例的connect方法连接发送邮件服务 self .smtp.connect( self .smtpServer) #通过smtp实例的login方法登录发送邮件服务 self .smtp.login( self .sender, self .password) def setSubject( self ): #设置邮件标题 self .msgRoot[ 'Subject' ] = self .subject def SendMessage( self ): #读取附件信息到att中 att = MIMEText( open ( self .datafile, 'rb' ).read(), 'base64' , 'utf8' ) #设置att的内容类型 att[ "Content-Type" ] = 'application/octet-stream' #给附件设置一个文件名 att[ "Content-Disposition" ] = 'attachment; ' + 'filename=' + FileManger().getLastFile() + '' self .msgRoot.attach(att) def sendMail( self ): #发送邮件 self .smtp.sendmail( self .sender, self .reciver, self .msgRoot .as_string()) def quitMail( self ): #退出邮件服务 self .smtp.quit() def run( self ): try : self .senderLogin() self .setSubject() self .SendMessage() self .sendMail() self .quitMail() print "send success...." except Exception,e: print e def test(): #创建一个FileManger实例 fm = FileManger() sender = 'wang@163.com' receiver = 'e.wang@163.com' smtpserver = 'smtp.163.com' password = ' ' ject = 'XQL Autom excut project' filpath = fm.getLastFileWithPath() try : AutoMail(sender,receiver,smtpserver,password,ject,filpath) except Exception,e: print e if __name__ = = "__main__" : test() |
完整项目源码下载链接:Python自动发送邮件的脚本源码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/henni_719/article/details/60580593