9.1 订阅社区邮件与互动
9.1.1 邮箱注册与设置
9.1.1.1 邮箱注册
开发者选择用于与内核社区沟通、发送patch补丁文件的邮箱时,稳定性和高效性是两大关键考量因素。虽然Gmail以其强大的功能和易用性在全球范围内广受欢迎,但其在国内使用时经常遇到连接问题,这可能会阻碍及时有效的沟通。因此,选择一个既能够保证高效率又能确保稳定性的邮箱服务显得尤为重要。
网易邮箱提供了可靠的邮件服务,长期稳定运营,在国内及国际上均拥有较高的信誉度,其发出的邮件被国外邮件服务器错误地拦截或标记为垃圾邮件的可能性较低。网易提供了三种主要的邮箱域名:mail.163.com、mail.126.com以及mail.yeah.net。在这三者之中,mail.163.com更具广泛的认知度,成为首选。
官网注册网址:https://mail.163.com/register/index.htm?from=163mail
注册完成后,如遇使用问题,可以参考网易邮箱帮助中心 https://help.mail.163.com/

9.1.1.2 开启POP3/IMAP/SMTP服务
1. POP3/IMAP/SMTP基本概念
POP3
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
SMTP
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
IMAP
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留 在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端 软件登录邮箱,看到的邮件以及状态都是一致的。
2. 开启IMAP/SMTP服务
如果使用客户端来连接邮箱,推荐使用IMAP协议来收发邮件,以保证和服务器端的状态一致。
为了使用Mutt、Thunderbird等第三方客户端进行收发邮件,网易邮箱需要通过以下方式开启打开IMAP/SMTP服务:
(1)打开IMAP和SMTP服务,分别用于接收邮件和发送邮件。
(2)在网页版的邮箱界面中,点击“设置”,选择”POP3/IMAP/SMTP”。
(3)点击“IMAP/SMTP服务”旁边的”开启“按钮,按提示通过发送短信的方式完成验证。

(4)完成验证后,后弹出一个“授权码”,是用于第三方邮件客户端(例如mutt)的专用密码,有效期180天。授权码务必保存起来,点击确认后就无法重新查看了,只能删除并重来一次。

3. 邮箱服务器地址和端口号
在配置第三方客户端收发邮件时,需要设置正确的网易163邮箱服务器地址和端口号,信息如下:

9.1.2 订阅Xenomai社区邮件
9.1.2.1 Subspace 邮件列表
Subspace 邮件列表服务器是一个专为基于补丁的开发者工作流程定制的服务。它旨在向订阅者发送邮件,同时确保不违反任何DMARC(基于域名的邮件认证、报告和一致性)认证要求。这意味着 Subspace 在发送邮件时会遵守严格的邮件认证标准,以保证邮件的真实性和安全性,并帮助防止垃圾邮件和网络钓鱼。
Subspace 邮件列表服务器:https://subspace.kernel.org/
托管在 Subspace 上的域名包括:
- linux.kernel.org
- lists.linux.dev
- lists.linuxfoundation.org
- vger.kernel.org
这些域名主要用于与 Linux 内核开发相关的邮件列表服务,以及由 Linux 基金会管理的其他开源项目。开发者们可以订阅这些邮件列表来接收有关内核开发、补丁审核、讨论和其他相关话题的更新。
开发者如果参与了与上述域名相关的项目,需要使用 Subspace 来提交补丁、评论他人提交的补丁、参与技术讨论等。此外,通过遵守 DMARC 的规定,Subspace 有助于维护邮件交流的安全性,确保参与者收到的邮件确实是来自合法的发送者。
怎么快速找到自己想订阅的邮件列表呢?在Subspace 邮件列表服务器的主页上,提供了Quick search功能。例如在搜索框中输入xenomai,点击Go得到如下搜索结果,Xenomai邮件列表托管在了lists.linux.dev: https://subspace.kernel.org/lists.linux.dev.html。

