summaryrefslogtreecommitdiffstats
path: root/Documentation/translations/zh_TW/process/email-clients.rst
blob: 55e10d3fc28af9f8abf1457129463958e9c58d2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
.. SPDX-License-Identifier: GPL-2.0-or-later

.. include:: ../disclaimer-zh_TW.rst

.. _tw_email_clients:

:Original: Documentation/process/email-clients.rst

:譯者:
 - 賈威威  Harry Wei <harryxiyou@gmail.com>
 - 時奎亮  Alex Shi <alexs@kernel.org>
 - 吳想成  Wu XiangCheng <bobwxc@email.cn>

:校譯:
 - Yinglin Luan <synmyth@gmail.com>
 - Xiaochen Wang <wangxiaochen0@gmail.com>
 - yaxinsn <yaxinsn@163.com>
 - Hu Haowen <src.res.211@gmail.com>

Linux郵件客戶端配置信息
=======================

Git
---

現在大多數開發人員使用 ``git send-email`` 而不是常規的電子郵件客戶端。這方面
的手冊非常好。在接收端,維護人員使用 ``git am`` 加載補丁。

如果你是 ``git`` 新手,那麼把你的第一個補丁發送給你自己。將其保存爲包含所有
標題的原始文本。運行 ``git am raw_email.txt`` ,然後使用 ``git log`` 查看更
改日誌。如果工作正常,再將補丁發送到相應的郵件列表。


通用配置
--------

Linux內核補丁是通過郵件被提交的,最好把補丁作爲郵件體的內嵌文本。有些維護者
接收附件,但是附件的內容格式應該是"text/plain"。然而,附件一般是不贊成的,
因爲這會使補丁的引用部分在評論過程中變的很困難。

同時也強烈建議在補丁或其他郵件的正文中使用純文本格式。https://useplaintext.email
有助於瞭解如何配置你喜歡的郵件客戶端,並在您還沒有首選的情況下列出一些推薦的
客戶端。

用來發送Linux內核補丁的郵件客戶端在發送補丁時應該處於文本的原始狀態。例如,
他們不能改變或者刪除製表符或者空格,甚至是在每一行的開頭或者結尾。

不要通過"format=flowed"模式發送補丁。這樣會引起不可預期以及有害的斷行。

不要讓你的郵件客戶端進行自動換行。這樣也會破壞你的補丁。

郵件客戶端不能改變文本的字符集編碼方式。要發送的補丁只能是ASCII或者UTF-8編碼
方式,如果你使用UTF-8編碼方式發送郵件,那麼你將會避免一些可能發生的字符集問題。

郵件客戶端應該生成並且保持“References:”或者“In-Reply-To:”郵件頭,這樣郵件會話
就不會中斷。

複製粘帖(或者剪貼粘帖)通常不能用於補丁,因爲製表符會轉換爲空格。使用xclipboard,
xclip或者xcutsel也許可以,但是最好測試一下或者避免使用複製粘帖。

不要在使用PGP/GPG簽名的郵件中包含補丁。這樣會使得很多腳本不能讀取和適用於你的
補丁。(這個問題應該是可以修復的)

在給內核郵件列表發送補丁之前,給自己發送一個補丁是個不錯的主意,保存接收到的
郵件,將補丁用'patch'命令打上,如果成功了,再給內核郵件列表發送。


一些郵件客戶端提示
------------------

這裏給出一些詳細的MUA配置提示,可以用於給Linux內核發送補丁。這些並不意味是
所有的軟件包配置總結。

說明:

- TUI = 以文本爲基礎的用戶接口
- GUI = 圖形界面用戶接口

Alpine (TUI)
************

配置選項:

在 :menuselection:`Sending Preferences` 菜單:

- :menuselection:`Do Not Send Flowed Text` 必須開啓
- :menuselection:`Strip Whitespace Before Sending` 必須關閉

當寫郵件時,光標應該放在補丁會出現的地方,然後按下 :kbd:`CTRL-R` 組合鍵,使指
定的補丁文件嵌入到郵件中。

Claws Mail (GUI)
****************

可以用,有人用它成功地發過補丁。

用 :menuselection:`Message-->Insert File` (:kbd:`CTRL-I`) 或外置編輯器插入補丁。

