代码如下:
import smtplib
content = ["zero","one", "two", "three", "four", "five", "six"]
def email (content):
FROMADDR = "SENDER@gmail.com"
LOGIN = FROMADDR
PASSWORD = "PASSWORD"
TOADDRS = ["SEND TO"]
SUBJECT = "Test"
for term in content: #LOOP
msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n"
% (FROMADDR, ", ".join(TOADDRS), SUBJECT) )
msg += term + "\r\n"
server = smtplib.SMTP('smtp.gmail.com', 587)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.login(LOGIN, PASSWORD)
server.sendmail(FROMADDR, TOADDRS, msg)
server.quit()
email(content)
这个程序在列表中迭代,并给每个项目发送电子邮件,一次一个。你知道吗
如何让程序在每周的特定时间通过电子邮件发送列表中的项目,直到它发送列表中的所有项目?你知道吗
(我问这个与这个例子相关的问题是因为它更简单)
假设我想一次发一封邮件,直到所有邮件都发送出去。第一项在星期一下午2点,第二项在星期一下午4点,第三项在星期二晚上7点,第四项在星期五晚上8点。然后我希望程序每周在这些时间发送接下来的四个项目,直到它发送列表上的所有项目。所以我应该在那个时候拿到名单上的下一个项目。你知道吗
我知道linux有一个程序可以在特定时间运行一个程序,但是如果我使用这个程序,它每次都会发送整个列表,而不是下一项。你知道吗
pythonsleep()
函数将不起作用,因为我希望它发送电子邮件的时间间隔不是固定的。你知道吗
“绿色”&;资源非常经济的方法(无cron,无需多次重读任何内容)
这是一个智能调度问题解决方案,由您负责创建正确的smtp发送处理程序和迭代器,而不是修复上面的代码。你知道吗
然后:
最后,要设置日期,可以通过命令行<;filname>;或编码的
asList = [ "2014-08-21 12:00", "2014-08-21 17:30", ... ]
进行任何输入将cron设置为在希望发送消息的时间运行。你知道吗
在磁盘上保存一个包含列表的文件,以及一个placekeeper字符串。你知道吗
每次脚本运行时,打开文件,执行需要执行的操作,然后将文件写回。你知道吗
相关问题 更多 >
编程相关推荐