假设你已经有了你的send_email()
我会做的功能工作:
import datetime as dt
import time
import smtplib
def send_email():
email_user = '[email protected] /cdn-cgi/l/email-protection'
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')
如果您想定期发送电子邮件,您可以这样做:
import datetime as dt
import time
import smtplib
def send_email():
email_user = '[email protected] /cdn-cgi/l/email-protection'
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()
def send_email_at(send_time):
time.sleep(send_time.timestamp() - time.time())
send_email()
print('email sent')
first_email_time = dt.datetime(2018,8,26,3,0,0) # set your sending time in UTC
interval = dt.timedelta(minutes=2*60) # set the interval for sending the email
send_time = first_email_time
while True:
send_email_at(send_time)
send_time = send_time + interval
您还可以生成一个线程并让该线程处理电子邮件的发送。