搭建kindle推送服务

最近可以直接在手机上给kindle推送的公众号/软件都倒台了,每次要找本书发给kindle都得大费周折,于是决定自己搭一个网站来干这事

首先,确定一下框架,前端没啥可选的,HTML+CSS+JS(Java、JS的逻辑真是让我看不懂,头疼),后端就用python吧,正好前几天用过它的Flask

然后先试试发送邮件的功能,去自己的163邮箱里面打开smtp服务,初始化授权码,然后把信息填入。开始运行程序后,发现没有提示发送成功但也没有错误提示。上网一搜,原来阿里云把服务器的25端口封了,那就把端口改为465,并添加SSL加密(在构造发送信息函数时将SMTP改为SMTP_SSL即可)再次试验,成功发送

然后添加附件功能(注意:这里有一个rz的坑,我图方便在windows下创了个test.txt并直接rz上传,发现无法上传,后来在test.txt中随便打了点字进去才可以,看来rz不允许空文件)按照菜鸟教程的例程,将message构造函数换一个,然后再读取文件并attach进message中即可,发送部分不需做任何改变

至此,邮件发送附件的测试部分结束,接下来是和前端结合

首先,做一个输入信息的页面,需要用户将收信人,标题与内容(这俩其实可以不用,先放着吧)还有附件(这个需要从服务器数据库中搜索,数据库现在还没建,就先从工程目录里面找吧)

html开一个表单,再加一点css就可以完成(虽然超级丑但是能用就行)注意:如果用input,就算css里面给他设置的文本框区域再大也不会换行,需使用textarea。然后在表单中设置将填入数据传给"/data_arr"的页面

回到python后端,开两个flask页面,第一个是路径为'/',直接return前面写的html页面即可。注意:html文件需放在templates文件夹下才可以调用render_template函数找到第二个路径为'/data_arr',接收并解析前端传回的数据(参考网易云那篇文章),将数据填入,发送即可。为了让用户可以看到信息是否正确以及邮件是否正确发送,再返回到一个新的html页面,用于显示刚才填入的信息

到这里我就发了愁了,html似乎不能从后端获取数据显示,只能用那该死的js,东拼西凑了几句我也没怎么看明白意思的js,勉强用列表显示了数据

以上所有文件下载地址

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注