标签:python
# !/usr/bin/env python
# -*- coding: UTF-8 -*-
import csv
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.utils import COMMASPACE, formatdate
from email import encoders
import time
def send_mail(server, fro, to, subject, text, chao):
assert type(server) == dict
assert type(to) == list
msg = MIMEMultipart()
msg[‘From‘] = fro
msg[‘Subject‘] = subject
msg[‘To‘] = COMMASPACE.join(to) # COMMASPACE==‘, ‘
msg[‘Cc‘] = chao # COMMASPACE==‘, ‘
msg[‘Date‘] = formatdate(localtime=True)
msg.attach(MIMEText(text))
xlsxpart = MIMEApplication(open(‘附件.docx‘, ‘rb‘).read())
xlsxpart.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘附件.docx‘)
msg.attach(xlsxpart)
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+[chao], msg.as_string())
smtp.close()
if __name__ == ‘__main__‘:
server = {‘name‘: ‘xx.163.com‘, ‘user‘: ‘xxxxx‘, ‘passwd‘: ‘xxx‘, ‘port‘: 25}
fro = ‘xxxxxxxx‘
subject = ‘xxxxx‘
with open(‘1.csv‘, ‘U‘) as csvfile:
# reader = csv.DictReader(csvfile)
reader = csv.reader(csvfile)
l = []
for row in reader:
l.append(row)
print("开始")
for i in l:
name = i[0]
mail = i[2:10]
chao = i[1]
b = ‘‘‘
您好!
值此“八一”建军节之际,祝愿贵公司蓬勃发展,建军节快乐!
‘‘‘
a = "尊敬的{0}:".format(name)
text = a + b
while ‘‘ in mail:
mail.remove(‘‘)
to = mail
print(‘to‘, to, ‘ok‘, ‘chao‘, chao, ‘ok‘)
time.sleep(7)
send_mail(server, fro, to, subject, text, chao)csv 的格式
第一列是客户名称,第二列是抄送的人,第三列和后面的是要发送的人。
msg[‘To‘] = COMMASPACE.join(to) # COMMASPACE==‘, ‘ msg[‘Cc‘] = chao # COMMASPACE==‘, ‘
smtp.sendmail(fro, to+[chao], msg.as_string())
需要特别注意的是上面,抄送的是 1个人。
Cc 是指要抄送,要注意抄送的是一个人还是多个。如果是多个,需要按照to的格式。
本文出自 “何全” 博客,请务必保留此出处http://hequan.blog.51cto.com/5701886/1953223
标签:python
原文地址:http://hequan.blog.51cto.com/5701886/1953223