点击lists.linux.dev,其页面已经对xenomai进行了高亮显示:

在Xenomai.org官网上,同样存在一个Mailing list链接,指向了lists.linux.dev,方便开发者访问。
点击上图中的archive可以在网页中之间看到Xenomai社区中所有的邮件历史记录。这些公开、透明的沟通中,包括patch补丁文件的审核,来自使用者的问题求助或咨询,新增功能的探讨,分支管理和版本发布的声明。
想要参与这些讨论的前提,需要使用自己的邮箱订阅社区邮件,然后可以根据个人兴趣积极发起或回复话题。
9.1.2.2 订阅Xenomai邮件列表
向Xenomai邮件列表发送与回复邮件时,必须保证邮件是纯文本格式。一般都需要使用支持纯文本格式邮件的第三方邮件客户端,例如Mutt和Thunderbird。不过,网页163邮箱的网页版本也支持纯文本格式,可以方便快捷的订阅Xenomai邮件列表。
1. 订阅Xenomai邮件列表
- 发送订阅请求
- 在网页163邮箱的网页版中,点击
写信; 收件人填写:xenomai+subscribe@lists.linux.dev- 在网页右下方点击
更多选项,勾选纯文本模式 - 邮件主题与内容保持空白,点击
发送
- 在网页163邮箱的网页版中,点击

- 二次确认订阅请求
xenomai+help@lists.linux.dev会给你回复一封邮件,要求你确认是否订阅,直接点击回复- 在网页右下方点击
更多选项,勾选纯文本模式 - 邮件主题与内容保持不变,点击
发送

- 通知订阅成功
最后xenomai+help@lists.linux.dev回复一封邮件,欢迎你加入Xenomai邮件列表!

