1*4882a593Smuzhiyun.. _cn_email_clients: 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun.. include:: ../disclaimer-zh_CN.rst 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun:Original: :ref:`Documentation/process/email-clients.rst <email_clients>` 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun译者:: 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun 中文版维护者: 贾威威 Harry Wei <harryxiyou@gmail.com> 10*4882a593Smuzhiyun 中文版翻译者: 贾威威 Harry Wei <harryxiyou@gmail.com> 11*4882a593Smuzhiyun 时奎亮 Alex Shi <alex.shi@linux.alibaba.com> 12*4882a593Smuzhiyun 中文版校译者: Yinglin Luan <synmyth@gmail.com> 13*4882a593Smuzhiyun Xiaochen Wang <wangxiaochen0@gmail.com> 14*4882a593Smuzhiyun yaxinsn <yaxinsn@163.com> 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunLinux邮件客户端配置信息 17*4882a593Smuzhiyun======================= 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunGit 20*4882a593Smuzhiyun--- 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun现在大多数开发人员使用 ``git send-email`` 而不是常规的电子邮件客户端。这方面 23*4882a593Smuzhiyun的手册非常好。在接收端,维护人员使用 ``git am`` 加载补丁。 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun如果你是 ``git`` 新手,那么把你的第一个补丁发送给你自己。将其保存为包含所有 26*4882a593Smuzhiyun标题的原始文本。运行 ``git am raw_email.txt`` ,然后使用 ``git log`` 查看更 27*4882a593Smuzhiyun改日志。如果工作正常,再将补丁发送到相应的邮件列表。 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun普通配置 31*4882a593Smuzhiyun-------- 32*4882a593SmuzhiyunLinux内核补丁是通过邮件被提交的,最好把补丁作为邮件体的内嵌文本。有些维护者 33*4882a593Smuzhiyun接收附件,但是附件的内容格式应该是"text/plain"。然而,附件一般是不赞成的, 34*4882a593Smuzhiyun因为这会使补丁的引用部分在评论过程中变的很困难。 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun用来发送Linux内核补丁的邮件客户端在发送补丁时应该处于文本的原始状态。例如, 37*4882a593Smuzhiyun他们不能改变或者删除制表符或者空格,甚至是在每一行的开头或者结尾。 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun不要通过"format=flowed"模式发送补丁。这样会引起不可预期以及有害的断行。 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun不要让你的邮件客户端进行自动换行。这样也会破坏你的补丁。 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun邮件客户端不能改变文本的字符集编码方式。要发送的补丁只能是ASCII或者UTF-8编码方式, 44*4882a593Smuzhiyun如果你使用UTF-8编码方式发送邮件,那么你将会避免一些可能发生的字符集问题。 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun邮件客户端应该形成并且保持 References: 或者 In-Reply-To: 标题,那么 47*4882a593Smuzhiyun邮件话题就不会中断。 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun复制粘帖(或者剪贴粘帖)通常不能用于补丁,因为制表符会转换为空格。使用xclipboard, xclip 50*4882a593Smuzhiyun或者xcutsel也许可以,但是最好测试一下或者避免使用复制粘帖。 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun不要在使用PGP/GPG署名的邮件中包含补丁。这样会使得很多脚本不能读取和适用于你的补丁。 53*4882a593Smuzhiyun(这个问题应该是可以修复的) 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun在给内核邮件列表发送补丁之前,给自己发送一个补丁是个不错的主意,保存接收到的 56*4882a593Smuzhiyun邮件,将补丁用'patch'命令打上,如果成功了,再给内核邮件列表发送。 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun一些邮件客户端提示 60*4882a593Smuzhiyun------------------ 61*4882a593Smuzhiyun这里给出一些详细的MUA配置提示,可以用于给Linux内核发送补丁。这些并不意味是 62*4882a593Smuzhiyun所有的软件包配置总结。 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun说明: 65*4882a593SmuzhiyunTUI = 以文本为基础的用户接口 66*4882a593SmuzhiyunGUI = 图形界面用户接口 67*4882a593Smuzhiyun 68*4882a593SmuzhiyunAlpine (TUI) 69*4882a593Smuzhiyun~~~~~~~~~~~~ 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun配置选项: 72*4882a593Smuzhiyun在"Sending Preferences"部分: 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun- "Do Not Send Flowed Text"必须开启 75*4882a593Smuzhiyun- "Strip Whitespace Before Sending"必须关闭 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun当写邮件时,光标应该放在补丁会出现的地方,然后按下CTRL-R组合键,使指定的 78*4882a593Smuzhiyun补丁文件嵌入到邮件中。 79*4882a593Smuzhiyun 80*4882a593SmuzhiyunEvolution (GUI) 81*4882a593Smuzhiyun~~~~~~~~~~~~~~~ 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun一些开发者成功的使用它发送补丁 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun当选择邮件选项:Preformat 86*4882a593Smuzhiyun 从Format->Heading->Preformatted (Ctrl-7)或者工具栏 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun然后使用: 89*4882a593Smuzhiyun Insert->Text File... (Alt-n x)插入补丁文件。 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun你还可以"diff -Nru old.c new.c | xclip",选择Preformat,然后使用中间键进行粘帖。 92*4882a593Smuzhiyun 93*4882a593SmuzhiyunKmail (GUI) 94*4882a593Smuzhiyun~~~~~~~~~~~ 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun一些开发者成功的使用它发送补丁。 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun默认设置不为HTML格式是合适的;不要启用它。 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun当书写一封邮件的时候,在选项下面不要选择自动换行。唯一的缺点就是你在邮件中输入的任何文本 101*4882a593Smuzhiyun都不会被自动换行,因此你必须在发送补丁之前手动换行。最简单的方法就是启用自动换行来书写邮件, 102*4882a593Smuzhiyun然后把它保存为草稿。一旦你在草稿中再次打开它,它已经全部自动换行了,那么你的邮件虽然没有 103*4882a593Smuzhiyun选择自动换行,但是还不会失去已有的自动换行。 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun在邮件的底部,插入补丁之前,放上常用的补丁定界符:三个连字号(---)。 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun然后在"Message"菜单条目,选择插入文件,接着选取你的补丁文件。还有一个额外的选项,你可以 108*4882a593Smuzhiyun通过它配置你的邮件建立工具栏菜单,还可以带上"insert file"图标。 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun你可以安全地通过GPG标记附件,但是内嵌补丁最好不要使用GPG标记它们。作为内嵌文本的签发补丁, 111*4882a593Smuzhiyun当从GPG中提取7位编码时会使他们变的更加复杂。 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun如果你非要以附件的形式发送补丁,那么就右键点击附件,然后选中属性,突出"Suggest automatic 114*4882a593Smuzhiyundisplay",这样内嵌附件更容易让读者看到。 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun当你要保存将要发送的内嵌文本补丁,你可以从消息列表窗格选择包含补丁的邮件,然后右击选择 117*4882a593Smuzhiyun"save as"。你可以使用一个没有更改的包含补丁的邮件,如果它是以正确的形式组成。当你正真在它 118*4882a593Smuzhiyun自己的窗口之下察看,那时没有选项可以保存邮件--已经有一个这样的bug被汇报到了kmail的bugzilla 119*4882a593Smuzhiyun并且希望这将会被处理。邮件是以只针对某个用户可读写的权限被保存的,所以如果你想把邮件复制到其他地方, 120*4882a593Smuzhiyun你不得不把他们的权限改为组或者整体可读。 121*4882a593Smuzhiyun 122*4882a593SmuzhiyunLotus Notes (GUI) 123*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~ 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun不要使用它。 126*4882a593Smuzhiyun 127*4882a593SmuzhiyunMutt (TUI) 128*4882a593Smuzhiyun~~~~~~~~~~ 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun很多Linux开发人员使用mutt客户端,所以证明它肯定工作的非常漂亮。 131*4882a593Smuzhiyun 132*4882a593SmuzhiyunMutt不自带编辑器,所以不管你使用什么编辑器都不应该带有自动断行。大多数编辑器都带有 133*4882a593Smuzhiyun一个"insert file"选项,它可以通过不改变文件内容的方式插入文件。 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun'vim'作为mutt的编辑器: 136*4882a593Smuzhiyun set editor="vi" 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun 如果使用xclip,敲入以下命令 139*4882a593Smuzhiyun :set paste 140*4882a593Smuzhiyun 按中键之前或者shift-insert或者使用 141*4882a593Smuzhiyun :r filename 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun如果想要把补丁作为内嵌文本。 144*4882a593Smuzhiyun(a)ttach工作的很好,不带有"set paste"。 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun你可以通过 ``git format-patch`` 生成补丁,然后用 Mutt发送它们:: 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun $ mutt -H 0001-some-bug-fix.patch 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun配置选项: 151*4882a593Smuzhiyun它应该以默认设置的形式工作。 152*4882a593Smuzhiyun然而,把"send_charset"设置为"us-ascii::utf-8"也是一个不错的主意。 153*4882a593Smuzhiyun 154*4882a593SmuzhiyunMutt 是高度可配置的。 这里是个使用mutt通过 Gmail 发送的补丁的最小配置:: 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun # .muttrc 157*4882a593Smuzhiyun # ================ IMAP ==================== 158*4882a593Smuzhiyun set imap_user = 'yourusername@gmail.com' 159*4882a593Smuzhiyun set imap_pass = 'yourpassword' 160*4882a593Smuzhiyun set spoolfile = imaps://imap.gmail.com/INBOX 161*4882a593Smuzhiyun set folder = imaps://imap.gmail.com/ 162*4882a593Smuzhiyun set record="imaps://imap.gmail.com/[Gmail]/Sent Mail" 163*4882a593Smuzhiyun set postponed="imaps://imap.gmail.com/[Gmail]/Drafts" 164*4882a593Smuzhiyun set mbox="imaps://imap.gmail.com/[Gmail]/All Mail" 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun # ================ SMTP ==================== 167*4882a593Smuzhiyun set smtp_url = "smtp://username@smtp.gmail.com:587/" 168*4882a593Smuzhiyun set smtp_pass = $imap_pass 169*4882a593Smuzhiyun set ssl_force_tls = yes # Require encrypted connection 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun # ================ Composition ==================== 172*4882a593Smuzhiyun set editor = `echo \$EDITOR` 173*4882a593Smuzhiyun set edit_headers = yes # See the headers when editing 174*4882a593Smuzhiyun set charset = UTF-8 # value of $LANG; also fallback for send_charset 175*4882a593Smuzhiyun # Sender, email address, and sign-off line must match 176*4882a593Smuzhiyun unset use_domain # because joe@localhost is just embarrassing 177*4882a593Smuzhiyun set realname = "YOUR NAME" 178*4882a593Smuzhiyun set from = "username@gmail.com" 179*4882a593Smuzhiyun set use_from = yes 180*4882a593Smuzhiyun 181*4882a593SmuzhiyunMutt文档含有更多信息: 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun http://dev.mutt.org/trac/wiki/UseCases/Gmail 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun http://dev.mutt.org/doc/manual.html 186*4882a593Smuzhiyun 187*4882a593SmuzhiyunPine (TUI) 188*4882a593Smuzhiyun~~~~~~~~~~ 189*4882a593Smuzhiyun 190*4882a593SmuzhiyunPine过去有一些空格删减问题,但是这些现在应该都被修复了。 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun如果可以,请使用alpine(pine的继承者) 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun配置选项: 195*4882a593Smuzhiyun- 最近的版本需要消除流程文本 196*4882a593Smuzhiyun- "no-strip-whitespace-before-send"选项也是需要的。 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun 199*4882a593SmuzhiyunSylpheed (GUI) 200*4882a593Smuzhiyun~~~~~~~~~~~~~~ 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun- 内嵌文本可以很好的工作(或者使用附件)。 203*4882a593Smuzhiyun- 允许使用外部的编辑器。 204*4882a593Smuzhiyun- 对于目录较多时非常慢。 205*4882a593Smuzhiyun- 如果通过non-SSL连接,无法使用TLS SMTP授权。 206*4882a593Smuzhiyun- 在组成窗口中有一个很有用的ruler bar。 207*4882a593Smuzhiyun- 给地址本中添加地址就不会正确的了解显示名。 208*4882a593Smuzhiyun 209*4882a593SmuzhiyunThunderbird (GUI) 210*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~ 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun默认情况下,thunderbird很容易损坏文本,但是还有一些方法可以强制它变得更好。 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun- 在用户帐号设置里,组成和寻址,不要选择"Compose messages in HTML format"。 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun- 编辑你的Thunderbird配置设置来使它不要拆行使用:user_pref("mailnews.wraplength", 0); 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun- 编辑你的Thunderbird配置设置,使它不要使用"format=flowed"格式:user_pref("mailnews. 219*4882a593Smuzhiyun send_plaintext_flowed", false); 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun- 你需要使Thunderbird变为预先格式方式: 222*4882a593Smuzhiyun 如果默认情况下你书写的是HTML格式,那不是很难。仅仅从标题栏的下拉框中选择"Preformat"格式。 223*4882a593Smuzhiyun 如果默认情况下你书写的是文本格式,你不得把它改为HTML格式(仅仅作为一次性的)来书写新的消息, 224*4882a593Smuzhiyun 然后强制使它回到文本格式,否则它就会拆行。要实现它,在写信的图标上使用shift键来使它变为HTML 225*4882a593Smuzhiyun 格式,然后标题栏的下拉框中选择"Preformat"格式。 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun- 允许使用外部的编辑器: 228*4882a593Smuzhiyun 针对Thunderbird打补丁最简单的方法就是使用一个"external editor"扩展,然后使用你最喜欢的 229*4882a593Smuzhiyun $EDITOR来读取或者合并补丁到文本中。要实现它,可以下载并且安装这个扩展,然后添加一个使用它的 230*4882a593Smuzhiyun 按键View->Toolbars->Customize...最后当你书写信息的时候仅仅点击它就可以了。 231*4882a593Smuzhiyun 232*4882a593SmuzhiyunTkRat (GUI) 233*4882a593Smuzhiyun~~~~~~~~~~~ 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun可以使用它。使用"Insert file..."或者外部的编辑器。 236*4882a593Smuzhiyun 237*4882a593SmuzhiyunGmail (Web GUI) 238*4882a593Smuzhiyun~~~~~~~~~~~~~~~ 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun不要使用它发送补丁。 241*4882a593Smuzhiyun 242*4882a593SmuzhiyunGmail网页客户端自动地把制表符转换为空格。 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun虽然制表符转换为空格问题可以被外部编辑器解决,同时它还会使用回车换行把每行拆分为78个字符。 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun另一个问题是Gmail还会把任何不是ASCII的字符的信息改为base64编码。它把东西变的像欧洲人的名字。 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun ### 249