我正在开发一个由Django和IMAPClient library支持的电子邮件客户端。
在客户端,用户可以使用界面将他们的邮箱(例如test1@gmail.com
,test2@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有关。因此,如果我遗漏了某些内容,请对此进行提示,我会及时编辑该问题。