2013-07-09 86 views
0

所以,我很新的webapp開發,我目前正在使用python/flask構建一個簡單的博客引擎用於學習目的。後臺進程和燒瓶

到目前爲止,除了我想要實現的新功能之外,我沒有太多問題:通過電子郵件發佈新條目。

爲了實現這一點,我想我需要一個後臺進程檢查多個電子郵件帳戶的新職位。當找到新的電子郵件時,該過程將繼續並創建新的帖子,以便在前端顯示。

我希望這是正確的,如果是這樣,我可以去實施這個?

可能是相關的,但我使用sqlalchemy。

感謝

+0

我認爲可以做到。您可以在您的服務器上建立一個電子郵件服務器,或從您現有的電子郵件帳戶中獲取電子郵件,例如gmail。標準庫中已經有一些模塊。 – zhangyangyu

回答

1

我會用收郵件的一個API這個,而不是試圖破解的東西在一起。例如,Sendgrid API將接受一封電子郵件,然後將一些JSON發送到您的應用程序。

有了這個假Post類:

class Post(db.Model): 
    text = TextProperty() 
    title = TextProperty() 

你可以有這樣的觀點:

@app.route('/hook/new-email/', methods=['POST']) 
def new_email(): 
    envelope = json.loads(request.form.get('envelope')) 
    to_address = envelope['to'][0] 
    from_address = envelope['from'] 
    text = request.form.get('text') 
    subject = request.form.get('subject') 

    if from_address == settings.ACCEPTED_AUTHOR: 
     post = Post(text=text, title=subject) 
     post.put() 

請記住,如果你允許的帖子通過簡單的電子郵件進行創作,您將有做一些檢查,以確保您沒有發佈您收到的每封垃圾郵件。

+0

這確實會這樣做。作爲一種學習方式,我怎麼能繼續自己做呢? –