向大家推荐一个邮件客户端: alpine

238 views
Skip to first unread message

Wang Kang

unread,
Aug 23, 2015, 10:22:09 AM8/23/15
to tuna-g...@googlegroups.com, i...@scateu.me
Hi, Tunas

向大家推荐一个邮件客户端: 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 <cha...@gmx.com> 个人在维护。
网址是<http://patches.freeiz.com/alpine/>,而且上面有不少教程。

在主界面依次按下 `M` `S` `C` 进入配置界面,

imap.gmail.com:993/ssl/user=exa...@gmail.com

smtp.gmail.com:587/tls/user=exa...@gmail.com

设置默认发送者: (否则它可能会尝试以你的 Linux 用户名@邮箱域名来尝试发送)

Customized Headers = From: 那谁 <exa...@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=exa...@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 <exa...@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:<sca...@alibaba-inc.com> BODY=8BITMIME
IMAP DEBUG 03:14:17 8/22: 440 mail from account doesn't conform with authentication (Auth Account:wangk...@alibaba-inc.com|M


于是手动加上

Customized Headers = From: 王康(五达) <wangk...@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,


--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD
Alpine-Screenshot.png

Justin Wong

unread,
Aug 23, 2015, 10:58:19 AM8/23/15
to tuna-g...@googlegroups.com, i...@scateu.me
还是 mutt 好,待我写个心得

--

---
You received this message because you are subscribed to the Google Groups "TUNA 主邮件列表" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tuna-general...@googlegroups.com.
To post to this group, send email to tuna-g...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Justin Wong

Wang Kang

unread,
Aug 23, 2015, 11:00:33 AM8/23/15
to Justin Wong, tuna-g...@googlegroups.com, i...@scateu.me

咬你哦!

(汪!)

--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Sun, 23 Aug 2015, Justin Wong wrote:

> 还是 mutt 好,待我写个心得
>
> [...]

Quanyang Liu

unread,
Aug 23, 2015, 11:09:16 AM8/23/15
to tuna-g...@googlegroups.com
还是 Gnus 好

On Sun, Aug 23 2015 at 22:58:09 +0800, Justin Wong wrote:
> 还是 mutt 好,待我写个心得
>
> On Sun, Aug 23, 2015 at 10:22 PM Wang Kang <sca...@gmail.com> wrote:
>
> Hi, Tunas
>
> 向大家推荐一个邮件客户端: alpine

--
Thanks,
Quanyang

Wang Kang

unread,
Aug 23, 2015, 11:11:47 AM8/23/15
to tuna-g...@googlegroups.com
上次 RMS 来清华的时候,貌似见过他用龙芯的笔记本,开着 emacs
操作系统在收邮件。

以及求分享 Gnus 体验:D

--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Sun, 23 Aug 2015, Quanyang Liu wrote:

> 还是 Gnus 好
>
> [...]

Justin Wong

unread,
Aug 23, 2015, 11:26:26 AM8/23/15
to tuna-g...@googlegroups.com

他用 rmail,emacs系统自带的邮件客户端。有网络就pop一下,一封封回好,有网络再发出去…

Wang Kang

unread,
Aug 23, 2015, 11:42:35 AM8/23/15
to tuna-g...@googlegroups.com

打个岔,在配置过程中发现 alpine 可以配置 NNTP 协议的新闻组

以前一直听说过 USENET Newsgroup
但是从来没有用过

求八卦

--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Sun, 23 Aug 2015, Justin Wong wrote:

> 他用 rmail,emacs系统自带的邮件客户端。有网络就pop一下,一封封回好,有网络再发出去…
> [...]

Aron Xu

unread,
Aug 23, 2015, 1:23:41 PM8/23/15
to tuna-g...@googlegroups.com, i...@scateu.me
还是 mutt 好,没有啥个心得
Regards,
Aron Xu

Wang Kang

unread,
Aug 23, 2015, 1:28:02 PM8/23/15
to tuna-g...@googlegroups.com

折腾过几个通宵的 mutt,觉得可配置的地方极多,导致选择恐惧症...

目前打算继续用一阵 alpine,有了基本的习惯之后再换成 mutt 什么的也有个基准

--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Mon, 24 Aug 2015, Aron Xu wrote:

> 还是 mutt 好,没有啥个心得
^^^^^^^^^^^ -> #呸

Yuxin Wu

unread,
Aug 23, 2015, 4:29:31 PM8/23/15
to tuna-g...@googlegroups.com, i...@scateu.me
看到不支持jk, 就不想继续了。。

--

--- You received this message because you are subscribed to the Google Groups "TUNA 主邮件列表" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tuna-general...@googlegroups.com.
To post to this group, send email to tuna-g...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Yuxin Wu
Department of Computer Science & Technology
Tsinghua University