2. 退订Xenomai邮件列表
-
发送退订请求
- 在网页163邮箱的网页版中,点击
写信; 收件人填写:xenomai+unsubscribe@lists.linux.dev- 在网页右下方点击
更多选项,勾选纯文本模式 - 邮件主题与内容保持空白,点击
发送
- 在网页163邮箱的网页版中,点击
-
二次确认退订请求
xenomai+help@lists.linux.dev会给你回复一封邮件,要求你确认是否退订,直接点击回复- 在网页右下方点击
更多选项,勾选纯文本模式 - 邮件主题与内容保持不变,点击
发送
-
通知退订成功
最后xenomai+help@lists.linux.dev回复一封邮件,告知你已经退订Xenomai邮件列表!
9.1.3 使用Neomutt收发邮件
9.1.3.1 Neomutt简介与安装
Mutt 是一款开源的文本模式消息访问客户端,主要用于处理电子邮件。它提供了丰富的功能,如 MIME 支持、PGP/GPG 加密支持、IMAP 和 POP3 协议支持等,并且以其高度可配置性和灵活性而闻名。支持通过配置彩色的界面,使得在命令行发送邮件更为友好。尽管已有二十多年的历史,但 Mutt 仍然是许多高级用户的首选邮件客户端。
Mutt 的主要特点是其强大的命令行界面和脚本能力,使得用户可以根据自己的需求定制邮件管理流程。例如Mutt支持使用外部应用程序来扩展 Mutt 的功能,例如调用msmtp来完成邮件发送,调用getmail来收取邮件,调用procmail来过滤邮件等等。
从参与社区的目的和场景出发,Mutt可用满足以下需求:
- 可以指定编辑器例如
vim,便于在文本模式下编写符合社区沟通习惯的邮件内容 - 可以高亮显示patch补丁的内容
- 可用把邮件保存成为patch文件,方便合并到代码仓库
- 默认按照前后回复逻辑来展示邮件Thread,方便阅读
- 在邮件正文中默认支持多层的嵌套引用,并自动加上
>前缀,符合社区沟通习惯
Neomutt 起源于对 Mutt 的一系列补丁集合,这些补丁增加了额外的功能或者修复了原版 Mutt 中存在的问题。随着时间的发展,Neomutt 已经演变成一个独立的项目,它不仅包含了所有原始 Mutt 的功能,还集成了大量的社区贡献的补丁,提供了一些新的特性和改进。例如:
- 更多的配置选项:Neomutt 提供了比 Mutt 更多的个性化设置选项。
- 集成补丁:自动包含了许多流行的第三方补丁,无需手动打补丁。
- 新功能:如 Notmuch 集成(用于快速全文搜索),SASL 认证改进等。
- 更好的国际化支持:包括对非 ASCII 字符的更好支持。
Neomutt 和 Mutt 之间的关系可以理解为 Neomutt 是 Mutt 的一个扩展版本或增强版。
Mutt在连接网易163邮箱时,会报错:SELECT Unsafe Login. Please contact kefu@188.com for help“。因为Mutt缺乏”IMAP ID (RFC 2971) support支持,而网易163邮箱强制开启了RFC 2971特性。即使编译并安装了最新的Mutt 2.2.14 (2025-02-20),依然没有解决此问题。而最新的Neomutt使用set imap_send_id = yes配置就可以支持imap id特性,可以作为网易163邮箱的客户端。
本文介绍了如何使用Neomutt自身的IMAP/SMTP来收发邮件。
Ubuntu 22.04 的软件源中包含neomutt,直接安装后发现其版本为NeoMutt 20211029,并不支持set imap_send_id = yes配置项。所以需要自己编译并安装新版本的neomutt。
neomutt官方网址:https://github.com/neomutt/neomutt
在neomutt官方网址,直接下载压缩包或用git clone下载源码。本文使用的版本是NeoMutt 20250404。
git clone https://github.com/neomutt/neomutt.git
安装编译过程中必要的依赖包,配置并编译安装。安装完毕后,可以执行neomutt -v检查版本号信息。
apt install gettext libdb-dev -y
./configure --disable-doc --ssl --bdb
make
make install
9.1.3.2 Neomutt配置
1. 创建配置文件
Neomutt默认将在你的home目录查找一个叫.muttrc的文件。如果此文件不存在并且你的home目录下有一个叫.mutt的子目录,Mutt就会尝试加载文件.mutt/muttrc。所以,创建并编辑~/.muttrc或~/.mutt/muttrc文件,二者选择其一即可。
本文选择使用~/.mutt/muttrc方案,因为后续需要在~/.mutt目录中添加颜色方案配置文件。
2. 发送设置
(1)发信地址和用户名
# 设置发信地址和用户名
set from = "julizi2025@163.com" #用于use_from
set realname = "Lizi Ju" #指定个人名字,发送邮件时使用。
set use_from = yes #在发送邮件时会生成“From:”字段,填入$from的值。
(2)设置SMTP
在set smtp_url中,必须使用smtps://前缀,而不要使用smtp://前缀,否则无法发送邮件。
set smtp_url = "smtps://julizi2025@smtp.163.com:465" #必须使用smtps
set smtp_pass = "your password" #这里使用授权码
set ssl_force_tls = yes # Require encrypted connection
# 不保存发送的邮件
unset record
3. 接收设置
(1)设置IMAP邮箱帐户和密码
# 设置IMAP邮箱帐户和密码
set imap_user = "julizi2025@163.com"
set imap_pass = "your password" #这里使用授权码
(2)设置IMAP接收
需要告诉mutt,从远程服务器的哪个文件夹查询并下载邮件,并支持定时查询新邮件。
# 设置IMAP服务器文件夹
set folder = "imaps://imap.163.com:993" #指明IMAP的最顶级目录的位置
set spoolfile = "+INBOX" #指明接收邮件目录,+代表在$folder下追加
set postponed = "+草稿箱" # 使用”+Drafts”没有效果
set imap_check_subscribed #定期检查所有订阅的 IMAP 文件夹
set imap_send_id = yes # 兼容网易163邮箱
# 允许mutt自动创建一个新的imap连接
unset imap_passive
# imap连接保持时间
set imap_keepalive = 300
# 检查新邮件间隔时间
set mail_check = 120
4. 其它设置
set editor = "vim"
set edit_headers = yes # See the headers when editing
set charset = UTF-8 # value of $LANG; also fallback for send_charset
# Sender, email address, and sign-off line must match
unset use_domain # because joe@localhost is just embarrassing
# 回信包含原文
set include
# 设置回信引文之前的加入符号
set indent_str = "> "
# 退出提醒
set quit = ask-yes
5. 设置颜色方案
颜色方案下载地址:https://github.com/altercation/mutt-colors-solarized
从上面的网址,下载mutt-colors-solarized-master.zip,解压到~/.mutt/目录。使用256色方案,在某些终端中会报错,因此选择使用16色方案。
在~/.mutt/muttrc中增加:
source ~/.mutt/mutt-colors-solarized/mutt-colors-solarized-dark-16.muttrc
6. 增加邮件订阅列表
告诉 Mutt 你已经订阅了那些邮件列表(mailing-list)。这有助于 Mutt 判断那些信件是邮件列表转过来的,避免你错误的回复到别人的私人信箱。
在~/.mutt/muttrc中增加:
subscribe xenomai@lists.linux.dev
收到的邮件中,地址前面那个 “L” 表示这是一个邮件列表转过来的。此时,不要按快捷键r回信到别人的私人信箱,而是按快捷键大写的L,触发list-reply功能回复邮件列表。

