1 .. SPDX-License-Identifier: GPL-2.0-or-later 2 3 .. include:: ../disclaimer-zh_TW.rst 4 5 .. _tw_email_clients: 6 7 :Original: Documentation/process/email-clients.rst 8 9 :譯者: 10 - 賈威威 Harry Wei <harryxiyou@gmail.com> 11 - 時奎亮 Alex Shi <alexs@kernel.org> 12 - 吳想成 Wu XiangCheng <bobwxc@email.cn> 13 14 :校譯: 15 - Yinglin Luan <synmyth@gmail.com> 16 - Xiaochen Wang <wangxiaochen0@gmail.com> 17 - yaxinsn <yaxinsn@163.com> 18 - Hu Haowen <2023002089@link.tyut.edu.cn> 19 20 Linux郵件客戶端配置信息 21 ======================= 22 23 Git 24 --- 25 26 現在大多數開發人員使用 ``git send-email`` 而不是常規的電子郵件客戶端。這方面 27 的手冊非常好。在接收端,維護人員使用 ``git am`` 加載補丁。 28 29 如果你是 ``git`` 新手,那麼把你的第一個補丁發送給你自己。將其保存爲包含所有 30 標題的原始文本。運行 ``git am raw_email.txt`` ,然後使用 ``git log`` 查看更 31 改日誌。如果工作正常,再將補丁發送到相應的郵件列表。 32 33 34 通用配置 35 -------- 36 37 Linux內核補丁是通過郵件被提交的,最好把補丁作爲郵件體的內嵌文本。有些維護者 38 接收附件,但是附件的內容格式應該是"text/plain"。然而,附件一般是不贊成的, 39 因爲這會使補丁的引用部分在評論過程中變的很困難。 40 41 同時也強烈建議在補丁或其他郵件的正文中使用純文本格式。https://useplaintext.email 42 有助於瞭解如何配置你喜歡的郵件客戶端,並在您還沒有首選的情況下列出一些推薦的 43 客戶端。 44 45 用來發送Linux內核補丁的郵件客戶端在發送補丁時應該處於文本的原始狀態。例如, 46 他們不能改變或者刪除製表符或者空格,甚至是在每一行的開頭或者結尾。 47 48 不要通過"format=flowed"模式發送補丁。這樣會引起不可預期以及有害的斷行。 49 50 不要讓你的郵件客戶端進行自動換行。這樣也會破壞你的補丁。 51 52 郵件客戶端不能改變文本的字符集編碼方式。要發送的補丁只能是ASCII或者UTF-8編碼 53 方式,如果你使用UTF-8編碼方式發送郵件,那麼你將會避免一些可能發生的字符集問題。 54 55 郵件客戶端應該生成並且保持“References:”或者“In-Reply-To:”郵件頭,這樣郵件會話 56 就不會中斷。 57 58 複製粘帖(或者剪貼粘帖)通常不能用於補丁,因爲製表符會轉換爲空格。使用xclipboard, 59 xclip或者xcutsel也許可以,但是最好測試一下或者避免使用複製粘帖。 60 61 不要在使用PGP/GPG簽名的郵件中包含補丁。這樣會使得很多腳本不能讀取和適用於你的 62 補丁。(這個問題應該是可以修復的) 63 64 在給內核郵件列表發送補丁之前,給自己發送一個補丁是個不錯的主意,保存接收到的 65 郵件,將補丁用'patch'命令打上,如果成功了,再給內核郵件列表發送。 66 67 68 一些郵件客戶端提示 69 ------------------ 70 71 這裏給出一些詳細的MUA配置提示,可以用於給Linux內核發送補丁。這些並不意味是 72 所有的軟件包配置總結。 73 74 說明: 75 76 - TUI = 以文本爲基礎的用戶接口 77 - GUI = 圖形界面用戶接口 78 79 Alpine (TUI) 80 ************ 81 82 配置選項: 83 84 在 :menuselection:`Sending Preferences` 菜單: 85 86 - :menuselection:`Do Not Send Flowed Text` 必須開啓 87 - :menuselection:`Strip Whitespace Before Sending` 必須關閉 88 89 當寫郵件時,光標應該放在補丁會出現的地方,然後按下 :kbd:`CTRL-R` 組合鍵,使指 90 定的補丁文件嵌入到郵件中。 91 92 Claws Mail (GUI) 93 **************** 94 95 可以用,有人用它成功地發過補丁。 96 97 用 :menuselection:`Message-->Insert File` (:kbd:`CTRL-I`) 或外置編輯器插入補丁。 98 99 若要在Claws編輯窗口重修改插入的補丁,需關閉 100 :menuselection:`Configuration-->Preferences-->Compose-->Wrapping` 101 的 `Auto wrapping` 。 102 103 Evolution (GUI) 104 *************** 105 106 一些開發者成功的使用它發送補丁。 107 108 撰寫郵件時: 109 從 :menuselection:`格式-->段落樣式-->預格式化` (:kbd:`CTRL-7`) 110 或工具欄選擇 :menuselection:`預格式化` ; 111 112 然後使用: 113 :menuselection:`插入-->文本文件...` (:kbd:`ALT-N x`) 插入補丁文件。 114 115 你還可以 ``diff -Nru old.c new.c | xclip`` ,選擇 :menuselection:`預格式化` , 116 然後使用鼠標中鍵進行粘帖。 117 118 Kmail (GUI) 119 *********** 120 121 一些開發者成功的使用它發送補丁。 122 123 默認撰寫設置禁用HTML格式是合適的;不要啓用它。 124 125 當書寫一封郵件的時候,在選項下面不要選擇自動換行。唯一的缺點就是你在郵件中輸 126 入的任何文本都不會被自動換行,因此你必須在發送補丁之前手動換行。最簡單的方法 127 就是啓用自動換行來書寫郵件,然後把它保存爲草稿。一旦你在草稿中再次打開它,它 128 已經全部自動換行了,那麼你的郵件雖然沒有選擇自動換行,但是還不會失去已有的自 129 動換行。 130 131 在郵件的底部,插入補丁之前,放上常用的補丁定界符:三個連字符(``---``)。 132 133 然後在 :menuselection:`信件` 菜單,選擇 :menuselection:`插入文本文件` ,接 134 着選取你的補丁文件。還有一個額外的選項,你可以通過它配置你的創建新郵件工具欄, 135 加上 :menuselection:`插入文本文件` 圖標。 136 137 將編輯器窗口拉到足夠寬避免折行。對於KMail 1.13.5 (KDE 4.5.4),它會在發送郵件 138 時對編輯器窗口中顯示折行的地方自動換行。在選項菜單中取消自動換行仍不能解決。 139 因此,如果你的補丁中有非常長的行,必須在發送之前把編輯器窗口拉得非常寬。 140 參見:https://bugs.kde.org/show_bug.cgi?id=174034 141 142 你可以安全地用GPG簽名附件,但是內嵌補丁最好不要使用GPG簽名它們。作爲內嵌文本 143 插入的簽名補丁將使其難以從7-bit編碼中提取。 144 145 如果你非要以附件的形式發送補丁,那麼就右鍵點擊附件,然後選擇 146 :menuselection:`屬性` ,打開 :menuselection:`建議自動顯示` ,使附件內聯更容 147 易讓讀者看到。 148 149 當你要保存將要發送的內嵌文本補丁,你可以從消息列表窗格選擇包含補丁的郵件,然 150 後右鍵選擇 :menuselection:`另存爲` 。如果整個電子郵件的組成正確,您可直接將 151 其作爲補丁使用。電子郵件以當前用戶可讀寫權限保存,因此您必須 ``chmod`` ,以 152 使其在複製到別處時用戶組和其他人可讀。 153 154 Lotus Notes (GUI) 155 ***************** 156 157 不要使用它。 158 159 IBM Verse (Web GUI) 160 ******************* 161 162 同上條。 163 164 Mutt (TUI) 165 ********** 166 167 很多Linux開發人員使用mutt客戶端,這證明它肯定工作得非常漂亮。 168 169 Mutt不自帶編輯器,所以不管你使用什麼編輯器,不自動斷行就行。大多數編輯器都有 170 :menuselection:`插入文件` 選項,它可以在不改變文件內容的情況下插入文件。 171 172 用 ``vim`` 作爲mutt的編輯器:: 173 174 set editor="vi" 175 176 如果使用xclip,敲入以下命令:: 177 178 :set paste 179 180 然後再按中鍵或者shift-insert或者使用:: 181 182 :r filename 183 184 把補丁插入爲內嵌文本。 185 在未設置 ``set paste`` 時(a)ttach工作的很好。 186 187 你可以通過 ``git format-patch`` 生成補丁,然後用 Mutt發送它們:: 188 189 $ mutt -H 0001-some-bug-fix.patch 190 191 配置選項: 192 193 它應該以默認設置的形式工作。 194 然而,把 ``send_charset`` 設置一下也是一個不錯的主意:: 195 196 set send_charset="us-ascii:utf-8" 197 198 Mutt 是高度可配置的。 這裏是個使用mutt通過 Gmail 發送的補丁的最小配置:: 199 200 # .muttrc 201 # ================ IMAP ==================== 202 set imap_user = 'yourusername@gmail.com' 203 set imap_pass = 'yourpassword' 204 set spoolfile = imaps://imap.gmail.com/INBOX 205 set folder = imaps://imap.gmail.com/ 206 set record="imaps://imap.gmail.com/[Gmail]/Sent Mail" 207 set postponed="imaps://imap.gmail.com/[Gmail]/Drafts" 208 set mbox="imaps://imap.gmail.com/[Gmail]/All Mail" 209 210 # ================ SMTP ==================== 211 set smtp_url = "smtp://username@smtp.gmail.com:587/" 212 set smtp_pass = $imap_pass 213 set ssl_force_tls = yes # Require encrypted connection 214 215 # ================ Composition ==================== 216 set editor = `echo \$EDITOR` 217 set edit_headers = yes # See the headers when editing 218 set charset = UTF-8 # value of $LANG; also fallback for send_charset 219 # Sender, email address, and sign-off line must match 220 unset use_domain # because joe@localhost is just embarrassing 221 set realname = "YOUR NAME" 222 set from = "username@gmail.com" 223 set use_from = yes 224 225 Mutt文檔含有更多信息: 226 227 https://gitlab.com/muttmua/mutt/-/wikis/UseCases/Gmail 228 229 http://www.mutt.org/doc/manual/ 230 231 Pine (TUI) 232 ********** 233 234 Pine過去有一些空格刪減問題,但是這些現在應該都被修復了。 235 236 如果可以,請使用alpine(pine的繼承者)。 237 238 配置選項: 239 240 - 最近的版本需要 ``quell-flowed-text`` 241 - ``no-strip-whitespace-before-send`` 選項也是需要的。 242 243 244 Sylpheed (GUI) 245 ************** 246 247 - 內嵌文本可以很好的工作(或者使用附件)。 248 - 允許使用外部的編輯器。 249 - 收件箱較多時非常慢。 250 - 如果通過non-SSL連接,無法使用TLS SMTP授權。 251 - 撰寫窗口的標尺很有用。 252 - 將地址添加到通訊簿時無法正確理解顯示的名稱。 253 254 Thunderbird (GUI) 255 ***************** 256 257 Thunderbird是Outlook的克隆版本,它很容易損壞文本,但也有一些方法強制修正。 258 259 在完成修改後(包括安裝擴展),您需要重新啓動Thunderbird。 260 261 - 允許使用外部編輯器: 262 263 使用Thunderbird發補丁最簡單的方法是使用擴展來打開您最喜歡的外部編輯器。 264 265 下面是一些能夠做到這一點的擴展樣例。 266 267 - “External Editor Revived” 268 269 https://github.com/Frederick888/external-editor-revived 270 271 https://addons.thunderbird.net/en-GB/thunderbird/addon/external-editor-revived/ 272 273 它需要安裝“本地消息主機(native messaging host)”。 274 參見以下文檔: 275 https://github.com/Frederick888/external-editor-revived/wiki 276 277 - “External Editor” 278 279 https://github.com/exteditor/exteditor 280 281 下載並安裝此擴展,然後打開 :menuselection:`新建消息` 窗口, 用 282 :menuselection:`查看-->工具欄-->自定義...` 給它增加一個按鈕,直接點擊此 283 按鈕即可使用外置編輯器。 284 285 請注意,“External Editor”要求你的編輯器不能fork,換句話說,編輯器必須在 286 關閉前不返回。你可能需要傳遞額外的參數或修改編輯器設置。最值得注意的是, 287 如果您使用的是gvim,那麼您必須將 :menuselection:`external editor` 設置的 288 編輯器字段設置爲 ``/usr/bin/gvim --nofork"`` (假設可執行文件在 289 ``/usr/bin`` ),以傳遞 ``-f`` 參數。如果您正在使用其他編輯器,請閱讀其 290 手冊瞭解如何處理。 291 292 若要修正內部編輯器,請執行以下操作: 293 294 - 修改你的Thunderbird設置,不要使用 ``format=flowed`` ! 295 回到主窗口,按照 296 :menuselection:`主菜單-->首選項-->常規-->配置編輯器...` 297 打開Thunderbird的配置編輯器。 298 299 - 將 ``mailnews.send_plaintext_flowed`` 設爲 ``false`` 300 301 - 將 ``mailnews.wraplength`` 從 ``72`` 改爲 ``0`` 302 303 - 不要寫HTML郵件! 304 回到主窗口,打開 305 :menuselection:`主菜單-->賬戶設置-->你的@郵件.地址-->通訊錄/編寫&地址簿` , 306 關掉 ``以HTML格式編寫消息`` 。 307 308 - 只用純文本格式查看郵件! 309 回到主窗口, :menuselection:`主菜單-->查看-->消息體爲-->純文本` ! 310 311 TkRat (GUI) 312 *********** 313 314 可以使用它。使用"Insert file..."或者外部的編輯器。 315 316 Gmail (Web GUI) 317 *************** 318 319 不要使用它發送補丁。 320 321 Gmail網頁客戶端自動地把製表符轉換爲空格。 322 323 雖然製表符轉換爲空格問題可以被外部編輯器解決,但它同時還會使用回車換行把每行 324 拆分爲78個字符。 325 326 另一個問題是Gmail還會把任何含有非ASCII的字符的消息改用base64編碼,如歐洲人的 327 名字。 328 329
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.