1

所以,我是 webapp 开发的新手,我目前正在构建一个简单的博客引擎,用于使用 python/flask 进行学习。

到目前为止,除了我想实现的新功能之外,我没有太多问题:通过电子邮件发布新条目。

为了实现这一点,我认为我需要有一个后台进程来检查多个电子邮件帐户中的新帖子。当找到新电子邮件时,该过程将创建新帖子以由前端显示。

我希望这是正确的,如果是这样,我可以着手实施吗?

可能是相关的,但我正在使用 sqlalchemy。

谢谢

4

1 回答 1

2

我会为此使用其中一个传入邮件 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()

请记住,如果您允许通过简单的电子邮件撰写帖子,您将不得不进行某种检查以确保您没有发布收到的每封垃圾邮件。

于 2013-07-09T04:34:36.087 回答