162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. include:: ../disclaimer-zh_CN.rst 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci.. _cn_email_clients: 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci:Original: Documentation/process/email-clients.rst 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci:译者: 1062306a36Sopenharmony_ci - 贾威威 Harry Wei <harryxiyou@gmail.com> 1162306a36Sopenharmony_ci - 时奎亮 Alex Shi <alexs@kernel.org> 1262306a36Sopenharmony_ci - 吴想成 Wu XiangCheng <bobwxc@email.cn> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci:校译: 1562306a36Sopenharmony_ci - Yinglin Luan <synmyth@gmail.com> 1662306a36Sopenharmony_ci - Xiaochen Wang <wangxiaochen0@gmail.com> 1762306a36Sopenharmony_ci - yaxinsn <yaxinsn@163.com> 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciLinux邮件客户端配置信息 2062306a36Sopenharmony_ci======================= 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciGit 2362306a36Sopenharmony_ci--- 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci现在大多数开发人员使用 ``git send-email`` 而不是常规的电子邮件客户端。这方面 2662306a36Sopenharmony_ci的手册非常好。在接收端,维护人员使用 ``git am`` 加载补丁。 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci如果你是 ``git`` 新手,那么把你的第一个补丁发送给你自己。将其保存为包含所有 2962306a36Sopenharmony_ci标题的原始文本。运行 ``git am raw_email.txt`` ,然后使用 ``git log`` 查看更 3062306a36Sopenharmony_ci改日志。如果工作正常,再将补丁发送到相应的邮件列表。 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci通用配置 3462306a36Sopenharmony_ci-------- 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciLinux内核补丁是通过邮件被提交的,最好把补丁作为邮件体的内嵌文本。有些维护者 3762306a36Sopenharmony_ci接收附件,但是附件的内容格式应该是"text/plain"。然而,附件一般是不赞成的, 3862306a36Sopenharmony_ci因为这会使补丁的引用部分在评论过程中变的很困难。 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci同时也强烈建议在补丁或其他邮件的正文中使用纯文本格式。https://useplaintext.email 4162306a36Sopenharmony_ci有助于了解如何配置你喜欢的邮件客户端,并在您还没有首选的情况下列出一些推荐的 4262306a36Sopenharmony_ci客户端。 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci用来发送Linux内核补丁的邮件客户端在发送补丁时应该处于文本的原始状态。例如, 4562306a36Sopenharmony_ci他们不能改变或者删除制表符或者空格,甚至是在每一行的开头或者结尾。 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci不要通过"format=flowed"模式发送补丁。这样会引起不可预期以及有害的断行。 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci不要让你的邮件客户端进行自动换行。这样也会破坏你的补丁。 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci邮件客户端不能改变文本的字符集编码方式。要发送的补丁只能是ASCII或者UTF-8编码 5262306a36Sopenharmony_ci方式,如果你使用UTF-8编码方式发送邮件,那么你将会避免一些可能发生的字符集问题。 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci邮件客户端应该生成并且保持“References:”或者“In-Reply-To:”邮件头,这样邮件会话 5562306a36Sopenharmony_ci就不会中断。 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci复制粘帖(或者剪贴粘帖)通常不能用于补丁,因为制表符会转换为空格。使用xclipboard, 5862306a36Sopenharmony_cixclip或者xcutsel也许可以,但是最好测试一下或者避免使用复制粘帖。 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci不要在使用PGP/GPG签名的邮件中包含补丁。这样会使得很多脚本不能读取和适用于你的 6162306a36Sopenharmony_ci补丁。(这个问题应该是可以修复的) 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci在给内核邮件列表发送补丁之前,给自己发送一个补丁是个不错的主意,保存接收到的 6462306a36Sopenharmony_ci邮件,将补丁用'patch'命令打上,如果成功了,再给内核邮件列表发送。 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci一些邮件客户端提示 6862306a36Sopenharmony_ci------------------ 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci这里给出一些详细的MUA配置提示,可以用于给Linux内核发送补丁。这些并不意味是 7162306a36Sopenharmony_ci所有的软件包配置总结。 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci说明: 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci- TUI = 以文本为基础的用户接口 7662306a36Sopenharmony_ci- GUI = 图形界面用户接口 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciAlpine (TUI) 7962306a36Sopenharmony_ci************ 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci配置选项: 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci在 :menuselection:`Sending Preferences` 菜单: 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci- :menuselection:`Do Not Send Flowed Text` 必须开启 8662306a36Sopenharmony_ci- :menuselection:`Strip Whitespace Before Sending` 必须关闭 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci当写邮件时,光标应该放在补丁会出现的地方,然后按下 :kbd:`CTRL-R` 组合键,使指 8962306a36Sopenharmony_ci定的补丁文件嵌入到邮件中。 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ciClaws Mail (GUI) 9262306a36Sopenharmony_ci**************** 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci可以用,有人用它成功地发过补丁。 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci用 :menuselection:`Message-->Insert File` (:kbd:`CTRL-I`) 或外置编辑器插入补丁。 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci若要在Claws编辑窗口重修改插入的补丁,需关闭 9962306a36Sopenharmony_ci:menuselection:`Configuration-->Preferences-->Compose-->Wrapping` 10062306a36Sopenharmony_ci的 `Auto wrapping` 。 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciEvolution (GUI) 10362306a36Sopenharmony_ci*************** 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci一些开发者成功的使用它发送补丁。 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci撰写邮件时: 10862306a36Sopenharmony_ci从 :menuselection:`格式-->段落样式-->预格式化` (:kbd:`CTRL-7`) 10962306a36Sopenharmony_ci或工具栏选择 :menuselection:`预格式化` ; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci然后使用: 11262306a36Sopenharmony_ci:menuselection:`插入-->文本文件...` (:kbd:`ALT-N x`) 插入补丁文件。 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci你还可以 ``diff -Nru old.c new.c | xclip`` ,选择 :menuselection:`预格式化` , 11562306a36Sopenharmony_ci然后使用鼠标中键进行粘帖。 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciKmail (GUI) 11862306a36Sopenharmony_ci*********** 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci一些开发者成功的使用它发送补丁。 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci默认撰写设置禁用HTML格式是合适的;不要启用它。 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci当书写一封邮件的时候,在选项下面不要选择自动换行。唯一的缺点就是你在邮件中输 12562306a36Sopenharmony_ci入的任何文本都不会被自动换行,因此你必须在发送补丁之前手动换行。最简单的方法 12662306a36Sopenharmony_ci就是启用自动换行来书写邮件,然后把它保存为草稿。一旦你在草稿中再次打开它,它 12762306a36Sopenharmony_ci已经全部自动换行了,那么你的邮件虽然没有选择自动换行,但是还不会失去已有的自 12862306a36Sopenharmony_ci动换行。 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci在邮件的底部,插入补丁之前,放上常用的补丁定界符:三个连字符(``---``)。 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci然后在 :menuselection:`信件` 菜单,选择 :menuselection:`插入文本文件` ,接 13362306a36Sopenharmony_ci着选取你的补丁文件。还有一个额外的选项,你可以通过它配置你的创建新邮件工具栏, 13462306a36Sopenharmony_ci加上 :menuselection:`插入文本文件` 图标。 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci将编辑器窗口拉到足够宽避免折行。对于KMail 1.13.5 (KDE 4.5.4),它会在发送邮件 13762306a36Sopenharmony_ci时对编辑器窗口中显示折行的地方自动换行。在选项菜单中取消自动换行仍不能解决。 13862306a36Sopenharmony_ci因此,如果你的补丁中有非常长的行,必须在发送之前把编辑器窗口拉得非常宽。 13962306a36Sopenharmony_ci参见:https://bugs.kde.org/show_bug.cgi?id=174034 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci你可以安全地用GPG签名附件,但是内嵌补丁最好不要使用GPG签名它们。作为内嵌文本 14262306a36Sopenharmony_ci插入的签名补丁将使其难以从7-bit编码中提取。 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci如果你非要以附件的形式发送补丁,那么就右键点击附件,然后选择 14562306a36Sopenharmony_ci:menuselection:`属性` ,打开 :menuselection:`建议自动显示` ,使附件内联更容 14662306a36Sopenharmony_ci易让读者看到。 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci当你要保存将要发送的内嵌文本补丁,你可以从消息列表窗格选择包含补丁的邮件,然 14962306a36Sopenharmony_ci后右键选择 :menuselection:`另存为` 。如果整个电子邮件的组成正确,您可直接将 15062306a36Sopenharmony_ci其作为补丁使用。电子邮件以当前用户可读写权限保存,因此您必须 ``chmod`` ,以 15162306a36Sopenharmony_ci使其在复制到别处时用户组和其他人可读。 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ciLotus Notes (GUI) 15462306a36Sopenharmony_ci***************** 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci不要使用它。 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciIBM Verse (Web GUI) 15962306a36Sopenharmony_ci******************* 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci同上条。 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ciMutt (TUI) 16462306a36Sopenharmony_ci********** 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci很多Linux开发人员使用mutt客户端,这证明它肯定工作得非常漂亮。 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ciMutt不自带编辑器,所以不管你使用什么编辑器,不自动断行就行。大多数编辑器都有 16962306a36Sopenharmony_ci:menuselection:`插入文件` 选项,它可以在不改变文件内容的情况下插入文件。 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci用 ``vim`` 作为mutt的编辑器:: 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci set editor="vi" 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci如果使用xclip,敲入以下命令:: 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci :set paste 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci然后再按中键或者shift-insert或者使用:: 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci :r filename 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci把补丁插入为内嵌文本。 18462306a36Sopenharmony_ci在未设置 ``set paste`` 时(a)ttach工作的很好。 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci你可以通过 ``git format-patch`` 生成补丁,然后用 Mutt发送它们:: 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci $ mutt -H 0001-some-bug-fix.patch 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci配置选项: 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci它应该以默认设置的形式工作。 19362306a36Sopenharmony_ci然而,把 ``send_charset`` 设置一下也是一个不错的主意:: 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci set send_charset="us-ascii:utf-8" 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciMutt 是高度可配置的。 这里是个使用mutt通过 Gmail 发送的补丁的最小配置:: 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci # .muttrc 20062306a36Sopenharmony_ci # ================ IMAP ==================== 20162306a36Sopenharmony_ci set imap_user = 'yourusername@gmail.com' 20262306a36Sopenharmony_ci set imap_pass = 'yourpassword' 20362306a36Sopenharmony_ci set spoolfile = imaps://imap.gmail.com/INBOX 20462306a36Sopenharmony_ci set folder = imaps://imap.gmail.com/ 20562306a36Sopenharmony_ci set record="imaps://imap.gmail.com/[Gmail]/Sent Mail" 20662306a36Sopenharmony_ci set postponed="imaps://imap.gmail.com/[Gmail]/Drafts" 20762306a36Sopenharmony_ci set mbox="imaps://imap.gmail.com/[Gmail]/All Mail" 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci # ================ SMTP ==================== 21062306a36Sopenharmony_ci set smtp_url = "smtp://username@smtp.gmail.com:587/" 21162306a36Sopenharmony_ci set smtp_pass = $imap_pass 21262306a36Sopenharmony_ci set ssl_force_tls = yes # Require encrypted connection 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci # ================ Composition ==================== 21562306a36Sopenharmony_ci set editor = `echo \$EDITOR` 21662306a36Sopenharmony_ci set edit_headers = yes # See the headers when editing 21762306a36Sopenharmony_ci set charset = UTF-8 # value of $LANG; also fallback for send_charset 21862306a36Sopenharmony_ci # Sender, email address, and sign-off line must match 21962306a36Sopenharmony_ci unset use_domain # because joe@localhost is just embarrassing 22062306a36Sopenharmony_ci set realname = "YOUR NAME" 22162306a36Sopenharmony_ci set from = "username@gmail.com" 22262306a36Sopenharmony_ci set use_from = yes 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciMutt文档含有更多信息: 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci https://gitlab.com/muttmua/mutt/-/wikis/UseCases/Gmail 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci http://www.mutt.org/doc/manual/ 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ciPine (TUI) 23162306a36Sopenharmony_ci********** 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ciPine过去有一些空格删减问题,但是这些现在应该都被修复了。 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci如果可以,请使用alpine(pine的继承者)。 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci配置选项: 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci- 最近的版本需要 ``quell-flowed-text`` 24062306a36Sopenharmony_ci- ``no-strip-whitespace-before-send`` 选项也是需要的。 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ciSylpheed (GUI) 24462306a36Sopenharmony_ci************** 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci- 内嵌文本可以很好的工作(或者使用附件)。 24762306a36Sopenharmony_ci- 允许使用外部的编辑器。 24862306a36Sopenharmony_ci- 收件箱较多时非常慢。 24962306a36Sopenharmony_ci- 如果通过non-SSL连接,无法使用TLS SMTP授权。 25062306a36Sopenharmony_ci- 撰写窗口的标尺很有用。 25162306a36Sopenharmony_ci- 将地址添加到通讯簿时无法正确理解显示的名称。 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciThunderbird (GUI) 25462306a36Sopenharmony_ci***************** 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciThunderbird是Outlook的克隆版本,它很容易损坏文本,但也有一些方法强制修正。 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci在完成修改后(包括安装扩展),您需要重新启动Thunderbird。 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci- 允许使用外部编辑器: 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci 使用Thunderbird发补丁最简单的方法是使用扩展来打开您最喜欢的外部编辑器。 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci 下面是一些能够做到这一点的扩展样例。 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci - “External Editor Revived” 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci https://github.com/Frederick888/external-editor-revived 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci https://addons.thunderbird.net/en-GB/thunderbird/addon/external-editor-revived/ 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci 它需要安装“本地消息主机(native messaging host)”。 27362306a36Sopenharmony_ci 参见以下文档: 27462306a36Sopenharmony_ci https://github.com/Frederick888/external-editor-revived/wiki 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci - “External Editor” 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci https://github.com/exteditor/exteditor 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci 下载并安装此扩展,然后打开 :menuselection:`新建消息` 窗口, 用 28162306a36Sopenharmony_ci :menuselection:`查看-->工具栏-->自定义...` 给它增加一个按钮,直接点击此 28262306a36Sopenharmony_ci 按钮即可使用外置编辑器。 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci 请注意,“External Editor”要求你的编辑器不能fork,换句话说,编辑器必须在 28562306a36Sopenharmony_ci 关闭前不返回。你可能需要传递额外的参数或修改编辑器设置。最值得注意的是, 28662306a36Sopenharmony_ci 如果您使用的是gvim,那么您必须将 :menuselection:`external editor` 设置的 28762306a36Sopenharmony_ci 编辑器字段设置为 ``/usr/bin/gvim --nofork"`` (假设可执行文件在 28862306a36Sopenharmony_ci ``/usr/bin`` ),以传递 ``-f`` 参数。如果您正在使用其他编辑器,请阅读其 28962306a36Sopenharmony_ci 手册了解如何处理。 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci若要修正内部编辑器,请执行以下操作: 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci- 修改你的Thunderbird设置,不要使用 ``format=flowed`` ! 29462306a36Sopenharmony_ci 回到主窗口,按照 29562306a36Sopenharmony_ci :menuselection:`主菜单-->首选项-->常规-->配置编辑器...` 29662306a36Sopenharmony_ci 打开Thunderbird的配置编辑器。 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci - 将 ``mailnews.send_plaintext_flowed`` 设为 ``false`` 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci - 将 ``mailnews.wraplength`` 从 ``72`` 改为 ``0`` 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci- 不要写HTML邮件! 30362306a36Sopenharmony_ci 回到主窗口,打开 30462306a36Sopenharmony_ci :menuselection:`主菜单-->账户设置-->你的@邮件.地址-->通讯录/编写&地址簿` , 30562306a36Sopenharmony_ci 关掉 ``以HTML格式编写消息`` 。 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci- 只用纯文本格式查看邮件! 30862306a36Sopenharmony_ci 回到主窗口, :menuselection:`主菜单-->查看-->消息体为-->纯文本` ! 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ciTkRat (GUI) 31162306a36Sopenharmony_ci*********** 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci可以使用它。使用"Insert file..."或者外部的编辑器。 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ciGmail (Web GUI) 31662306a36Sopenharmony_ci*************** 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci不要使用它发送补丁。 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ciGmail网页客户端自动地把制表符转换为空格。 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci虽然制表符转换为空格问题可以被外部编辑器解决,但它同时还会使用回车换行把每行 32362306a36Sopenharmony_ci拆分为78个字符。 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ci另一个问题是Gmail还会把任何含有非ASCII的字符的消息改用base64编码,如欧洲人的 32662306a36Sopenharmony_ci名字。 32762306a36Sopenharmony_ci 328