发邮件主要使用smtplib和email两个模块,其中email模块来封装要发送的内容,smtplib模块用来链接邮件服务器来发送邮件。
例子:群发邮件,群发人信息放在文件里,下面有一段把信息写入文件的内容,如果已有文件,可以注释
#引用csv模块。
import smtplib
import csv
#引入email包中构建文本内容的方法
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.header import Header
smtp_server = 'smtp.qq.com'
from_addr = '.......@qq.com'
password = '......'
text = '''亲爱的!
能遇见你很开心。
我用Python
'''
data = [['kk ', '.....@qq.com'],['mm', '....@qq.com']]
#待写入csv文件的内容
with open('c:\\Users\\69505\Desktop\\to_addrs.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
#读取收件人数据,并启动写信和发信流程
with open('c:\\Users\\69505\Desktop\\to_addrs.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
to_addrs=row[1]
msg = MIMEText(text,'plain','utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addrs)
msg['Subject'] = Header('python test')
server = smtplib.SMTP_SSL(smtp_server)
server.login(from_addr, password)
server.sendmail(from_addr, to_addrs, msg.as_string())
#关闭服务器
server.quit()