赞
踩
smtplib
和
email
库来发送电子邮件,结合
schedule
库来安排任务。以下是详细步骤和示例代码:
首先,确保已经安装了必要的 Python 库。打开终端或命令行,运行以下命令来安装库:
pip install schedule
以下是一个基本的 Python 脚本,它会从 Gmail 账户发送一封带有报告内容的电子邮件。可以根据需要进行修改。
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import schedule import time # 电子邮件配置信息 sender_email = "your_email@gmail.com" receiver_email = "receiver_email@example.com" password = "your_password" # 发送电子邮件的函数 def send_email(): # 创建一个MIMEMultipart对象 msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = "每日报告" # 邮件正文内容 body = "这是您的每日报告。" msg.attach(MIMEText(body, 'plain')) # 登录到邮件服务器并发送邮件 try: server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(sender_email, password) text = msg.as_string() server.sendmail(sender_email, receiver_email, text) print("邮件发送成功") except Exception as e: print(f"邮件发送失败: {e}") finally: server.quit() # 设置每天固定时间发送邮件 schedule.every().day.at("08:00").do(send_email) # 保持脚本运行,检查任务调度 while True: schedule.run_pending() time.sleep(60) # 每隔一分钟检查一次任务
Gmail 设置: 如果使用的是 Gmail 发送电子邮件,请确保你的 Google 账户允许 “不太安全的应用访问”(虽然目前 Gmail 已经开始限制这个选项,可以考虑使用 App Passwords 代替)。
App Passwords: 对于启用了两步验证的账户,需要为脚本生成一个应用密码,而不是使用你的普通账户密码。
修改脚本: 在 sender_email
和 password
变量中填入你的电子邮件地址和应用密码。
保存脚本到一个 Python 文件中(如 daily_email_report.py
),然后在终端运行:
python daily_email_report.py
脚本将会在每天的早上 08:00 发送一封邮件到指定的收件人邮箱。
body
变量替换为动态生成的报告内容,可以从文件、数据库或 API 获取数据,并格式化成报告。receiver_email
改为一个包含多个邮件地址的列表,并在 sendmail
方法中循环发送邮件。这样设置后,便可以自动发送每日电子邮件报告了。如果需要部署在服务器上,可以考虑使用 nohup 或将其设置为系统服务。
结束语 Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。