若要在Claws編輯窗口重修改插入的補丁,需關閉
:menuselection:`Configuration-->Preferences-->Compose-->Wrapping``Auto wrapping`Evolution (GUI)
***************

一些開發者成功的使用它發送補丁。

撰寫郵件時:
從 :menuselection:`格式-->段落樣式-->預格式化` (:kbd:`CTRL-7`)
或工具欄選擇 :menuselection:`預格式化` ;

然後使用:
:menuselection:`插入-->文本文件...` (:kbd:`ALT-N x`) 插入補丁文件。

你還可以 ``diff -Nru old.c new.c | xclip`` ,選擇 :menuselection:`預格式化` ,
然後使用鼠標中鍵進行粘帖。

Kmail (GUI)
***********

一些開發者成功的使用它發送補丁。

默認撰寫設置禁用HTML格式是合適的;不要啓用它。

當書寫一封郵件的時候,在選項下面不要選擇自動換行。唯一的缺點就是你在郵件中輸
入的任何文本都不會被自動換行,因此你必須在發送補丁之前手動換行。最簡單的方法
就是啓用自動換行來書寫郵件,然後把它保存爲草稿。一旦你在草稿中再次打開它,它
已經全部自動換行了,那麼你的郵件雖然沒有選擇自動換行,但是還不會失去已有的自
動換行。

在郵件的底部,插入補丁之前,放上常用的補丁定界符:三個連字符(``---``)。

然後在 :menuselection:`信件` 菜單,選擇 :menuselection:`插入文本文件` ,接
着選取你的補丁文件。還有一個額外的選項,你可以通過它配置你的創建新郵件工具欄,
加上 :menuselection:`插入文本文件` 圖標。

將編輯器窗口拉到足夠寬避免折行。對於KMail 1.13.5 (KDE 4.5.4),它會在發送郵件
時對編輯器窗口中顯示折行的地方自動換行。在選項菜單中取消自動換行仍不能解決。
因此,如果你的補丁中有非常長的行,必須在發送之前把編輯器窗口拉得非常寬。
參見:https://bugs.kde.org/show_bug.cgi?id=174034

你可以安全地用GPG簽名附件,但是內嵌補丁最好不要使用GPG簽名它們。作爲內嵌文本
插入的簽名補丁將使其難以從7-bit編碼中提取。

如果你非要以附件的形式發送補丁,那麼就右鍵點擊附件,然後選擇
:menuselection:`屬性` ,打開 :menuselection:`建議自動顯示` ,使附件內聯更容
易讓讀者看到。

當你要保存將要發送的內嵌文本補丁,你可以從消息列表窗格選擇包含補丁的郵件,然
後右鍵選擇 :menuselection:`另存爲` 。如果整個電子郵件的組成正確,您可直接將
其作爲補丁使用。電子郵件以當前用戶可讀寫權限保存,因此您必須 ``chmod`` ,以
使其在複製到別處時用戶組和其他人可讀。

Lotus Notes (GUI)
*****************

不要使用它。

IBM Verse (Web GUI)
*******************

同上條。

Mutt (TUI)
**********

很多Linux開發人員使用mutt客戶端,這證明它肯定工作得非常漂亮。

Mutt不自帶編輯器,所以不管你使用什麼編輯器,不自動斷行就行。大多數編輯器都有
:menuselection:`插入文件` 選項,它可以在不改變文件內容的情況下插入文件。

用 ``vim`` 作爲mutt的編輯器::

  set editor="vi"

如果使用xclip,敲入以下命令::

  :set paste

然後再按中鍵或者shift-insert或者使用::

  :r filename

把補丁插入爲內嵌文本。
在未設置  ``set paste`` 時(a)ttach工作的很好。

你可以通過 ``git format-patch`` 生成補丁,然後用 Mutt發送它們::

    $ mutt -H 0001-some-bug-fix.patch

配置選項:

它應該以默認設置的形式工作。
然而,把 ``send_charset`` 設置一下也是一個不錯的主意::

  set send_charset="us-ascii:utf-8"

