腾讯QQ邮箱的"超大附件"功能, 很让人失望

实在是有点气愤不过,所以到blog上来感叹一下. 看看还有没有受腾迅欺骗的朋友.

事情的起因

每天中午, 紫竹都有免费的班车到黄浦江边, 40分钟后. 班车又会回到紫竹.我们偶尔会在午饭后到江边去溜达一圈.

前天中午, 由于刚买了个数码相机,兴致很高.屁掂掂地提着相机又去江边去了,路上遇到其他公司的员工了,顺便也一起拍了不少.

由于大家都不认识, 留了个邮件地址, 结果传照片的时候,就有这段差点让我吐血的经历.

MSN文件传输功能 - 不是一点的弱

想直接通过IM把照片传过去,这样比较方便.结果才发现,只要遇到稍微大一点的文件,MSN都没办法传输.以前也有过类似的经历.

这次让我彻底明白了:MSN文件传输功能很糟糕.

Gmail大容量, 好看不中用

gmail其实已经很好了,也许我这么评价不太客观,但是也不无道理.

gmail实际上对大文件的存储支持很差,很不稳定.

gmail的邮件附件已经达到20M,按理说应该能够满足多数的要求.可是却很不好用.我经常遇到这种情况,当邮件附件达到10M以上的时候,上传上去的附件比本地文件要小.或者下载下来的附件比实际的附件要小,结果可想而知了,文件是坏的.

这次我又遇到了这个问题,把相关的照片压缩成了5个文件,每个文件大约18M左右,结果居然没有一个附件是完整地收到的,实在是太让我气愤了.

我总算是明白了:如果你想多活两年,就别用邮件传大附件,太折腾了。

发现了救星 - QQ mail

实一直对QQ mail没有什么好感,尤其是它对firefox的支持,实在是太糟糕了.不过,当我发现它的 "超大附件"功能的时候,确实让我吃惊,原来它也有自己的亮点.实话实说,QQ mail "超大附件"功能确实是一个比较好的主意.确实也比较实用,如果做得比较好的话.

技术上其实也不难,都是很老的技术,通过一个ActiveX插件来,来解决web解决文件上传的超时问题.解决方案其实很好.唯一的缺陷就是这个方法不通用,只能针对IE用户.我想一这也许是gmail不采用这个方案的重要原因.

文件上传功能做的还可以,唯一的缺陷就是只支持单线程.然而,当你去下载附件的时候,你就要吐血了.第一次下载的时候还勉强能够下载,后来我再也没有成功过.

服务器老是抱怨

 该文件同时下载的人数过多,请稍候再试。 
(通过QQ邮箱超大附件发到您的QQ邮箱的情况下,您可以优先下载,不会受到同时下载人数过多的影响。) 

看来腾迅确实应该检讨一下自己了.原来QQ mail的大附件传输功能(文件中转站)功能,华而不实啊.

Qmail也挂了-木有退路了

一直很得意,自己也玩了比较长一段时间的Qmail了.自己的机器上也配置了一个Qmail server.以前还用这个mail server发过不少邮件.本来觉得大不了就写个脚本,把这些照片自动分组打包然后再发送出去也就可以了,结果呢,脚本是写好了.邮件一下子就给发完了,最后邮件全都被弹回来了,查看了一下maillog, 才发现我用的是一个虚拟的域,不能够反向查询的,很都mail server都会把它当成垃圾邮件服务器.看来用Qmail来自动发邮件是没有希望了.

最后的解决办法

到这个时候已经折腾的筋疲力尽.本来想发送原版的照片,这样效果好一点,看来这个愿望很难实现了.不得不用photoshop把图片批量处理, 把这些照片全都给阉了.分辨率一律设置成1024x768,用了不到5分钟时间,结果文件一下就解决了.文件大小全都减小为原来的1/10.一封邮件就搞定了.

不知道会不会有腾迅的人看到这篇文章,希望他们回去好好改进一下.

另外,如果gmail也支持超大附件功能,那就更好了.

 

使用Python下载腾讯企业邮箱中的超大附件通常需要通过邮件客户端如Outlook等软件先将邮件附件保存到本地,然后再通过Python代码读取本地文件并上传至服务器。直接使用Python下载超大附件可能存在一些限制,因为邮箱服务商往往限制了附件的大小,并且Python官方并没有直接提供对应的库来处理这种任务。 然而,有一些间接的方法可以尝试: 1. 使用IMAP协议,通过Python的`imaplib`库来连接到邮箱并下载附件。但是请注意,如果附件大小超过了服务商设置的大小限制或者Python库处理大文件的能力,这种方法可能会失败。 2. 使用第三方库,如`yagmail`,它是一个扩展了邮件发送功能的库,可以发送邮件,但它的下载附件功能可能也受限于邮箱服务商对附件大小的限制。 一个简单的例子是使用`imaplib`来登录邮箱、查找邮件和下载附件: ```python import imaplib import email # 配置邮件服务器信息和登录信息 mail = imaplib.IMAP4_SSL('imap.qq.com') # 使用SSL连接 mail.login('your_email@qq.com', 'your_password') # 选择邮箱中的收件箱 mail.select('inbox') # 搜索邮件,这里以搜索最近的一封邮件为例 status, messages = mail.search(None, 'ALL') messages = messages[0].split() # 找到第一封邮件的ID status, data = mail.fetch(messages[0], '(RFC822)') # 解析邮件内容 raw_email = data[0][1] email_message = email.message_from_bytes(raw_email) # 找到附件部分并下载 for part in email_message.walk(): if part.get_content_maintype() == 'multipart': continue if part.get('Content-Disposition') is None: continue filename = part.get_filename() filepath = f"./downloaded/{filename}" with open(filepath, 'wb') as f: f.write(part.get_payload(decode=True)) # 关闭IMAP连接 mail.close() mail.logout() ``` 请注意,以上代码仅为示例,实际操作时需要注意处理异常、安全性问题以及邮件服务商的限制。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值