英文原文:How I build 1QAD in 48 hours
我是如何 hack 了 4 种免费工具来创建每日邮件发送 app 的。
本文是关于如何创建 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 美元的花费。
— END —
译文: 《我是如何在 48 小时内创建 1QAD 网站的 》 腊八粥