9.1.3.3 Neomutt基本使用指南
1. 查看收件箱、发件箱、草稿箱
在终端中输入neomutt命令,然后按Enter启动Neomutt,默认会打开收件箱。此时收件箱处于index显示模式,即列出收件箱中邮件的列表。
如何从收件箱切换到发件箱?
在当前收件箱的邮件列表界面中,按快捷键c,然后按Tab键,就能列出邮箱中所有的文件夹,包括发件箱、草稿箱等等。如果想要进入发件箱,通过方向键选择发件箱,按空格键Space即可进入。注意,此处如果按Enter键,只是显示发件箱信息,再按Enter键返回。
如果想从发件箱切换到其它文件夹例如收件箱,操作的步骤是相同的。
2. 在收件箱中查看邮件
-
选择邮件:在收件箱中,通过
上下方向键来选择想要查看的邮件。 -
进入邮件:按
Enter键或空格键Space,可用进入邮件查看内容。 -
查看邮件:进入邮件后,按
Enter键每次向下翻动一行;按空格键Space每次向下翻动整页页面;按减号键-每次向上翻动整页页面。 -
切换邮件:在查看当前邮件的同时,按
上下方向键可用快速地切换到前一封或后一封邮件。 -
退出邮件:按
i键可用从当前邮件页面退出,回到收件箱中。
3. 回复邮件
查看邮件的内容时,如果需要回复邮件
- 回复发件人:按
r键 - 回复所有人:按
g键 - 回复到邮件列表:按
L键。
4. 写新邮件
在收件箱或发件箱中,按m键即可发起写一封新邮件的过程。
5. 撤销操作
在文本界面操作,经常会遇到误按快捷键后不知所措的窘境,只要按Ctrl + G组合键即可取消操作。
6. 保存邮件中patch
通常patch是嵌入在邮件正文中的。
打开包含patch的邮件后,按下 | 键,提示你输入一个命令。
输入以下命令:
cat > /path/to/your/file.patch
按下回车,邮件内容会被保存到指定路径。保存下来的文件中,不仅包括了patch内容,还包括邮件自身的其它内容例如From:和Message-ID:等信息。但是这些信息并不会影响git合并patch的操作。
2739

被折叠的 条评论
为什么被折叠?



