原来有RSS的时候我们常常自己订阅一些网站。后面慢慢就变成了个性化推荐。我们今天要做的是,定时给自己发送邮件提醒。间隔可以自行设计。提示的话语也是按照自己的需求添加就行。这个可以做一个简单番茄钟。就是每隔25分钟提醒自己可以 完成某一项工作了。通过这个实例我们可以
1、熟悉Python的邮件发送
2、Python对定时任务的处理
3、Python随机函数的使用
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 带附件的添加 chenhua
import smtplib
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import schedule
import random
ISOTIMEFORMAT=''
#定义执行任务
def job():
sentemail()
#支持的各种任务格式
#设置调度的参数,这里是每2秒执行一次。
#schedule.every(2).seconds.do(job)
# 每小时执行
#schedule.every().hour.do(job)
# 每天12:25执行
#schedule.every().day.at("12:25").do(job)
# 每2到5分钟时执行
#schedule.every(5).to(10).minutes.do(job)
# 每星期4的19:15执行
#schedule.every().thursday.at("19:15").do(job)
# 每第17分钟时就执行
#schedule.every().minute.at(":17").do(job)
#定时任务的设置每20分钟。
schedule.every(20).minutes.do(job)
def sentemail():
email_header_list = [
"1.仿佛一条秋日的小径:在还没有来得及把它清扫干净之前,便又盖满了落叶。",
"2.我们周围的一切苦难我们也得去忍受。我们大家并非共有一个身躯,但却共有一个成长过程,它引导我们经历一切痛楚,不论是用这种或那种形式。就像孩子成长中经历生命的一切阶段,直至成为白发老人,直至死亡(而这个阶段从根本上看似乎是那以往的阶段——无论那个阶段是带着需求还是怀着畏惧——所无法接近的),我们同样在成长中经历这个世界的一切苦难(这同人类的关系并不比同我们自己的关系浅)。在这一关系中没有正义的容身之地,但也不容对苦难的惧怕或作为一个功劳来阐述苦难,",
"3.每个人都生活在自己背负的铁栅栏后面、比起人,动物离我们更近。这是铁栅栏。与动物攀亲比与人攀亲更容易。人的自然生活才是人生,可是这一点人们看不见。人们不愿意看见这一点。",
"4.生活中有种种可能性,而在一切可能性中反映出来的只是自身存在的一种无法逃脱的不可能性。",
"5.我是自由的,那就是我迷失的原因。",
"6.对我们尘世生活短暂性的理由的一度的永恒辩护哪怕只有半分相信,也要比死心塌地相信我们当前的负罪状况令人压抑得多。忍受前一种相信的力量是纯洁的,并完全包容了后者,只有这种力量才是信仰的尺度。",
"7.—个人有自由的意志,体现在三个方面:第一,当他愿意这样生活时,他是自由的;现在他当然不能退回去了,因为他已不是当时愿意这样生活的他了,而就这点而言,他活着又何尝不是实施他当初的意愿的方式。",
"8.除了感性世界外,语言只能暗示性地被使用着,而从来不曾哪怕近似于比较性地被使用过,因为它(与感性世界相适应)仅仅与占有及其关系相联系。",
"9.孤立地压制疾病的外化表现,并不能消灭疾病。相反,这样做情况更糟。一个向外生长扩散的肿瘤比几个体表肿瘤要危险得多。",
"10.沉默包含了多少力量啊。咄咄逼人的进攻只是一种假象,一种诡计,人们常常用它在自己和世界面前遮掩弱点。真正持久的力量存在于忍受中。(中国人最能忍,这应该是中国文化能持久的一个重要因素。)",
"11.真正的对手会灌输给你大量的勇气。",
"12.一个突变,回答问题时瞻前顾后,小心翼翼,怀着希望,窥测方向,绝望地在问题的那不可接近的脸上探索着,跟着它踏上最荒唐的、亦即为回答避之唯恐不及的道路。",
"13.欲望之泉就是他的寂寞之泉。",
"14.人总是追求他没有的东西。各国人民共同的技术进步越来越使它们失去民主特性。因此他们追求民主特性。现代民族主义是抵制文明进攻的运动。",
"15.人无法通观自己,他处在黑暗中。",
"16.只建巴比塔而不去攀登它,加入这件事可能的话,那么这桩工作一定会被允许的。",
"17.当车到达目的地时,他们的女儿第一个站起来,舒展了一下她那年轻的身体,在他们看来,这恰恰是对他们新的梦想和良好心愿的一种肯定。",
"18.您何苦读这种昙花一现的东西?大多数现代书籍只不过是对今天的短暂耀眼的反映。这点光芒很快就会熄灭。您应该多读古书、古典文学、歌德。古典的东西把它最内在的价值表露到了外面——持久性。时新的东西是短暂的,今天是美好的,明天就是可笑的。这就是文学的道理。",
"19.疾病根本不是恶,而是警告信号,生活的助手。",
"20.不可摧毁性是一体的;每一个人都是它,同时它又为全体所共有,因此人际存在着无与伦比的、密不可分的联系。",
"21.以最强烈的光可以使世界解体。在弱的眼睛前面,它会变得坚固,在更弱的眼睛前面,它会长出拳头,在再弱一些的眼睛前面,它会恼羞成怒,并会把敢于注视它的人击得粉碎。",
"22.大凡事物必有顺序,看的太超前了不行。看的太超前,势必忽视脚下,人往往跌倒。可另一方面,光看脚下也不行。不看好前面,会撞上什么。所以么,要在多少往前看的同时按部就班处理眼下事物。这点至为关键,无论做什么。",
"23.命运就象沙尘暴,你无处逃遁。只有勇敢跨入其中,当你从沙尘暴中逃出,你已不是跨入时的你了。",
"24.您不知道,沉默包含了多少力量。咄咄逼人的进攻只是一种假象,一种诡计,人们常常用它在自己和世界面前遮掩缺点。真正持久的力量在于忍受中。只有软骨头才急躁粗暴。他通常因此而丧失人的尊严。",
"25.不可欺骗任何人,也不可欺骗世界,隐瞒它的胜利。",
"26.耐心是应付任何情况的巧妙办法。人们必须和一切事物一起共振,热衷于一切事物,同时又必须平静耐心。不能弯曲,不能折裂。只能克服,始于自我克服的克服。人不能逃避这一点。逃离这一点就是崩溃。人们必须耐心地吸收一切,耐心的成长。胆怯的自我界限只有用爱才能突破。人们必须在我们周围沙沙作响的枯萎死亡的树叶背后看见嫩绿鲜亮的春绿,耐心等待。耐心是实现一切梦想的唯一的、真正的基础。",
"27.自原罪以来,我们认识善与恶的能力基本上是一样的;尽管如此,我们却偏偏在这里寻找我们特殊的长处。但在这种认识的彼岸才开始出现真正的不同。这种相反的表象产生于下述原因:没有人仅仅获得这种认识便满足了,而一定要努力将这种认识付诸实施。但他没有获得这方面的力量,所以他必须摧毁自己,即使要冒风险:摧毁自己后甚至可能会得不到那必要的力量,但对他来说没有别的办法,只有做此最后的尝试(这也是吃认识之禁果这一行动所包含的死亡威胁之真谛;也许这也是自然死亡的本来意义)。面临这种尝试时他畏惧了,他宁可退还对善与恶的认识(原罪这一概念可追溯到这种恐惧);但已经发生的事情无法倒退,而只能搅浑。为此目的产生了种种动机,整个世界为它们所充斥,甚至整个可见的世界也只不过是想要安宁片刻的人们的一种动机而已。这是一种伪造认识之事实的尝试,是将认识搞成目的的尝试。",
"28.我在自己周围筑起高墙,没有那个人能够入内,也尽量不放自己出去。",
"29.关于宇宙的无限宽广和充实的想象是把艰辛的创造自由的自我思索之混合推到极端的结果。",
"30.我们被创造出来,是为了在天堂生活,天堂是为我们的享用而存在。到如今我们的使命已经改变了;天堂的使命是否也随之而改变呢,没有人说出。",
"31.难道除了欺骗你还懂得别的什么吗?一旦欺骗消除,你就不能朝那边看了,或者说你会变得呆若木鸡。",
"32.上帝,生活,真理--这些只是同一件事实的不同名称……我们时刻在体验它……它存在于我们自己身上,也许正因为如此,我们才无法获得它的全貌。",
"33.理论上存在一种完美的幸福可能性:相信心中的不可摧毁性,但不去追求它。",
"34.许多所为的科学家把作家的世界移植到另一个科学的层次上,从而获得荣誉,被人看重。",
"35.精神只有在不成为支撑物时,它才会自由。",
"36.卡夫卡经典语录。您把作家写成一个脚踏大地、头顶青天的伟人……事实上,作家总要比社会上的普通人小得多,弱得多。因此,他对人世间生活的艰辛比其他人感受得更深切、更强烈。对他本人来说,他的歌唱只是一种呼喊。艺术对于艺术家来说是一种痛苦,通过这个痛苦,他使自己得到解放,去忍受新的痛苦。他不是巨人,而只是生活这个牢笼里一只或多或少色彩斑斓的鸟。",
"37.它们(报纸)折断了想象力的翅膀。这是很自然的。图画技术越完善,我们的眼睛就越弱。",
"38.希望你记住我。佐伯说,只要有你记住我,被其他所有人忘掉都无所谓。",
"39.这是对的。每个魔术师都有自己的仪式。比如说,海顿只有戴着扑粉的假发时才作曲。写作也是一种召魔法术。",
"40.你可以避开这世界的苦难,你完全有这么做的自由,这也符合你的天性,但也许正是这种回避是你可以避免的唯一的苦难。",
"41.如果有谁在这个世界之内爱他人,那么这与在这个世界之内爱自己相比,既非更不正当亦非更正当。剩下的只有一个问题:第一点是否能做到。",
"42.罪愆总是公然来临,马上就会被感官抓住的。它归结于它的许多根子,但这些根子并不是非拔出来不可的。",
"43.我爱她,但不能跟她说话,我窥视着她,以便不与她相遇。",
"44.假如我是影子,我不愿意只一半。",
"45.光勤劳是不够的,蚂蚁也非常勤劳。你在勤劳些什么呢?有两种过错是基本的,其他一切过错都由此而生:急躁和懒惰。人的主罪有二,其余皆由此而来:急躁和懒散。由于急躁,他们被逐出了天堂;由于懒散,他们再也回不去。",
"46.这个世界的诱惑手段和关于这个世界只是一种过渡的保证符号,实际上是一回事。这是有道理的,因为只有这样这世界才能诱惑我们,同时这也符合真情。可是最糟的是,当我们真的被诱惑之后,便忘记了那个保证,于是发现善将我们引入恶,女人的目光将我们诱到她的床上。",
"47.真正的道路在一根绳索上,它不是绷紧在高处,而是贴近地面的。它与其说是供人行走毋宁说是用来绊人的。",
"48.我们生活在一个恶的时代。现在没有一样东西是名符其实的,比如现在,人的根早已从土地里拔了出去,人们却在谈论故乡。",
"49.从沙尘暴中逃出的你已不再是跨入沙尘暴时的你",
"50.整个世界都是悲剧性的,技术的铁拳粉碎了所有的防护墙。这不是表现主义。这是赤裸裸的日常生活。我们象罪犯一样被绑赴刑场那样,被赶往真理。"
]
email_header=random.choice(email_header_list)
sentdate=str(time.strftime(ISOTIMEFORMAT, time.localtime()))
#设置发送服务器地址
host = 'smtp.163.com'
#设置发件服务器端口,注意这里有SSL和非SSL两种形式。一遍都是ssl
port = 465
#请填写自己的163邮箱
sender_account ='*********@163.com'
#请填写自己的邮箱密码
sender_password = '*********'
#请填写接收的邮箱
receiver_account = '*********@tujia.com'
#构建邮件主体内容
message = MIMEMultipart()
message['subject']=sentdate + "blogsit高效工作室:" + email_header
message['from'] = sender_account
message['to'] = receiver_account
#构建邮件正文内容
body = '<h1>'+ sentdate +'</h1><h2>'+ "blogsit高效工作室:" + email_header +'</h2><p>陈华</p>'
message_body = MIMEText(body, 'html')
message.attach(message_body)
#添加附件1
filename = '/Users/chenhua/Downloads/10wallpaper1.jpg'
message_accessory = MIMEText(open(filename,'rb').read(),'base64','UTF-8')
message_accessory["Content-type"] = 'application/octet-stream'
message_accessory["Content-Disposition"] = 'attachment; filename='+filename+'"'
message.attach(message_accessory)
#添加附件2
filename2 = '/Users/chenhua/Downloads/10wallpaper2.jpg'
message_accessory2 = MIMEText(open(filename2,'rb').read(),'base64','UTF-8')
message_accessory2["Content-type"] = 'application/octet-stream'
message_accessory2["Content-Disposition"] = 'attachment; filename='+filename2+'"'
message.attach(message_accessory2)
try:
sender = smtplib.SMTP_SSL(host,port)
sender.login(sender_account,sender_password)
sender.sendmail(sender_account,receiver_account,message.as_string())
print('Send Email Done')
except Exception as e:
print ("Send Email Error")
if __name__ == '__main__':
while True:
schedule.run_pending()
以上Demo 就是定时给我自己发送邮件提醒。编码是不是很有意思很好玩。我们继续Python 学习的趣玩篇幅。
网友评论