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