疫情期间在老家闲极无聊自学Python写了个爬虫,意外的收获是发现网易、新浪这些国内邮箱SMTP加密等级这么年多来还是处在止步不前的状态。
网易邮箱未加密?
写的那个小爬虫要实现的功能是监视某个页面上的数据变动,当某个指标发生变化的时候,利用Python的smtplib库发一封带最新数据的邮件到指定邮箱。
用Gmail做收件邮箱的时候发现了一个小问题,在Gmail邮件的详情里用醒目的红色字体写着“163.com未加密这封邮件”,前面还有个象征着不安全的小锁头。
网易这么大的公司提供的邮件服务“未加密”?
夸张了吧?网易最早也算是靠邮箱起家的,技术照理说不至于这么渣。
而且我在设置smtp参数的时候明明设置了走465端口而非明文的25端口,加密等级至少也应该是SSL起步了吧。
server = smtplib.SMTP_SSL(smtp_server, 465)
有古怪。
加密等级的演变:TLS与SSL
点击详情后在Google帮助里了解到了SMTP服务加密等级相关的一些知识:
加密图标的含义
收发邮件时,您可以查看邮件的加密等级。图标的颜色会因加密等级不同而变化。
绿色(S/MIME 增强型加密)。该加密等级适用于大多数敏感信息。只要有收件人的公钥,S/MIME 就会加密所有外发邮件。只有拥有对应私钥的收件人可以解密相应邮件。
灰色(TLS – 标准加密)。该加密等级适用于大多数邮件。TLS(传输层安全协议)适用于通过其他电子邮件服务(不支持 S/MIME)收发的邮件。
提示:不能保证 TLS 一定提供支持。支持与否是由系统根据与电子邮件服务的过往通信情况推断而出。
红色(未加密)。未加密的邮件是不安全的。我们会使用发送到收件人网域的过往邮件来预测您发送的邮件是否经过可靠的加密。
原来,在Gmail的标准来看,往来邮件至少要达到TLS(传输层安全协议)级别的加密才算及格,会有灰色的小锁头标记,证明邮件经过标准加密。
据Google官网的数据,Gmail往来邮件中加密比例已经达到了94%。
难道说国内这些邮件服务商们,就是那剩下的6%吗?
我们每天使用的国内邮箱加密了吗?
为了解答这一问题,不过了了做了一个测试。
不过了了分别用网易163邮箱、网易免费企业邮、新浪邮箱、腾讯QQ邮箱和苹果iCloud邮箱这些国人常用邮件服务的网页版给自己的Gmail邮箱发了一封测试邮件。
结果,网易免费企业邮和新浪邮箱未使用TLS级别的加密,其余三家在Gmail收件箱里都有灰色的小锁头标记。
也就是说,这两家的邮箱服务默认的加密等级只到SSL,如果你对Email的加密等级有更高的要求,建议使用另外几家的服务。