很赞呀~
【 在 Scateu (呜哈哈) 的大作中提到: 】
原文出自我的博客: <
http://scateu.me/2015/08/23/alpine.html>
向大家推荐一个邮件客户端: alpine
谁在用
======
- [Linus Torvalds](
http://yarchive.net/comp/linux/stupid_mail_clients.html)
- Yahoo 的前 CEO [Marissa Mayer](
http://googlesystem.blogspot.sg/2006/03/marissa-mayer-prefers-pine-to-gmail.html)
- [CERN](
https://espace.cern.ch/mmmservices-help/AccessingYourMailbox/Alpine/Pages/default.aspx)
- 美利坚合众国各大学都默认提供了Pine/Alpine的配置教程
优点
====
- 历史悠久,从Unix时代就一直在广泛使用,GNU/Nano 即是从 alpine 的前身 pine 中的默认编辑器 pico 派生的
- 不折腾,开箱即用,调一下喜欢的配色即可
- 所有配置都在一个 TUI 界面里集中配置
- 不可定制快捷键,但快捷键久经考验,越用感觉越科学,适合快捷键选择恐惧症的人使用
- 对 IMAP 的支持比较科学
- 与 BBS 的操作非常相似
- 原生支持 S/MIME
- 原生支持 LDAP 通讯录,并支持 .addressbook 形式的本地通讯录,且可以将其存储于远程 IMAP 目录内
- 配置文件可以写入远程 IMAP 文件夹,从而实现配置漫游
- alpine 内部可以改 /etc/passwd 里的密码. 可以在 Server 上开设默认 Shell 为 alpine 的账户,专门用于查收邮件
- 支持锁屏,特别适合开在 VPS 的 Tmux/Screen 上
不足
====
- 不可定制快捷键,例如不支持j,k上下 ( 但是体验一下互联网远古时代的习惯也挺好 ._. )
- 原生不支持 OpenPGP,但是可以通过 <TODO> 软件支持
- 默认不识别 GB18030 编码,接收来自 QQ 邮箱的邮件可能会不识别。但是我已经向上游提交了一个Patch,维护者正在进行修复
- 不支持 LDAPs (636端口, SSL)
- 不支持通过外部 IMAP 同步工具如 offlineimap 或 mbsync ,但貌似有人可以实现,目前我没有跟进此事
- 部分由 Outlook 网页版邮箱发出的邮件以QP编码(一堆等号的那种),中文识别起来貌似有问题
上手
====
由于其它的教程都已经年久失修,而且University of Washington已经不维护alpine了。
目前项目是由 Eduardo Chappa <chappa@gmx.com> 个人在维护。
网址是<
http://patches.freeiz.com/alpine/>,而且上面有不少教程。
在主界面依次按下 `M` `S` `C` 进入配置界面,
imap.gmail.com:993/ssl/user=example@gmail.com
smtp.gmail.com:587/tls/user=example@gmail.com
设置默认发送者: (否则它可能会尝试以你的 Linux 用户名@邮箱域名来尝试发送)
Customized Headers = From: 那谁 <example@gmail.com>
完!
仍然不开心的话,可以调整一下配色: 依次按下 `M` `S` `K`。
Tips
=====
- 在任意输入框内按下 `Ctrl + G` 可以查看帮助,帮助在手,天下我有。
- `S` 键: 存储并从原邮箱删除邮件
- 搜索: `W` 键
- `Ctrl + L` 刷新屏幕,同时会检查收件箱
- `A` 键: 切换 HTML/PlainText 显示
- 多选: 按冒号 `:` 键,然后按 `A` (Apply) 键应用
- `;` 键可以按条件选择,然后再按 `A` 来做操作
- 颜色配置中`HEADER COLORS`里按 `A` 键,可以加入如`From` `Cc`等字段进行颜色配置
- 空格键下翻,减号 `-` 上翻
- `<` 键退回到上一级,但发现不按 `Shift` 键效果一样
- 显示新邮件数量: 把以下三个都勾上 `Enable Incoming Folders Collection` `Enable Incoming Folders Checking` `Incoming Checking Includes Total`,然后在 List 中把想要看的目录按 `A` 键加进来。
- 用搜索引擎搜索问题的时候,`alpine`的结果可能会比较少,可以用`pine`做为关键词
- 可以使用外部的编辑器如 `vim`,按 `Ctrl + _` 来切换成外部编辑器。( 不按 Shift 键也可以)
- `|` 键可以把邮件的内容 pipe 到另一个程序
- 可以结合终端 ASCII 看图软件 cacaview (位于 caca-utils 包里),来预览邮件附件的照片。可以把你的终端字符使劲缩小,从而达到提高分辨率的效果
- Inbox Zero 原则: 养成定时清空 Inbox 的好习惯
更多的 Tips ,可以参考 <
http://patches.freeiz.com/alpine/alpine-info/tips/index.html>
我当前的一些小调整
=================
default-fcc={imap.gmail.com:993/ssl/user=example@gmail.com}Sent
feature-list=enable-background-sending,
enable-delivery-status-notification,
convert-dates-to-localtime,
compose-cancel-confirm-uses-yes,
no-enable-alternate-editor-implicitly,
enable-8bit-esmtp-negotiation,
combined-folder-display,
expanded-view-of-folders,
vertical-folder-list,
prefer-plain-text,
combined-subdirectory-display,
no-try-alternative-authentication-driver-first,
enable-lame-list-mode,
no-quell-imap-envelope-update,
no-expose-hidden-config,
no-enable-verbose-smtp-posting,
quell-user-lookup-in-passwd-file,
allow-changing-from,
single-column-folder-list,
quell-empty-directories,
incoming-checking-includes-total,
enable-incoming-folders-checking,
enable-incoming-folders,
no-incoming-checking-uses-recent
customized-hdrs=From: Your Name <example@gmail.com>
editor=vim
disable-these-authenticators=EXTERNAL #阿里云邮专用
color-style=force-xterm-256color
### 阿里云邮的 IMAP 认证问题
已知阿里云邮的 IMAP 服务器的`CAPABILITY`输出有问题, 导致 alpine 去尝试使用 `AUTHENTICATE EXTERNAL` 认证方式,从而失败。
#### 对策
调出 alpine 的隐藏配置`[X] Expose Hidden Config`,把`EXTERNAL`加到禁用列表里。
# List of SASL authenticators to disable.
disable-these-authenticators=EXTERNAL
我当时用于调试的主要命令有:
$ openssl s_client -connect imap.gmail.com:993 -crlf
0 CAPABILITY
1 LOGIN
$ alpine -d4
$ less ~/.pine-debug
### 阿里云邮的 SMTP 问题
发送时出现:
>Mail not sent. Sending error: 440 mail from account doesn't conform with authentication (Auth Account:<
调试过程:
$ alpine -d4
$ cat .pine-debug1
发现`MAIL FROM`字段有问题:
IMAP DEBUG 03:14:17 8/22: MAIL FROM:<scateu@alibaba-inc.com> BODY=8BITMIME
IMAP DEBUG 03:14:17 8/22: 440 mail from account doesn't conform with authentication (Auth Account:wangkang.wk@alibaba-inc.com|M
#### 对策
于是手动加上
Customized Headers = From: 王康(五达) <wangkang.wk@alibaba-inc.com>
参考链接
========
- 活跃的开发页面 <
http://patches.freeiz.com/alpine/>
- [CERN的Alpine配置说明](
https://espace.cern.ch/mmmservices-help/AccessingYourMailbox/Alpine/Pages/default.aspx)
- Git 仓库: <
http://repo.or.cz/alpine.git>
- <
http://accc.uic.edu/answer/how-do-i-use-pine-alpine-googleapps>
- <
http://www.ii.com/internet/messaging/pine/pc/>
附: GB18030 的 Patch
====================
diff --git a/alpine-2.10+dfsg/imap/src/c-client/utf8.c b/alpine-2.10+dfsg/imap/src/c-client/utf8.c
index 8fda7ff..2f15d06 100644
--- a/alpine-2.10+dfsg/imap/src/c-client/utf8.c
+++ b/alpine-2.10+dfsg/imap/src/c-client/utf8.c
@@ -170,6 +170,9 @@ static const CHARSET utf8_csvalid[] = {
(void *) &gb_param,SC_CHINESE_SIMPLIFIED,"GBK"},
{"CN-GB",CT_DBYTE,CF_DISPLAY,
(void *) &gb_param,SC_CHINESE_SIMPLIFIED,"GBK"},
+// added by scateu @ 2015-08-22
+ {"GB18030",CT_DBYTE,CF_DISPLAY,
+ (void *) &gb_param,SC_CHINESE_SIMPLIFIED,"GBK"},
#ifdef CNS1TOUNICODE
{"ISO-2022-CN",CT_2022,CF_PRIMARY | CF_UNSUPRT,
NIL,SC_CHINESE_SIMPLIFIED | SC_CHINESE_TRADITIONAL,
--
修改:Scateu FROM 222.35.95.*
FROM 115.200.224.*