IMAP python - 存储用户授权数据的正确方法

时间:2017-08-25 13:33:33

标签: python django imap

我正在开发一个由Django和IMAPClient library支持的电子邮件客户端。 在客户端,用户可以使用界面将他们的邮箱(例如test1@gmail.comtest2@gmail.com等)与我们应用中的帐户相关联。目标是存储凭据信息,以便用户只需要执行一次插入密码和主机名(如imap.gmail.com)的过程,除非他从帐户中注销。

问题是,应该在何处以及如何存储用于建立IMAP连接的登录/密码/主机名数据?这是我服务器的DB吗?或某种.ini文件?我记得,读过一篇关于python / imap的文章,他们把它存放在.ini文件中,但我现在找不到了。

目前,我在本地数据库中存储凭据和IMAP主机名信息。因此,在需要从IMAP服务器获取信息的每个视图中,我查询我的服务器数据库以获取数据,然后,我初始化IMAPClient变量以建立与IMAP服务器的连接。我有一种可怕的感觉,这是垃圾代码:

def show_mail(request, login):
    user_email_info = UserEmailInfo.objects.get(user_id = request.user.id,
                                                login = login)
    HOST = user_email_info.host #'imap.gmail.com'
    USERNAME = user_email_info.login
    PASSWORD = user_email_info.psw 
    server = IMAPClient(HOST, use_uid=True, ssl=True)
    server.login(USERNAME, PASSWORD)

P.S。我不确定这个问题是否与一般的python / Django而不是IMAP有关。因此,如果我遗漏了某些内容,请对此进行提示,我会及时编辑该问题。

0 个答案:

没有答案