分享一份python每天8點(diǎn)自動(dòng)發(fā)送郵件的案例,需要搭建python環(huán)境的同學(xué)自己看一下之前的文檔,首先需要安裝兩個(gè)擴(kuò)展庫 `smtplib`(這是 Python 的標(biāo)準(zhǔn)庫)和 `schedule` 庫,然后需要SMTP服務(wù)器的地址,可以自己搭建也可以使用各自網(wǎng)站的,需要到個(gè)人賬號中查找。
創(chuàng)建schedule_daily_email.py文件粘貼以下內(nèi)容
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time
# SMTP服務(wù)器的配置信息
SMTP_SERVER = 'smtp服務(wù)器地址'
SMTP_PORT = 587
SMTP_USERNAME = '你的郵箱'
SMTP_PASSWORD = '郵箱密碼'
# 接收郵件的郵箱
TO_EMAIL = '接收人郵箱地址'
# 發(fā)件人的郵箱
FROM_EMAIL = SMTP_USERNAME
# 郵件內(nèi)容
def create_email_content():
subject = "標(biāo)題"
body = "內(nèi)容。"
msg = MIMEMultipart()
msg['From'] = FROM_EMAIL
msg['To'] = TO_EMAIL
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
return msg.as_string()
# 發(fā)送郵件
def send_email():
try:
server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
server.starttls()
server.login(SMTP_USERNAME, SMTP_PASSWORD)
email_content = create_email_content()
server.sendmail(FROM_EMAIL, TO_EMAIL, email_content)
server.quit()
print("郵件發(fā)送成功")
except Exception as e:
print(f"發(fā)送郵件失敗: {e}")
# 安排每天發(fā)送一次郵件
def schedule_daily_email():
schedule.every().day.at("08:00").do(send_email) # 在每天的上午8點(diǎn)發(fā)送郵件
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == "__main__":
schedule_daily_email()
按照自己的內(nèi)容,修改上方常量部分
然后再命令行運(yùn)行python schedule_daily_email.py 即可每天8點(diǎn)自動(dòng)發(fā)送郵件