寒假比赛总结(三) - 搭建用于发送验证邮件的邮件服务

前言现代化的Web应用为了保证用户登录凭据的可靠性,通常会将验证真实性的验证码或验证链接等通过用户提供的渠道发送给用户,以验证其真实性。所以,为了控制用户登录凭据,我们的产品经理决定采用用户验证机制。其实综合说来,现在被广泛采用的用户验证手段不外乎SMS短信验证(文字验证、语音验证、用户发送短信)(用于当用户提供手机号码作为登录凭据时)、邮箱链接、邮箱验证码(用于当用户提供邮箱账号作为登录凭据时)。而我们的项目因为比较初级,所以在成本上的预算几乎为零(必要时倒贴钱的那种QAQ)。为此我们必须找到一个价格实惠又容易操作的方法。经过我的调查,目前国内市场上较受欢迎的SMS提供商,例如阿里云、SendCloud等,有着繁琐的个人验证审核的流程、高昂的费用、诸多的限制以及庞大的SDK,这其中每一项都足以令我们头疼。而邮件服务器虽说价格便宜了不少,而且还有腾讯企业邮件这种服务,但是操作过程也十分复杂。于是我想到在我们自己的服务器上架设一个邮件服务,虽然配置比较麻烦,但一免费,二没有限制,三纯净,去商业化,看起来非常划算,所以我就开始搭建我们自己的邮件服务。在这个过程中碰到了几个坑,但是好在这些坑都已经有前人填过了,所以并不是十分坎坷。但是仍然有记录的必要,因为网上的文章大都很零散,而本文则记录从零开始假设可以使用的邮件服务,并会附上Python代码。架设邮件服务的过程1. 理论基础以下图片较为直观地展现了邮件服务的工作原理及主要步骤:邮件的发送和接收过程主要分为3步。(1)当用户需要发送电子邮件时,…