原文地址(original source): http://blog.piotry.me/how-i-build-1qad-in-48-hours/
作者(author): https://twitter.com/yordaKhof
本文是关于如何创建 One Quote A Day’s (1QAD)每日引用邮件服务的。
手头有数据库或名言(quote)和邮箱地址列表,我的任务就是每天给这些列表发送带有名言的邮件。名言应该按他们在数据库的顺序或状况进行读取。
让我们把问题分解为简单的任务:
存放名言:名言本身需要被放在某处。Dropbox、S3、我们自己的服务器;选择有很多。一旦确定好了,每句名言的URL不得不被记在某个地方。它可以放在一个json文件、或者你自己服务器等等。
存放邮箱地址:你可以存放在一个自定义的json文件、数据库、或使用 mailchimp 。
重复任务:很多极客愿意开发自己的计划任务(cron)来发送邮件。cron在linux世界应该广泛,用于定期的重复任务。尽管如此,问题在于如果采用这种方法,你不得不控制邮件模板的输出。它将是纯html,而不是所期望的输出。
发送邮件:同样,很多极客将考虑使用自己的系统来发送邮件。问题在于你没有一种非常灵活的方法,来发送邮件的自定义模板文件。
据我研究,最基础的信息是mailchimp提供了名叫“RSS to Email”的活动(campaign)功能。这意味着,只要有了RSS地址,对于每条新的RSS条目,mailchimp将自动给列表发送一封邮件。
Mailchimp还提供了最简单的、创建自定义邮件模板的方式。
搞定!
Mailchimp ping我的服务器—运行在Heroku上【注1】—针对特定URL每天一次。
当ping的时候,该URL将生成一个动态的、带有当天名言的RSS输出。
这些名言被存放在公开的dropbox目录里,他们的URL存放在firebase【注2】。为什么?因为dropbox免费,firebase也是免费 firebase还帮我存储了一个 start_date
的值。如果 start_date
是昨天,那么我就需要为今天读取数据库中的第一条名言。
扼要重述:
我写的所有东西都在我的服务器 /rss
端点(endpoint)里,它们将生成RSS文件。60行的代码,0美元的花费。