本文实例为大家分享了python smtplib实现发送邮件的具体代码,供大家参考,具体内容如下
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
|
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import COMMASPACE,formatdate
from email import encoders
import os
def send_mail(server, fro, to, subject, text, files = []):
assert type (server) = = dict
assert type (to) = = list
assert type (files) = = list
msg = MIMEMultipart()
msg[ 'From' ] = fro
msg[ 'Subject' ] = subject
msg[ 'To' ] = COMMASPACE.join(to) #COMMASPACE==', '
msg[ 'Date' ] = formatdate(localtime = True )
msg.attach(MIMEText(text))
for f in files:
part = MIMEBase( 'application' , 'octet-stream' ) #'octet-stream': binary data
part.set_payload( open (f, 'rb' ).read())
encoders.encode_base64(part)
part.add_header( 'Content-Disposition' , 'attachment; filename="%s"' % os.path.basename(f))
msg.attach(part)
import smtplib
smtp = smtplib.SMTP(server[ 'name' ], server[ 'port' ])
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(server[ 'user' ], server[ 'passwd' ])
smtp.sendmail(fro, to, msg.as_string())
smtp.close()
if __name__ = = '__main__' :
server = { 'name' : 'mail.server.com' , 'user' : 'chenxiaowu' , 'passwd' : 'xxxx' , 'port' : 25 }
fro = 'chenxiaowu@163.com'
to = [ 'xxxx@163.com' ]
subject = '脚本运行提醒'
text = 'mail content'
files = [ 'top_category.txt' ]
send_mail(server, fro, to, subject, text, files = files)
|
从网上找了些资料,不会有个别错误,上面代码经调试测试通过。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/five3/article/details/27819531