2013-07-09 85 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

这确实会这样做。作为一种学习方式,我怎么能继续自己做呢? –