简单学量化——发送电子邮件

简单学量化——发送电子邮件

首页枪战射击回到发送方更新时间:2024-07-08

有时候人不在电脑旁,程序运行中发生了问题,或者程序需要定期发送报告,此时发送电子邮件就是一个方便快捷的方案。python的内置库smtplib就具有发送电子邮件的功能,今天我们以QQ邮箱为例,发送一个带附件的邮件给自己。

import time import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart #设置服务器所需信息 #qq邮箱服务器地址 mail_host = 'smtp.qq.com' #qq号 mail_user = '2*****5' #QQ邮箱为授权码) mail_pass = 'n*****c' #邮件发送方邮箱地址 sender = '2*****5@qq.com' #只发送一个人可以用字符串或列表,多于一个人用列表 receivers = ['2*****5@qq.com'] #这表示可以发送带附件的邮件 message = MIMEMultipart() #设置email信息 #邮件主题 message['Subject'] = '邮件主题' #发送方信息 message['From'] = sender #接受方信息 message['To'] = receivers[0] #邮件内容设置 content = MIMEText("这是一个测试邮件", 'html', 'utf-8') #附件的路径 with open('abc.csv','r',encoding='gbk' ,errors='ignore') as f: attachment = f.read() attachment1 = MIMEText(attachment) attachment1['Content-Disposition'] = 'attachment;filename="abc.csv"' #将内容和附件附在邮件上 message.attach(content) message.attach(attachment1) #发邮件成功后返回时间 send_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) #登录并发送邮件 try: smtpObj = smtplib.SMTP() #连接到服务器 smtpObj.connect(mail_host,25) #登录到服务器 smtpObj.login(mail_user,mail_pass) #发送 smtpObj.sendmail( sender,receivers,message.as_string()) #退出 smtpObj.quit() print(f'邮件已发送,发送时间为{send_time}') except smtplib.SMTPException as e: print('邮件发送出现了错误:',e,'请重试后发送') #打印错误信息

返回:邮件已发送,发送时间为2024-01-12 21:19:25

需要注意的是:

1、QQ邮箱的授权码路径:邮箱界面左上角的“设置”——“账号”——“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”——“继续获取授权码”,点开就行了。

2、做完第一条,会出现一个“短信验证”,让我们发短信,先不要发(浪费1毛钱啊)。点击“选择其他方式验证”,然后出现接收验证码或用QQ密保,这两个选一个用就行了。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved