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

IMAP python—存储用户授权数据的正确方法,python,django,imap,Python,Django,Imap,我在一个电子邮件客户端上工作,该客户端由Django和。 在客户端,用户具有关联其邮箱的界面(如test1@gmail.com,test2@gmail.com,等等…)在我的应用程序中使用他们的帐户。其目标是存储凭据信息,这样用户只需执行一次插入密码和主机名的过程(如imap.gmail.com),除非他从帐户中自动注销 问题是,用于建立IMAP连接的登录名/密码/主机名数据应该存储在哪里以及如何存储?是我服务器的数据库吗?还是某种.ini文件?我记得读过一篇关于python/imap的文章,他

我在一个电子邮件客户端上工作,该客户端由Django和。 在客户端,用户具有关联其邮箱的界面(如
test1@gmail.com
test2@gmail.com
,等等…)在我的应用程序中使用他们的帐户。其目标是存储凭据信息,这样用户只需执行一次插入密码和主机名的过程(如
imap.gmail.com
),除非他从帐户中自动注销

问题是,用于建立IMAP连接的登录名/密码/主机名数据应该存储在哪里以及如何存储?是我服务器的数据库吗?还是某种
.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)
另外,我不确定这个问题是否更多地与通用python/Django相关,而不是与IMAP相关。因此,如果我遗漏了什么,请给出提示,我会及时编辑问题。

查看。将密码以明文形式存储在第三方服务器(或任何服务器,但在您无法控制的服务器中更糟糕)中是个坏主意。