在python中,如何使用cron和smtp在特定时间发送电子邮件?

2024-06-28 11:10:39 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我只能发电子邮件。我的代码是:

import smtplib

email_user = 'myemail@gmail.com'
server = smtplib.SMTP ('smtp.gmail.com', 587)
server.starttls()
server.login(email_user, 'email pass')

#SET TIME HERE?
from crontab import CronTab

#EMAIL
message = 'sending this from python!'
server.sendmail(email_user, email_user, message)
server.quit()

我正在努力确定发送电子邮件的时间。如果有人也能帮我想出如何添加附件,那太好了!在


Tags: 代码fromimportcommessageserver电子邮件email
1条回答
网友
1楼 · 发布于 2024-06-28 11:10:39

假设您已经有了send_email()函数,我会这样做:

import datetime as dt
import time
import smtplib

def send_email():
    email_user = 'myemail@gmail.com'
    server = smtplib.SMTP ('smtp.gmail.com', 587)
    server.starttls()
    server.login(email_user, 'email pass')

    #EMAIL
    message = 'sending this from python!'
    server.sendmail(email_user, email_user, message)
    server.quit()

send_time = dt.datetime(2018,8,26,3,0,0) # set your sending time in UTC
time.sleep(send_time.timestamp() - time.time())
send_email()
print('email sent')

如果您希望定期发送电子邮件,可以执行以下操作:

^{pr2}$

你也可以生成一个线程,让这个线程处理电子邮件的发送。在

相关问题 更多 >