繁体   English   中英

如何在每封电子邮件发送后让代码暂停 5 秒

[英]How can I make the code pause 5 seconds after every email sent

每次发送电子邮件时,我都需要代码休眠 5 秒,当我使用sleep(5)它只发送所有电子邮件,然后暂停。

编码:

import pandas as pd
import smtplib
from time import sleep

SenderAddress='<xxxx@gmail.com>'

e = pd.read_excel("C:xxx/Email.xlsx")
sleep(5)
emails = e['Emails'].values
server = smtplib.SMTP("smtp.gmail.com:587")
server.starttls()
server.login('xxx@gmail.com', 'xxxxx')

msg = 'Testing the code'

subject = "Congratulations"
body = "Subject: {}\n\n{}".format(subject,msg)
for email in emails:
  server.sendmail(SenderAddress, email, body)
server.quit()

尝试将 sleep 方法转移到循环体。 像这样

import pandas as pd
import smtplib
from time import sleep

SenderAddress='<xxxx@gmail.com>'

e = pd.read_excel("C:xxx/Email.xlsx")
emails = e['Emails'].values
server = smtplib.SMTP("smtp.gmail.com:587")
server.starttls()
server.login('xxx@gmail.com', 'xxxxx')

msg = 'Testing the code'

subject = "Congratulations"
body = "Subject: {}\n\n{}".format(subject,msg)
for email in emails:
  server.sendmail(SenderAddress, email, body)
  sleep(5)
server.quit()

只需将sleep(5)放在 for 循环中:

for email in emails:
    server.sendmail(SenderAddress, email, body)
    sleep(5)

这样每次调用server.sendmail您都会等待 5 秒钟

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM