POP3 error resolved

一年多以前,我的 Gmail 邮箱就无法再从另一个中国方的邮箱 POP 收取邮件了。当时我以为是中国方的邮箱不再允许 Gmail 服务器连接到它的服务器去收取邮件,我就不再去管它,一是因为我管不了,二是这个中国方邮箱我已基本不用。但每次 Gmail 尝试 POP 失败,主界面里都有一个弹窗提示,很烦人。

就这样被烦了一年多,最近得知这样 POP 错误,是因为邮箱有某封信,把它删了就好了。于是我清空了收件箱,果然,Gmail 就成功 POP 收取了两封新邮件。

原来不是中国方邮箱不喜欢 Gmail 而设置的障碍,我想多了。

POP3 error history
POP3 error history

PEAR Mail.php

我想在服务器上用 Gmail SMTP 代替 sendmail 发送邮件,并不想用 Zend_Mail,只想找一个轻量级的解决方案。

一找就找到 Pear Mail。提示说只要用


pear install Mail

然后在程序里


include_once "Mail.php";

我照着做了,可是提示:

Warning: include_once(Net/SMTP.php): failed to open stream: No such file or directory in mail/Mail/smtp.php on line 348
PHP Warning: include_once(): Failed opening ‘Net/SMTP.php’ for inclusion (include_path=’.:/usr/lib/php’) in mail/Mail/smtp.php on line 348
PHP Fatal error: Class ‘Net_SMTP’ not found inmail/Mail/smtp.php on line 349

原来还需要安装一个依赖包


pear install Net_SMTP

Best practices of merging multiple Gmail accounts

工作需要对外使用多个邮箱,但阅读邮件时又不希望登录多个邮箱,而是希望在单一邮箱里查看和回复邮件。现以在邮箱A查看和回复来自邮箱B的邮件为例讲解设置。

首先,登录邮箱B,在 Mail settings >> Filters 里 Create a new filter,在 “Doesn’t have” 一栏里填入长串不可能用到的乱字符,如 “J6dPFVFwnCsSBezVfSqRY5JTLNL567Ef”,然后点 “Next step”,选中 “Never send it to Spam“,最后点 “Create Filter”。这避免一些重要邮件被误判为 Spam,留在了邮箱B,不登录就查看不到,会误事。接着,还是在  Mail settings >> Forwarding and POP/IMAP 里 Add a forwarding address,填入邮箱A,follow instructions,不详述。

然后,登录邮箱A,在 Mail settings >> Accounts >> Send mail as 里 Add another email address you own,填入 Name:whatever 和 Email address:邮箱B,然后点 “Next step”,选中 “Send through 邮箱B SMTP servers”,按 Gmail SMTP 配置去填写 SMTP Server, Username 和 Password,最后点 “Add Account“。

大功告成。多罗嗦一句,不用邮箱A去POP邮箱B的方法来合并邮件是因为 Gmail 最多允许 POP 5个 accounts,无法合并6个以上邮箱;而且 POP 收取邮件没有从邮箱A转发过来即时。

What does -in:inbox mean to Gmail?

In Gmail, type “-in:inbox” or “!in:inbox” in search box and click “Search Mail”,what emails will show up? All emails not in inbox? Not exactly.

You know Gmail delivers conversions instead of emails as search result, so let’s use terminology conversion. Does “-in:inbox” come up with all conversions not in inbox? No, again.

The collection of “-in:inbox” is all conversions not in inbox plus those conversions originated by me or to which I responded.

Gmail的思维

早在Gmail还需要邀请才能加入那年代,我认为Gmail在hype,没去用。后来,Google App方式的Gmail才让人觉得实在,用到现在满意度99.99%,尽管Gmail的行为比较怪,邮件往往出现在未曾预期的地方。比如,发出去的邮件不在Sent Mail里,反而在Inbox。但Gmail对邮件位置的调整99%以上都是更合理的调整,所以我一直也没关心Gmail到底是怎么组织我的邮件的。

最近读到Hacking Gmail,所以,我回头仔细阅读了Gmail的帮助文档。有一大发现是Gmail里没有文件夹,而是使用labels系统来tag邮件。Google认为labels有三个优势:

  • A conversation can have more than one label.
  • A conversation can be in several locations (Inbox, All Mail, Sent Mail, etc.) at once, making it easier to find later.
  • You can search conversations by label.

这一说就让我跟上Gmail的思维了。Labels系统也是管理conversations必然的要求。在Sent Mail里找不到已发送邮件也变得可以理解。

Gmail的Imap也是很独特,Google自称Gimap;Gmail的删除分两种 – delete 和 archive。当Gimap和删除结合在一起时,初看会很怪,慢慢地我才看懂Gmail的思维。

在Gmail 的web interface里,我们会看到两种删除模式,delete把邮件移到Trash (或者说打上Trash标签) ,邮件可以在Trash里暂留30天;archive把邮件打上“空白”标签,邮件只能在All Mail里找到,在邮箱系统的某个地方还可以暂留6年。

通 过Gimap访问Gmail,imap delete并不是google delete,而是google特有的archive。所以,要在imap里删除邮件,邮件立马从当前文件夹消失了,而不是打上删除线。同理,要在 imap里彻底删除邮件(purge)也是不可能的。要用imap实现google delete,只能用拖动邮件到Trash的办法。

Archived 邮件现在只能通过All Mail访问,我还未找到专门显示archived邮件的办法,这使得一次性彻底删除所有archived邮件变得非常麻烦。考虑到archived邮件 没有标签,我尝试过用“-label:label1 -label:label2 -label:label3 … -in:inbox -in:trash -in:spam” search mail,但不成功。

用Gmail做企业级的Contact Share Management

我用Gmail里的Google Contact作个人级的Contact Management,迄今感觉很好。

如果是企业级的Contact Management,其中一个关键性的要求是Contact Share。我们公司用Act!,Act!在我眼里一无是处,又贵又慢又不好用。升级版的Act!可能会好一些,但实在没必要做这个投资。老板的想法基本跟我保持一致,不过他主要是从省钱的角度考虑。

想在企业级的Contact Management软件投资方面省钱到底?关于轻量级的企业Contact Share Management,我有个不是很成熟的想法:利用架构在Google App上的Gmail来做。

我们来看看Gmail是否能达到Contact Share的要求:

首先是联系人信息共享,这个Google App已经考虑到了,只要在Manage this domain的User accounts里Enable contact sharing即可。

其次是联系人活动共享,也就是查询联系人的来信和去信,不管哪个同事是联系人的客户经理。Gmail有个独到之处——按Conversation归类email(还有chat,如果有的话)。这使得按联系人进行活动查询变得可能。至于同事之间的来信和去信共享的问题,可以通过设立一个公共邮箱,配合pop from other account (maximum 5) 和send mail as功能,各位同事仍可个性化的收发邮件,但只要大家遵守一定的规则,共享邮件也不是问题。当然,活动不仅是邮件往来。Hacking Gmail一书里讲到可以用Gmail来make note, record to-do, etc. I think those workarounds can basically cover activities.

但,Gmail无法设置在个别同事之间Share Contact,留给我的升级余地很小。同事间的共享活动应该遵守一套什么规则才能保证信息共享?我还没静下心来想。如何跟ERP集成?我也没底。所以以上命题只是我不成熟的想法。

Gmail vs Hotmail

Gmail 与 Hotmail 哪个好?这个答案不用我说,地球人都应该知道。反正,我不用Hotmail已经很多年。

今天又回到这个问题上,是因为有人要我用一个简单的方式查看并处理不同邮箱里的信件。我能想到的最佳答案就是用google email app,在一个自定义domain的Gmail上再添加其他邮箱进Gmail帐户。一切都很顺利除了Hotmail。

Hotmail既不支持pop3,也不支持转发,我实在没办法集成到Gmail。只好留Hotmail单独在外。

Hotmail从来不支持免费pop3,更别说imap了。专属hotmail的http只能在outlook/outlook express下使用,其他地方要想连接hotmail只能通过连接件,如outlook connector。有标准的pop3协议不用,还用专门的连接件?我很反感这种限制用户达到保持用户目的的做法,这样只会使我离得更远。我很庆幸及早地跳离hotmail,但仍有少量朋友不知道我有hotmail id但不用hotmail邮箱,所以我后悔当初干嘛申请hotmail id?!

向google学习

Google不但在技术上领先,在marketing方面也是专家。现在g级容量的邮箱已经不稀罕了,google肯定比我更清楚这一点,但google的方案实在是高明——它不在容量上跟其它服务商攀比(就算给你5g的容量又怎么样?你还是会问万一我的邮箱存满了怎么办?如果你还是想着以防万一(其实哪有那么多万一),那你一开始肯定想找一个容量(在当时)最大的服务商。Google肯定不想落入与hotmail,yahoo的容量攀比之风,但google也不想落后,于是搞出一招容量扩增计划:而且每分每秒都在扩增。这招挺有意思,我粗略关心了一下邮箱增长速度,还挺快——每天扩增25m,如果新增的空间都被往来的邮件填满、往来内容都是文本的话,你一天24小时不吃不睡看右肩也看不完这些邮件,所以根本不用担心容量以后会不够用。

至少在可以预见的将来是不用担心的。

google mail now support imap

今天才得知十几天前gmail已经开始支持imap。我对gmail的imap access盼望已久,在此之前我对gmail的评价是“什么都好,就是少个imap”,如今我对gmail的评价是“十全十美”——我不相信你还能找到比gmail更好的免费服务。

gmail配合app,可以在任何domain上实现gmail服务,企业级的服务也不过如此,这一切全部免费,让我时常怀疑“世上没有没费的午餐”的准确性。