Quanyang Liu

unread,
Aug 23, 2015, 9:08:25 PM8/23/15
to tuna-g...@googlegroups.com
On Sun, Aug 23 2015 at 23:10:21 +0800, Wang Kang wrote:
> 上次 RMS 来清华的时候,貌似见过他用龙芯的笔记本,开着 emacs 操作系统在
> 收邮件。
>
> 以及求分享 Gnus 体验:D
>

我是搭配着 offlineimap 和 msmtp 一起用的,觉得还行……

--
Thanks,
Quanyang

Quanyang Liu

unread,
Aug 23, 2015, 9:09:48 PM8/23/15
to tuna-g...@googlegroups.com
On Sun, Aug 23 2015 at 23:41:09 +0800, Wang Kang wrote:
> 打个岔,在配置过程中发现 alpine 可以配置 NNTP 协议的新闻组
>
> 以前一直听说过 USENET Newsgroup
> 但是从来没有用过

我用这个 http://gmane.org/ 来看各种邮件列表

> 求八卦


--
Thanks,
Quanyang

Wang Kang

unread,
Aug 23, 2015, 10:15:20 PM8/23/15
to tuna-g...@googlegroups.com

Wow.. 刚刚试了一下 gmane 的 NNTP 订阅,效果拨群啊

参考 <http://www.washington.edu/pine/faq/news.html>

`M` `S` `C` 添加 NNTP 服务器为: news.gmane.org

然后到 `L` 里,在 News Collection 里按 `A`,添加订阅

如:

- gmane.announce
- gmane.linux


On Mon, 24 Aug 2015, Quanyang Liu wrote:

> 我用这个 http://gmane.org/ 来看各种邮件列表

Ray Song

unread,
Aug 23, 2015, 11:21:02 PM8/23/15
to Wang Kang, tuna-g...@googlegroups.com
mutt 推销鄙人的配置 https://github.com/MaskRay/Config/blob/master/home/.mutt/muttrc

目前使用 mutt + msmtp + offlineimap

offlineimap 接收网易和腾讯企业邮箱(也可能只是某个)似乎有问题,本地复制一封邮件到 已删除邮件 目录会损坏 mail envelope,看到的邮件的 body 是整个 envelope
之前跟踪过 offlineimap ,可能是 offlineimap IMAP 支持不完善导致的(也有可能是这些企业邮箱的IMAP server不完善)……(懒得再看了)
目前的解决方案是创建一个自己的目录,设定 set trash=...
另外远程的目录名同步到本地可能被转成 &乱码- 解决方案 ln -s \&乱码- 喵

emacs 以前折腾过 gnus mew 等,因为 emacs 一直以来的只有单线程问题,使用邮件客户端会卡住其他功能,因此得再启动一个emacs进程

Yuxin Wu

unread,
Aug 23, 2015, 11:25:59 PM8/23/15
to tuna-g...@googlegroups.com, Wang Kang
icmp-utf-7的乱码标准解决方案是nametrans..

尽管我也是ln -s ..似乎并没有什么不好..

Wang Kang

unread,
Aug 23, 2015, 11:59:22 PM8/23/15
to tuna-g...@googlegroups.com

推荐 mbsync ,貌似 offlineimap 有不少人遇到过问题

见: http://scateu.me/2015/06/30/imap-backup.html



--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Mon, 24 Aug 2015, Ray Song wrote:

> mutt 推销鄙人的配置
> https://github.com/MaskRay/Config/blob/master/home/.mutt/muttrc
> [...]

Wang Kang

unread,
Aug 24, 2015, 12:02:07 AM8/24/15
to Yuxin Wu, tuna-g...@googlegroups.com

我的解决方案是把目录名都换成英文 orz...

以及默认用 "收件箱"
等名字的话,就去网页端把整个语言改成英文的,就变成INBOX了... (逃)

--
Wang Kang
Blog: http://scateu.me
Fingerprint: 011F 0492 97D6 5D75 8AC4 6458 D43F 3CE2 3353 B7BD

On Sun, 23 Aug 2015, Yuxin Wu wrote:

> icmp-utf-7的乱码标准解决方案是nametrans..
>
> 尽管我也是ln -s ..似乎并没有什么不好..
>
> [...]

deadsh...@gmail.com

unread,
Sep 5, 2016, 10:26:01 PM9/5/16
to TUNA 主邮件列表
找到了…~谢谢!

deadsh...@gmail.com

unread,
Sep 5, 2016, 10:26:01 PM9/5/16
to TUNA 主邮件列表
设置默认发送人是要修改.pinerc吧?

Reply all
Reply to author
Forward
0 new messages