使用QQ邮箱订阅Linux Kernel邮件列表
由于本人最近需要了解Linux Kernel开发社区的动态,所以订阅Linux Kernel开发邮件列表绝对是不二法门,但由于本人习惯于使用腾讯系的foxmail(也就是QQ邮箱),而相关配置在网络上不多,故记录下整个配置过程以供参考。
软件及平台版本
- 20.04.1-Ubuntu
- Mutt 1.13.2 (2019-12-18)
QQ邮箱开启授权码
本文选择了mutt作为第三方客户端,强烈建议在QQ邮箱中开启授权码来替换QQ密码,主要出于两点考虑:1.使用授权码可以保证QQ密码的安全;2.如果直接使用QQ密码一般需配合TLS,在mutt实际配置过程中遇到了诸多问题,所以强烈推荐启用授权码。以下是腾讯邮箱官网上关于授权码启用的说明文档。
- 什么是授权码?
授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。
适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。
温馨提醒:为了你的帐户安全,更改QQ密码以及独立密码会触发授权码过期,需要重新获取新的授权码登录。
- 怎么获取授权码?
先进入设置-》帐户页面找到入口,按照以下流程操作。
(1)点击“开启” (本文选用IMAP/SMTP服务,请点击红框内“开启”按钮)
![](https://img2020.cnblogs.com/blog/1334366/202106/1334366-20210619141305067-1159990531.png)
(2)验证密保
![](https://service.mail.qq.com/images/faq/5FE40CAA-12A3-4C82-AA2F-9B8BC75C3B4E.jpeg)
(3)获取授权码
![](https://service.mail.qq.com/images/faq/CF53747E-4FC8-4907-8550-F6A65B96BA07.jpeg)
安装并配置mutt
由于Linux Kernel邮件列表不支持base64和html,所以本文选用了mutt作为邮件客户端。以下是mutt在Ubuntu下安装和配置的过程。
- 安装mutt。
sudo apt-get install mutt
- 创建相关目录。
mkdir -p ~/.mutt/cache/headers mkdir ~/.mutt/cache/bodies touch ~/.mutt/certificates
- 创建mutt的配置文件:muttrc。
touch ~/.mutt/muttrc
- 配置muttrc。(本人喜欢用nano,如果未安装nano,可使用vi)
nano ~/.mutt/muttrc
- 在muttrc中配置QQ邮箱的相关信息。请替换对应内容并保存。
# ================ IMAP ==================== set imap_user = xxxxx@xxx.com set imap_pass = 授权码 set spoolfile = "imaps://imap.qq.com:993/INBOX" set folder = "imaps://imap.qq.com:993/" set record="imaps://imap.qq.com:993/Sent Mail" set postponed="imaps://imap.qq.com:993/Drafts" set mbox="imaps://imap.qq.com:993/All Mail" set header_cache = "~/.mutt/cache/headers" set message_cachedir = "~/.mutt/cache/bodies" set certificate_file = "~/.mutt/certificates" # ================ SMTP ==================== set smtp_url = "smtp://QQ-ID-xxxxx@smtp.qq.com:587/" set smtp_pass = $imap_pass set ssl_force_tls = yes # Require encrypted connection # ================ Composition ==================== set editor = "vi" # Set your favourite editor. e.g. nano or vi set edit_headers = yes # See the headers when editing set charset = ASCII # 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 realname = "xxxxx" set from = "xxxxx@xxx.com" set use_from = yes
使用mutt订阅Linux Kernel
- 运行“mutt”。
mutt
- 按“m”,收件人一栏填写“majordomo@vger.kernel.org”并回车继续。
- 主题可填写“subscribe linux-kernel”,或不填写,回车继续。
- 正文内容填写“subscribe linux-kernel”,保存并退出nano。
- 按“y” 确认发送
- 成功发送后,会收到“Welcome to linux-kernel”和“Confirmation for subscribe linux-kernel”两封邮件,在“Confirmation for subscribe linux-kernel”中找到一行“auth xxxxxx subscribe linux-kernel xxxxx@xxx.com”,并将该行内容作为正文回复给“majordomo@vger.kernel.org”。成功发送确认邮件后,接下来就可以收到主题为“Majordomo results: Confirmation for subscribe linux-kernel”的邮件,这样订阅就大功告成了。
- 退订邮件列表就相对简单,直接给“majordomo@vger.kernel.org”发邮件即可。标题随意,内容为“unsubscribe linux-kernel xxxxx@xxx.com”即可。
总结与反思
- 一开始订阅邮件列表,使用的是QQ邮箱的web页面,由于web页面默认使用html,所以订阅时直接报错。而后改用foxmail客户端,使用纯文本发送,依旧出错,究其原因是:foxmail的纯文本邮件使用的是base64编码而Linux Kernel邮件列表不支持base64编码。经过对比各种邮件客户端,最后选择了mutt这个邮件客户端。
- 在对mutt进行配置时,一开始直接使用了QQ密码但遇到了各种错误,后面改用授权码后,才顺利登录邮箱。
- 最后给“majordomo@vger.kernel.org”成功发出邮件后,在QQ邮箱的web页面查询该邮件的状态,却提示“发送失败,退信”,所幸的是等待片刻后,重新刷新又提示“投递成功”。