Mutt 是高度可配置的。 這裏是個使用mutt通過 Gmail 發送的補丁的最小配置::

  # .muttrc
  # ================  IMAP ====================
  set imap_user = 'yourusername@gmail.com'
  set imap_pass = 'yourpassword'
  set spoolfile = imaps://imap.gmail.com/INBOX
  set folder = imaps://imap.gmail.com/
  set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"
  set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
  set mbox="imaps://imap.gmail.com/[Gmail]/All Mail"

  # ================  SMTP  ====================
  set smtp_url = "smtp://username@smtp.gmail.com:587/"
  set smtp_pass = $imap_pass
  set ssl_force_tls = yes # Require encrypted connection

  # ================  Composition  ====================
  set editor = `echo \$EDITOR`
  set edit_headers = yes  # See the headers when editing
  set charset = UTF-8     # 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 = "YOUR NAME"
  set from = "username@gmail.com"
  set use_from = yes

Mutt文檔含有更多信息:

    https://gitlab.com/muttmua/mutt/-/wikis/UseCases/Gmail

    http://www.mutt.org/doc/manual/

Pine (TUI)
**********

Pine過去有一些空格刪減問題,但是這些現在應該都被修復了。

如果可以,請使用alpine(pine的繼承者)。

配置選項:

- 最近的版本需要 ``quell-flowed-text``
- ``no-strip-whitespace-before-send`` 選項也是需要的。


Sylpheed (GUI)
**************

- 內嵌文本可以很好的工作(或者使用附件)。
- 允許使用外部的編輯器。
- 收件箱較多時非常慢。
- 如果通過non-SSL連接,無法使用TLS SMTP授權。
- 撰寫窗口的標尺很有用。
- 將地址添加到通訊簿時無法正確理解顯示的名稱。

Thunderbird (GUI)
*****************

Thunderbird是Outlook的克隆版本,它很容易損壞文本,但也有一些方法強制修正。

在完成修改後(包括安裝擴展),您需要重新啓動Thunderbird。

- 允許使用外部編輯器:

  使用Thunderbird發補丁最簡單的方法是使用擴展來打開您最喜歡的外部編輯器。

  下面是一些能夠做到這一點的擴展樣例。

  - “External Editor Revived”

    https://github.com/Frederick888/external-editor-revived

    https://addons.thunderbird.net/en-GB/thunderbird/addon/external-editor-revived/

    它需要安裝“本地消息主機(native messaging host)”。
    參見以下文檔:
    https://github.com/Frederick888/external-editor-revived/wiki

  - “External Editor”

    https://github.com/exteditor/exteditor

    下載並安裝此擴展,然後打開 :menuselection:`新建消息` 窗口, 用
    :menuselection:`查看-->工具欄-->自定義...` 給它增加一個按鈕,直接點擊此
    按鈕即可使用外置編輯器。

    請注意,“External Editor”要求你的編輯器不能fork,換句話說,編輯器必須在
    關閉前不返回。你可能需要傳遞額外的參數或修改編輯器設置。最值得注意的是,
    如果您使用的是gvim,那麼您必須將 :menuselection:`external editor` 設置的
    編輯器字段設置爲 ``/usr/bin/gvim --nofork"`` (假設可執行文件在
    ``/usr/bin`` ),以傳遞 ``-f`` 參數。如果您正在使用其他編輯器,請閱讀其
    手冊瞭解如何處理。

若要修正內部編輯器,請執行以下操作:

- 修改你的Thunderbird設置,不要使用 ``format=flowed`` !
  回到主窗口,按照
  :menuselection:`主菜單-->首選項-->常規-->配置編輯器...`
  打開Thunderbird的配置編輯器。

  -``mailnews.send_plaintext_flowed`` 設爲 ``false``

  -``mailnews.wraplength````72`` 改爲 ``0``

- 不要寫HTML郵件!
  回到主窗口,打開
  :menuselection:`主菜單-->賬戶設置-->你的@郵件.地址-->通訊錄/編寫&地址簿` ,
  關掉 ``以HTML格式編寫消息``- 只用純文本格式查看郵件!
  回到主窗口, :menuselection:`主菜單-->查看-->消息體爲-->純文本`TkRat (GUI)
***********

可以使用它。使用"Insert file..."或者外部的編輯器。

Gmail (Web GUI)
***************

不要使用它發送補丁。

Gmail網頁客戶端自動地把製表符轉換爲空格。

雖然製表符轉換爲空格問題可以被外部編輯器解決,但它同時還會使用回車換行把每行
拆分爲78個字符。

另一個問題是Gmail還會把任何含有非ASCII的字符的消息改用base64編碼,如歐洲人的
名字。