我是如何在48小時內創建1QAD網站的

jopen 9年前發布 | 10K 次閱讀 網站

英文原文:How I build 1QAD in 48 hours

我是如何 hack 了 4 種免費工具來創建每日郵件發送 app 的。

本文是關于如何創建 One Quote A Day’s(1QAD)每日引用郵件服務的。

挑戰

手頭有數據庫或名言(quote)和郵箱地址列表,我的任務就是每天給這些列表發送帶有名言的郵件。名言應該按他們在數據庫的順序或狀況進行讀取。

理解挑戰

讓我們把問題分解為簡單的任務:

  1. 在某處存放名言
  2. 在某處存放郵箱地址
  3. 創建一個重復任務,把一句名言放到郵件模板
  4. 發送郵件模板到郵件列表

存放名言:名言本身需要被放在某處。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是昨天,那么我就需要為今天讀取數據庫中的第一條名言。

扼要重述:

  1. 名言存放在 dropbox,通過 firebase 訪問
  2. 郵箱列表在 mailchimp 里動態更新
  3. 使用 mailchimp 的“RSS to Email”的活動功能,來重復發送 email

我寫的所有東西都在我的服務器 /rss 端點(endpoint)里,它們將生成 RSS 文件。60 行的代碼,0 美元的花費。

  • 注1:Heroku 是一個支持多種編程語言的云平臺即服務。在 2010 年被 Salesforce.com 收購。Heroku 作為最開始的云平臺之一,從 2007 年 6 月起開發,當時它僅支持 Ruby,但后來增加了對 Java、Node.js、Scala、Clojure、Python 以及(未記錄在正式文件上)PHP 和 Perl 的支持。基礎操作系統是 Debian,在最新的堆棧則是基于 Debian 的 Ubuntu。http://zh.wikipedia.org/wiki/Heroku
  • 注2:Firebase 也是類似的云服務,不同于 Dropbox 的文件,Firebase 同步的是數據,服務對象是網站開發者,幫助他們開發具有實時(Real-Time)特性的應用。http://www.csdn.net/article/2014-10-22/2822221-google-acquires-firebase

— END —

譯文: 《我是如何在 48 小時內創建 1QAD 網站的 》 臘八粥

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!