← Documents Documentation/translations/it_IT/process/email-clients.rst GitHub 원문 ↗

Linux 6.18.37 · Translations

Linux용 email client 안내

Kernel patch를 손상 없이 전송하도록 git send-email과 여러 GUI·TUI mail client의 설정 방법을 정리합니다.

Source pathDocumentation/translations/it_IT/process/email-clients.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

email-clients.rst:1-376

Kernel patch email은 tab, 공백, 줄바꿈과 character encoding을 그대로 유지해야 하므로 inline plain text와 `git send-email`이 가장 안정적입니다. 전송 전에는 자신에게 보낸 raw message를 `git am`으로 적용해 결과를 확인합니다.

Alpine, Claws Mail, Evolution, KMail, Mutt, Pine, Sylpheed, Thunderbird, TkRat, Gmail Web과 HacKerMaiL별로 flowed text, automatic wrapping, HTML, external editor와 charset 관련 주의점을 제공합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. include:: ../disclaimer-ita.rst
2
3 :Original: :doc:`../../../process/email-clients`
4 :Translator: Alessia Mantegazza <amantegazza@vaga.pv.it>
5
6 .. _it_email_clients:
7
8 Informazioni sui programmi di posta elettronica per Linux
9 =========================================================
10
11 Git
12 ---
13
14 Oggigiorno, la maggior parte degli sviluppatori utilizza ``git send-email``
15 al posto dei classici programmi di posta elettronica. Le pagine man sono
16 abbastanza buone. Dal lato del ricevente, i manutentori utilizzano ``git am``
17 per applicare le patch.
18
19 Se siete dei novelli utilizzatori di ``git`` allora inviate la patch a voi
20 stessi. Salvatela come testo includendo tutte le intestazioni. Poi eseguite
21 il comando ``git am messaggio-formato-testo.txt`` e revisionatene il risultato
22 con ``git log``. Quando tutto funziona correttamente, allora potete inviare
23 la patch alla lista di discussione più appropriata.
24
25 Panoramica delle opzioni
26 ------------------------
27
28 Le patch per il kernel vengono inviate per posta elettronica, preferibilmente
29 come testo integrante del messaggio. Alcuni manutentori accettano gli
30 allegati, ma in questo caso gli allegati devono avere il *content-type*
31 impostato come ``text/plain``. Tuttavia, generalmente gli allegati non sono
32 ben apprezzati perché rende più difficile citare porzioni di patch durante il
33 processo di revisione.
34
35 Inoltre, è vivamente raccomandato l'uso di puro testo nel corpo del
36 messaggio, sia per la patch che per qualsiasi altro messaggio. Il sito
37 https://useplaintext.email/ può esservi d'aiuto per configurare il
38 vostro programma di posta elettronica.
39
40 I programmi di posta elettronica che vengono usati per inviare le patch per il
41 kernel Linux dovrebbero inviarle senza alterazioni. Per esempio, non
42 dovrebbero modificare o rimuovere tabulazioni o spazi, nemmeno all'inizio o
43 alla fine delle righe.
44
45 Non inviate patch con ``format=flowed``. Questo potrebbe introdurre
46 interruzioni di riga inaspettate e indesiderate.
47
48 Non lasciate che il vostro programma di posta vada a capo automaticamente.
49 Questo può corrompere le patch.
50
51 I programmi di posta non dovrebbero modificare la codifica dei caratteri nel
52 testo. Le patch inviate per posta elettronica dovrebbero essere codificate in
53 ASCII o UTF-8.
54 Se configurate il vostro programma per inviare messaggi codificati con UTF-8
55 eviterete possibili problemi di codifica.
56
57 I programmi di posta dovrebbero generare e mantenere le intestazioni
58 "References" o "In-Reply-To:" cosicché la discussione non venga interrotta.
59
60 Di solito, il copia-e-incolla (o taglia-e-incolla) non funziona con le patch
61 perché le tabulazioni vengono convertite in spazi. Usando xclipboard, xclip
62 e/o xcutsel potrebbe funzionare, ma è meglio che lo verifichiate o meglio
63 ancora: non usate il copia-e-incolla.
64
65 Non usate firme PGP/GPG nei messaggi che contengono delle patch. Questo
66 impedisce il corretto funzionamento di alcuni script per leggere o applicare
67 patch (questo si dovrebbe poter correggere).
68
69 Prima di inviare le patch sulle liste di discussione Linux, può essere una
70 buona idea quella di inviare la patch a voi stessi, salvare il messaggio
71 ricevuto, e applicarlo ai sorgenti con successo.
72
73
74 Alcuni suggerimenti per i programmi di posta elettronica (MUA)
75 --------------------------------------------------------------
76
77 Qui troverete alcuni suggerimenti per configurare i vostri MUA allo scopo
78 di modificare ed inviare patch per il kernel Linux. Tuttavia, questi
79 suggerimenti non sono da considerarsi come un riassunto di una configurazione
80 completa.
81
82 Legenda:
83
84 - TUI = interfaccia utente testuale (*text-based user interface*)
85 - GUI = interfaccia utente grafica (*graphical user interface*)
86
87 Alpine (TUI)
88 ************
89
90 Opzioni per la configurazione:
91
92 Nella sezione :menuselection:`Sending Preferences`:
93
94 - :menuselection:`Do Not Send Flowed Text` deve essere ``enabled``
95 - :menuselection:`Strip Whitespace Before Sending` deve essere ``disabled``
96
97 Quando state scrivendo un messaggio, il cursore dev'essere posizionato
98 dove volete che la patch inizi, poi premendo `CTRL-R` vi verrà chiesto
99 di selezionare il file patch da inserire nel messaggio.
100
101 Claws Mail (GUI)
102 ****************
103
104 Funziona. Alcune persone riescono ad usarlo con successo per inviare le patch.
105
106 Per inserire una patch usate :menuselection:`Messaggio-->Inserisci file`
107 (`CTRL-I`) oppure un editor esterno.
108
109 Se la patch che avete inserito dev'essere modificata usando la finestra di
110 scrittura di Claws, allora assicuratevi che l'"auto-interruzione" sia
111 disabilitata :menuselection:`Configurazione-->Preferenze-->Composizione-->Interruzione riga`.
112
113 Evolution (GUI)
114 ***************
115
116 Alcune persone riescono ad usarlo con successo per inviare le patch.
117
118 Quando state scrivendo una lettera selezionate: Preformattato
119 da :menuselection:`Formato-->Stile del paragrafo-->Preformattato`
120 (`CTRL-7`) o dalla barra degli strumenti
121
122 Poi per inserire la patch usate:
123 :menuselection:`Inserisci--> File di testo...` (`ALT-N x`)
124
125 Potete anche eseguire ``diff -Nru old.c new.c | xclip``, selezionare
126 :menuselection:`Preformattato`, e poi usare il tasto centrale del mouse.
127
128 Kmail (GUI)
129 ***********
130
131 Alcune persone riescono ad usarlo con successo per inviare le patch.
132
133 La configurazione base che disabilita la composizione di messaggi HTML è
134 corretta; non abilitatela.
135
136 Quando state scrivendo un messaggio, nel menu opzioni, togliete la selezione a
137 "A capo automatico". L'unico svantaggio sarà che qualsiasi altra cosa scriviate
138 nel messaggio non verrà mandata a capo in automatico ma dovrete farlo voi.
139 Il modo più semplice per ovviare a questo problema è quello di scrivere il
140 messaggio con l'opzione abilitata e poi di salvarlo nelle bozze. Riaprendo ora
141 il messaggio dalle bozze le andate a capo saranno parte integrante del
142 messaggio, per cui togliendo l'opzione "A capo automatico" non perderete nulla.
143
144 Alla fine del vostro messaggio, appena prima di inserire la vostra patch,
145 aggiungete il delimitatore di patch: tre trattini (``---``).
146
147 Ora, dal menu :menuselection:`Messaggio`, selezionate :menuselection:`Inserisci file di testo...`
148 quindi scegliete la vostra patch.
149 Come soluzione aggiuntiva potreste personalizzare la vostra barra degli
150 strumenti aggiungendo un'icona per :menuselection:`Inserisci file di testo...`.
151
152 Allargate la finestra di scrittura abbastanza da evitare andate a capo.
153 Questo perché in Kmail 1.13.5 (KDE 4.5.4), Kmail aggiunge andate a capo
154 automaticamente al momento dell'invio per tutte quelle righe che graficamente,
155 nella vostra finestra di composizione, si sono estete su una riga successiva.
156 Disabilitare l'andata a capo automatica non è sufficiente. Dunque, se la vostra
157 patch contiene delle righe molto lunghe, allora dovrete allargare la finestra
158 di composizione per evitare che quelle righe vadano a capo. Vedere:
159 https://bugs.kde.org/show_bug.cgi?id=174034
160
161 Potete firmare gli allegati con GPG, ma per le patch si preferisce aggiungerle
162 al testo del messaggio per cui non usate la firma GPG. Firmare le patch
163 inserite come testo del messaggio le rende più difficili da estrarre dalla loro
164 codifica a 7-bit.
165
166 Se dovete assolutamente inviare delle patch come allegati invece di integrarle
167 nel testo del messaggio, allora premete il tasto destro sull'allegato e
168 selezionate :menuselection:`Proprietà`, e poi attivate
169 :menuselection:`Suggerisci visualizzazione automatica` per far si che
170 l'allegato sia più leggibile venendo visualizzato come parte del messaggio.
171
172 Per salvare le patch inviate come parte di un messaggio, selezionate il
173 messaggio che la contiene, premete il tasto destro e selezionate
174 :menuselection:`Salva come`. Se il messaggio fu ben preparato, allora potrete
175 usarlo interamente senza alcuna modifica.
176 I messaggi vengono salvati con permessi di lettura-scrittura solo per l'utente,
177 nel caso in cui vogliate copiarli altrove per renderli disponibili ad altri
178 gruppi o al mondo, ricordatevi di usare ``chmod`` per cambiare i permessi.
179
180 Lotus Notes (GUI)
181 *****************
182
183 Scappate finché potete.
184
185 IBM Verse (Web GUI)
186 *******************
187
188 Vedi il commento per Lotus Notes.
189
190 Mutt (TUI)
191 **********
192
193 Un sacco di sviluppatori Linux usano ``mutt``, per cui deve funzionare
194 abbastanza bene.
195
196 Mutt non ha un proprio editor, quindi qualunque sia il vostro editor dovrete
197 configurarlo per non aggiungere automaticamente le andate a capo. Molti
198 editor hanno un'opzione :menuselection:`Inserisci file` che inserisce il
199 contenuto di un file senza alterarlo.
200
201 Per usare ``vim`` come editor per mutt::
202
203 set editor="vi"
204
205 Se per inserire la patch nel messaggio usate xclip, scrivete il comando::
206
207 :set paste
208
209 prima di premere il tasto centrale o shift-insert. Oppure usate il
210 comando::
211
212 :r filename
213
214 (a)llega funziona bene senza ``set paste``
215
216 Potete generare le patch con ``git format-patch`` e usare Mutt per inviarle::
217
218 $ mutt -H 0001-some-bug-fix.patch
219
220 Opzioni per la configurazione:
221
222 Tutto dovrebbe funzionare già nella configurazione base.
223 Tuttavia, è una buona idea quella di impostare ``send_charset``::
224
225 set send_charset="us-ascii:utf-8"
226
227 Mutt è molto personalizzabile. Qui di seguito trovate la configurazione minima
228 per iniziare ad usare Mutt per inviare patch usando Gmail::
229
230 # .muttrc
231 # ================ IMAP ====================
232 set imap_user = 'yourusername@gmail.com'
233 set imap_pass = 'yourpassword'
234 set spoolfile = imaps://imap.gmail.com/INBOX
235 set folder = imaps://imap.gmail.com/
236 set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"
237 set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
238 set mbox="imaps://imap.gmail.com/[Gmail]/All Mail"
239
240 # ================ SMTP ====================
241 set smtp_url = "smtp://username@smtp.gmail.com:587/"
242 set smtp_pass = $imap_pass
243 set ssl_force_tls = yes # Require encrypted connection
244
245 # ================ Composition ====================
246 set editor = `echo \$EDITOR`
247 set edit_headers = yes # See the headers when editing
248 set charset = UTF-8 # value of $LANG; also fallback for send_charset
249 # Sender, email address, and sign-off line must match
250 unset use_domain # because joe@localhost is just embarrassing
251 set realname = "YOUR NAME"
252 set from = "username@gmail.com"
253 set use_from = yes
254
255 La documentazione di Mutt contiene molte più informazioni:
256
257 https://gitlab.com/muttmua/mutt/-/wikis/UseCases/Gmail
258
259 http://www.mutt.org/doc/manual/
260
261 Pine (TUI)
262 **********
263
264 Pine aveva alcuni problemi con gli spazi vuoti, ma questi dovrebbero essere
265 stati risolti.
266
267 Se potete usate alpine (il successore di pine).
268
269 Opzioni di configurazione:
270
271 - Nelle versioni più recenti è necessario avere ``quell-flowed-text``
272 - l'opzione ``no-strip-whitespace-before-send`` è necessaria
273
274 Sylpheed (GUI)
275 **************
276
277 - funziona bene per aggiungere testo in linea (o usando allegati)
278 - permette di utilizzare editor esterni
279 - è lento su cartelle grandi
280 - non farà l'autenticazione TSL SMTP su una connessione non SSL
281 - ha un utile righello nella finestra di scrittura
282 - la rubrica non comprende correttamente il nome da visualizzare e
283 l'indirizzo associato
284
285 Thunderbird (GUI)
286 *****************
287
288 Thunderbird è un clone di Outlook a cui piace maciullare il testo, ma esistono
289 modi per impedirglielo.
290
291 Dopo la configurazione, inclusa l'installazione delle estenzioni, dovrete
292 riavviare Thunderbird.
293
294 - permettere l'uso di editor esterni:
295
296 La cosa più semplice da fare con Thunderbird e le patch è quello di usare
297 estensioni che permettano di aprire il vostro editor preferito.
298
299 Di seguito alcune estensioni che possono essere utili al caso.
300
301 - "External Editor Revived"
302
303 https://github.com/Frederick888/external-editor-revived
304
305 https://addons.thunderbird.net/en-GB/thunderbird/addon/external-editor-revived/
306
307 L'estensione richiede l'installazione di "native messaging host". Date
308 un'occhiata alla seguente wiki:
309 https://github.com/Frederick888/external-editor-revived/wiki
310
311 - "External Editor"
312
313 https://github.com/exteditor/exteditor
314
315 Per usarlo, scaricate ed installate l'applicazione. Poi aprite la finestra
316 :menuselection:`Scrivi` e a seguire aggiungete un bottone per eseguirlo
317 `Visualizza-->Barra degli strumenti-->Personalizza...`. Infine, premente
318 questo nuovo bottone tutte le volte che volete usare l'editor esterno.
319
320 Tenete presente che "external editor" richiede che il vostro editor non
321 faccia alcun fork, in altre parole, l'editor non deve ritornare prima di
322 essere stato chiuso. Potreste dover passare dei parametri aggiuntivi al
323 vostro editor oppure cambiargli la configurazione. Per esempio, usando
324 gvim dovrete aggiungere l'opzione -f ``/usr/bin/gvim -f`` (Se il binario
325 si trova in ``/usr/bin``) nell'apposito campo nell'interfaccia di
326 configurazione di :menuselection:`external editor`. Se usate altri editor
327 consultate il loro manuale per sapere come configurarli.``)``
328
329 Per rendere l'editor interno un po' più sensato, fate così:
330
331 - Modificate le impostazioni di Thunderbird per far si che non usi ``format=flowed``!
332 Andate sulla finestra principale e cercate il bottone per il menu a tendina principale.
333 Poi :menuselection:`Modifica-->Preferenze-->Avanzate-->Editor di configurazione`
334 per invocare il registro delle impostazioni.
335
336 - impostate ``mailnews.send_plaintext_flowed`` a ``false``
337
338 - impostate ``mailnews.wraplength`` da ``72`` a ``0``
339
340 - Non scrivete messaggi HTML! Andate sulla finestra principale ed aprite la
341 schermata :menuselection:`Menu principale-->Impostazioni account-->nome@unserver.ovunque-->Composizioni e indirizzi`.
342 Qui potrete disabilitare l'opzione "Componi i messaggi in HTML"
343
344 - Aprite i messaggi solo in formato testo! Andate sulla finestra principale e
345 selezionate
346 :menuselection:`Menu principale-->Visualizza-->Copro del messaggio come-->Testo semplice`
347
348
349 TkRat (GUI)
350 ***********
351
352 Funziona. Usare "Inserisci file..." o un editor esterno.
353
354 Gmail (Web GUI)
355 ***************
356
357 Non funziona per inviare le patch.
358
359 Il programma web Gmail converte automaticamente i tab in spazi.
360
361 Allo stesso tempo aggiunge andata a capo ogni 78 caratteri. Comunque
362 il problema della conversione fra spazi e tab può essere risolto usando
363 un editor esterno.
364
365 Un altro problema è che Gmail usa la codifica base64 per tutti quei messaggi
366 che contengono caratteri non ASCII. Questo include cose tipo i nomi europei.
367
368 HacKerMaiL (TUI)
369 ****************
370
371 HacKerMaiL (hkml) è una semplice casella pubblica per la gestione dei messaggi
372 di posta che non richiede alcuna sottoscrizione ad una lista di discussione.
373 Viene sviluppato e mantenuto dal manutentore di DAMON e si pone come obiettivo
374 quello di gestire il processo di sviluppo semplice come quello di DAMON e più in
375 generale i sottosistemi del kernel. Per maggiori dettagli, fate riferimento al
376 documento README (https://github.com/sjp38/hackermail/blob/master/README.md).
377

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

git send-email과 수신 patch 검증

1-23

현재 대부분의 개발자는 일반 email client 대신 git send-email을 사용한다. Man page의 설명이 잘 되어 있으며 maintainer는 수신한 patch를 git am으로 적용한다.

git을 처음 쓴다면 첫 patch를 자신에게 보낸다. Header를 포함한 raw text 그대로 저장하고 git am raw_email.txt를 실행한 뒤 git log로 changelog를 검토한다. 이 과정이 성공하면 적절한 mailing list에 patch를 보낸다.

git am raw_email.txt
git log
.. include:: ../disclaimer-ita.rst

:Original: :doc:`../../../process/email-clients`
:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it>

.. _it_email_clients:

Informazioni sui programmi di posta elettronica per Linux
=========================================================

Git
---

Oggigiorno, la maggior parte degli sviluppatori utilizza ``git send-email``
al posto dei classici programmi di posta elettronica.  Le pagine man sono
abbastanza buone. Dal lato del ricevente, i manutentori utilizzano ``git am``
per applicare le patch.

Se siete dei novelli utilizzatori di ``git`` allora inviate la patch a voi
stessi. Salvatela come testo includendo tutte le intestazioni. Poi eseguite
il comando ``git am messaggio-formato-testo.txt`` e revisionatene il risultato
con ``git log``. Quando tutto funziona correttamente, allora potete inviare
la patch alla lista di discussione più appropriata.

Kernel patch email의 공통 원칙

24-71

Linux kernel patch는 email로 제출하며 가능하면 message body의 inline plain text로 보낸다. Attachment를 허용하는 maintainer도 있지만 content-type은 text/plain이어야 한다. Attachment는 review 중 patch 일부를 quote하기 어렵게 하므로 일반적으로 선호하지 않는다.

Patch뿐 아니라 일반 email body도 plain text 사용을 강하게 권장한다. Preferred client 설정과 추천 client 정보는 https://useplaintext.email에서 찾을 수 있다.

  • Client는 patch text를 전혀 바꾸지 않아야 한다. Line 시작과 끝의 tab 또는 space도 수정하거나 삭제하면 안 된다.
  • format=flowed를 사용하지 않는다. 예상하지 못한 line break가 생길 수 있다.
  • Automatic word wrapping을 끈다. Patch가 손상될 수 있다.
  • Character set encoding을 임의로 바꾸지 않는다. Patch email은 ASCII 또는 UTF-8만 사용하며 UTF-8 전송 설정은 charset 문제를 줄인다.
  • Mail thread가 깨지지 않도록 References: 또는 In-Reply-To: header를 생성하고 유지한다.
  • 일반 copy-and-paste는 tab을 space로 바꾸는 경우가 많아 patch에 적합하지 않다. xclipboard, xclip, xcutsel은 동작할 수 있지만 직접 시험하거나 복사를 피하는 편이 낫다.
  • Patch가 든 email에 PGP/GPG signature를 넣지 않는다. Patch를 읽고 적용하는 여러 script가 깨진다.

Mailing list로 보내기 전에 자신에게 patch를 보내고, 수신 message를 저장한 뒤 patch command로 성공적으로 적용되는지 확인하는 것이 좋다.


Panoramica delle opzioni
------------------------

Le patch per il kernel vengono inviate per posta elettronica, preferibilmente
come testo integrante del messaggio.  Alcuni manutentori accettano gli
allegati, ma in questo caso gli allegati devono avere il *content-type*
impostato come ``text/plain``.  Tuttavia, generalmente gli allegati non sono
ben apprezzati perché rende più difficile citare porzioni di patch durante il
processo di revisione.

Inoltre, è vivamente raccomandato l'uso di puro testo nel corpo del
messaggio, sia per la patch che per qualsiasi altro messaggio. Il sito
https://useplaintext.email/ può esservi d'aiuto per configurare il
vostro programma di posta elettronica.

I programmi di posta elettronica che vengono usati per inviare le patch per il
kernel Linux dovrebbero inviarle senza alterazioni.  Per esempio, non
dovrebbero modificare o rimuovere tabulazioni o spazi, nemmeno all'inizio o
alla fine delle righe.

Non inviate patch con ``format=flowed``.  Questo potrebbe introdurre
interruzioni di riga inaspettate e indesiderate.

Non lasciate che il vostro programma di posta vada a capo automaticamente.
Questo può corrompere le patch.

I programmi di posta non dovrebbero modificare la codifica dei caratteri nel
testo.  Le patch inviate per posta elettronica dovrebbero essere codificate in
ASCII o UTF-8.
Se configurate il vostro programma per inviare messaggi codificati con UTF-8
eviterete possibili problemi di codifica.

I programmi di posta dovrebbero generare e mantenere le intestazioni
"References" o "In-Reply-To:" cosicché la discussione non venga interrotta.

Di solito, il copia-e-incolla (o taglia-e-incolla) non funziona con le patch
perché le tabulazioni vengono convertite in spazi.  Usando xclipboard, xclip
e/o xcutsel potrebbe funzionare, ma è meglio che lo verifichiate o meglio
ancora: non usate il copia-e-incolla.

Non usate firme PGP/GPG nei messaggi che contengono delle patch.  Questo
impedisce il corretto funzionamento di alcuni script per leggere o applicare
patch (questo si dovrebbe poter correggere).

Prima di inviare le patch sulle liste di discussione Linux, può essere una
buona idea quella di inviare la patch a voi stessi, salvare il messaggio
ricevuto, e applicarlo ai sorgenti con successo.

MUA 설정 안내의 범위

72-86

이후 내용은 Linux kernel patch를 편집하고 보내기 위한 Mail User Agent(MUA)별 설정 단서다. Software package 전체 설정 안내는 아니다. TUI는 text-based user interface, GUI는 graphical user interface를 뜻한다.



Alcuni suggerimenti per i programmi di posta elettronica (MUA)
--------------------------------------------------------------

Qui troverete alcuni suggerimenti per configurare i vostri MUA allo scopo
di modificare ed inviare patch per il kernel Linux.  Tuttavia, questi
suggerimenti non sono da considerarsi come un riassunto di una configurazione
completa.

Legenda:

- TUI = interfaccia utente testuale (*text-based user interface*)
- GUI = interfaccia utente grafica (*graphical user interface*)

Alpine과 Claws Mail

87-112

Alpine (TUI)

  • Sending Preferences에서 Do Not Send Flowed Text를 enable한다.
  • Strip Whitespace Before Sending을 disable한다.
  • Message 작성 중 patch를 넣을 위치에 cursor를 두고 CTRL-R을 눌러 삽입할 patch file을 지정한다.

Claws Mail (GUI)

Patch 전송에 성공적으로 사용하는 개발자가 있다. Message → Insert File 또는 CTRL-I로 patch를 넣거나 external editor를 사용한다. Claws compose window에서 삽입한 patch를 편집해야 한다면 Configuration → Preferences → Compose → Wrapping의 Auto wrapping을 disable한다.

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

Opzioni per la configurazione:

Nella sezione :menuselection:`Sending Preferences`:

- :menuselection:`Do Not Send Flowed Text` deve essere ``enabled``
- :menuselection:`Strip Whitespace Before Sending` deve essere ``disabled``

Quando state scrivendo un messaggio, il cursore dev'essere posizionato
dove volete che la patch inizi, poi premendo `CTRL-R` vi verrà chiesto
di selezionare il file patch da inserire nel messaggio.

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

Funziona. Alcune persone riescono ad usarlo con successo per inviare le patch.

Per inserire una patch usate :menuselection:`Messaggio-->Inserisci file`
(`CTRL-I`) oppure un editor esterno.

Se la patch che avete inserito dev'essere modificata usando la finestra di
scrittura di Claws, allora assicuratevi che l'"auto-interruzione" sia
disabilitata :menuselection:`Configurazione-->Preferenze-->Composizione-->Interruzione riga`.

Evolution

113-127

Evolution으로 patch를 성공적으로 보내는 개발자가 있다. Mail 작성 시 Format → Paragraph Style → Preformatted 또는 CTRL-7, toolbar에서 Preformat을 선택한다. 그 뒤 Insert → Text File 또는 ALT-N x로 patch를 삽입한다.

또는 diff -Nru old.c new.c | xclip을 실행하고 Preformat을 선택한 뒤 middle button으로 붙여 넣을 수 있다.

diff -Nru old.c new.c | xclip
Evolution (GUI)
***************

Alcune persone riescono ad usarlo con successo per inviare le patch.

Quando state scrivendo una lettera selezionate: Preformattato
  da :menuselection:`Formato-->Stile del paragrafo-->Preformattato`
  (`CTRL-7`) o dalla barra degli strumenti

Poi per inserire la patch usate:
:menuselection:`Inserisci--> File di testo...` (`ALT-N x`)

Potete anche eseguire ``diff -Nru old.c new.c | xclip``, selezionare
:menuselection:`Preformattato`, e poi usare il tasto centrale del mouse.

KMail

128-179

KMail을 patch에 성공적으로 사용하는 개발자가 있다. 기본값인 non-HTML compose가 적합하므로 HTML을 enable하지 않는다.

작성 중 Options에서 word wrap을 끈다. 그러면 patch 앞의 일반 본문도 자동 wrapping되지 않으므로 수동으로 줄을 나눠야 한다. 쉬운 방법은 word wrap을 켜고 본문을 작성하여 draft로 저장한 뒤 다시 열어 hard-wrapped 상태로 만든 다음 word wrap을 끄는 것이다.

Email 아래쪽에 일반적인 patch delimiter인 hyphen 세 개(---)를 넣는다. Message → Insert File에서 patch를 선택한다. Message creation toolbar를 customize하여 Insert File icon을 추가할 수도 있다.

Composer window는 line이 wrap되지 않을 만큼 넓혀야 한다. KMail 1.13.5(KDE 4.5.4) 기준으로 Options에서 word wrapping을 꺼도 composer window에서 line이 접혀 보이면 전송할 때 실제 wrapping을 적용했다. Patch line이 길면 보내기 전에 window를 매우 넓혀야 한다.

Attachment는 안전하게 GPG sign할 수 있지만 patch는 inline text가 선호되므로 inline patch에는 GPG signature를 사용하지 않는다. Inline patch를 sign하면 7-bit encoding에서 추출하기 어려워진다.

반드시 attachment로 보내야 한다면 attachment를 right-click하고 Properties에서 Suggest automatic display를 선택해 inline 표시되도록 한다.

Inline patch를 저장할 때 message list에서 해당 email을 right-click하고 Save As를 선택한다. 올바르게 작성했다면 email 전체를 수정하지 않고 patch로 사용할 수 있다. 저장된 email은 user만 read/write할 수 있으므로 다른 위치로 복사하고 group 또는 world read가 필요하면 chmod를 적용한다.

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

Alcune persone riescono ad usarlo con successo per inviare le patch.

La configurazione base che disabilita la composizione di messaggi HTML è
corretta; non abilitatela.

Quando state scrivendo un messaggio, nel menu opzioni, togliete la selezione a
"A capo automatico". L'unico svantaggio sarà che qualsiasi altra cosa scriviate
nel messaggio non verrà mandata a capo in automatico ma dovrete farlo voi.
Il modo più semplice per ovviare a questo problema è quello di scrivere il
messaggio con l'opzione abilitata e poi di salvarlo nelle bozze. Riaprendo ora
il messaggio dalle bozze le andate a capo saranno parte integrante del
messaggio, per cui togliendo l'opzione "A capo automatico" non perderete nulla.

Alla fine del vostro messaggio, appena prima di inserire la vostra patch,
aggiungete il delimitatore di patch: tre trattini (``---``).

Ora, dal menu :menuselection:`Messaggio`, selezionate :menuselection:`Inserisci file di testo...`
quindi scegliete la vostra patch.
Come soluzione aggiuntiva potreste personalizzare la vostra barra degli
strumenti aggiungendo un'icona per :menuselection:`Inserisci file di testo...`.

Allargate la finestra di scrittura abbastanza da evitare andate a capo.
Questo perché in Kmail 1.13.5 (KDE 4.5.4), Kmail aggiunge andate a capo
automaticamente al momento dell'invio per tutte quelle righe che graficamente,
nella vostra finestra di composizione, si sono estete su una riga successiva.
Disabilitare l'andata a capo automatica non è sufficiente. Dunque, se la vostra
patch contiene delle righe molto lunghe, allora dovrete allargare la finestra
di composizione per evitare che quelle righe vadano a capo. Vedere:
https://bugs.kde.org/show_bug.cgi?id=174034

Potete firmare gli allegati con GPG, ma per le patch si preferisce aggiungerle
al testo del messaggio per cui non usate la firma GPG.  Firmare le patch
inserite come testo del messaggio le rende più difficili da estrarre dalla loro
codifica a 7-bit.

Se dovete assolutamente inviare delle patch come allegati invece di integrarle
nel testo del messaggio, allora premete il tasto destro sull'allegato e
selezionate :menuselection:`Proprietà`, e poi attivate
:menuselection:`Suggerisci visualizzazione automatica` per far si che
l'allegato sia più leggibile venendo visualizzato come parte del messaggio.

Per salvare le patch inviate come parte di un messaggio, selezionate il
messaggio che la contiene, premete il tasto destro e selezionate
:menuselection:`Salva come`. Se il messaggio fu ben preparato, allora potrete
usarlo interamente senza alcuna modifica.
I messaggi vengono salvati con permessi di lettura-scrittura solo per l'utente,
nel caso in cui vogliate copiarli altrove per renderli disponibili ad altri
gruppi o al mondo, ricordatevi di usare ``chmod`` per cambiare i permessi.

Lotus Notes와 IBM Verse

180-189

Lotus Notes에 대한 원문의 조언은 “피하라”는 한 문장이다. IBM Verse(Web GUI)에 대해서도 Lotus Notes와 같다고 적혀 있다.

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

Scappate finché potete.

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

Vedi il commento per Lotus Notes.

Mutt 기본 사용

190-225

많은 Linux 개발자가 mutt를 사용하므로 patch 작업에 잘 맞는다. Mutt에는 editor가 포함되어 있지 않다. 사용하는 editor가 자동 line break를 만들지 않도록 설정해야 하며 대부분의 editor에는 file content를 변경 없이 넣는 Insert File 기능이 있다.

Mutt에서 vim을 사용하려면 다음과 같이 설정한다.

set editor="vi"

xclip을 쓴다면 middle button 또는 Shift-Insert 전에 :set paste를 실행한다. Inline patch를 넣을 때는 :r filename을 사용할 수도 있다. Attachment 기능은 set paste 없이도 정상 동작한다.

:set paste
:r filename

git format-patch로 patch를 만든 뒤 Mutt로 보낼 수도 있다.

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

기본 설정으로도 동작하지만 send_charset은 다음처럼 설정하는 것이 좋다.

set send_charset="us-ascii:utf-8"
Mutt (TUI)
**********

Un sacco di sviluppatori Linux usano ``mutt``, per cui deve funzionare
abbastanza bene.

Mutt non ha un proprio editor, quindi qualunque sia il vostro editor dovrete
configurarlo per non aggiungere automaticamente le andate a capo.  Molti
editor hanno un'opzione :menuselection:`Inserisci file` che inserisce il
contenuto di un file senza alterarlo.

Per usare ``vim`` come editor per mutt::

  set editor="vi"

Se per inserire la patch nel messaggio usate xclip, scrivete il comando::

  :set paste

prima di premere il tasto centrale o shift-insert. Oppure usate il
comando::

  :r filename

(a)llega funziona bene senza ``set paste``

Potete generare le patch con ``git format-patch`` e usare Mutt per inviarle::

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

Opzioni per la configurazione:

Tutto dovrebbe funzionare già nella configurazione base.
Tuttavia, è una buona idea quella di impostare ``send_charset``::

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

Mutt와 Gmail 최소 설정 예

226-260

다음은 Gmail을 통해 patch를 보내기 위한 최소 .muttrc 예제다. 실제 환경에서는 password를 plain text로 저장하는 문제와 현재 Gmail authentication 요구 사항을 별도로 검토해야 한다. 아래 block은 원문 예제를 보존한다.

# .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 # encrypted connection 요구

# ================  Composition  ====================
set editor = `echo \$EDITOR`
set edit_headers = yes  # 편집할 때 header 표시
set charset = UTF-8     # $LANG 값, send_charset fallback
# Sender, email address, sign-off line이 일치해야 함
unset use_domain
set realname = "YOUR NAME"
set from = "username@gmail.com"
set use_from = yes

Mutt è molto personalizzabile. Qui di seguito trovate la configurazione minima
per iniziare ad usare Mutt per inviare patch usando 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

La documentazione di Mutt contiene molte più informazioni:

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

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

Pine과 Sylpheed

261-284

Pine (TUI)

Pine에는 과거 whitespace truncation 문제가 있었지만 현재는 수정된 것으로 본다. 가능하면 successor인 Alpine을 사용한다. 최근 version에는 quell-flowed-text와 no-strip-whitespace-before-send option이 필요하다.

Sylpheed (GUI)

  • Inline text와 attachment 모두 잘 처리한다.
  • External editor를 사용할 수 있다.
  • 큰 folder에서는 느리다.
  • Non-SSL connection 위의 TLS SMTP authentication을 지원하지 않는다.
  • Compose window에 유용한 ruler bar가 있다.
  • Address book에 주소를 추가할 때 display name을 올바르게 이해하지 못한다.
Pine (TUI)
**********

Pine aveva alcuni problemi con gli spazi vuoti, ma questi dovrebbero essere
stati risolti.

Se potete usate alpine (il successore di pine).

Opzioni di configurazione:

- Nelle versioni più recenti è necessario avere ``quell-flowed-text``
- l'opzione ``no-strip-whitespace-before-send`` è necessaria

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

- funziona bene per aggiungere testo in linea (o usando allegati)
- permette di utilizzare editor esterni
- è lento su cartelle grandi
- non farà l'autenticazione TSL SMTP su una connessione non SSL
- ha un utile righello nella finestra di scrittura
- la rubrica non comprende correttamente il nome da visualizzare e
  l'indirizzo associato

Thunderbird와 external editor

285-328

원문은 Thunderbird가 text를 변형하려는 성향이 있지만 설정으로 억제할 수 있다고 설명한다. Extension 설치를 포함한 변경 뒤에는 Thunderbird를 restart해야 한다.

가장 쉬운 방법은 선호하는 external editor를 여는 extension을 사용하는 것이다.

External Editor Revived는 native messaging host 설치가 필요하므로 wiki를 읽는다. External Editor는 extension을 설치한 뒤 compose window의 View → Toolbars → Customize에서 button을 추가해 사용한다.

External Editor에서 실행하는 editor는 fork해서 즉시 return하면 안 되고 window를 닫을 때까지 기다려야 한다. gvim은 external editor 설정의 text editor field에 /usr/bin/gvim --nofork 또는 동등한 -f option을 넣는다. 다른 editor는 manual에서 foreground 실행 방법을 확인한다.

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

Thunderbird è un clone di Outlook a cui piace maciullare il testo, ma esistono
modi per impedirglielo.

Dopo la configurazione, inclusa l'installazione delle estenzioni, dovrete
riavviare Thunderbird.

- permettere l'uso di editor esterni:

  La cosa più semplice da fare con Thunderbird e le patch è quello di usare
  estensioni che permettano di aprire il vostro editor preferito.

  Di seguito alcune estensioni che possono essere utili al caso.

  - "External Editor Revived"

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

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

    L'estensione richiede l'installazione di "native messaging host". Date
    un'occhiata alla seguente wiki:
    https://github.com/Frederick888/external-editor-revived/wiki

  - "External Editor"

    https://github.com/exteditor/exteditor

    Per usarlo, scaricate ed installate l'applicazione. Poi aprite la finestra
    :menuselection:`Scrivi` e a seguire aggiungete un bottone per eseguirlo
    `Visualizza-->Barra degli strumenti-->Personalizza...`. Infine, premente
    questo nuovo bottone tutte le volte che volete usare l'editor esterno.

    Tenete presente che "external editor" richiede che il vostro editor non
    faccia alcun fork, in altre parole, l'editor non deve ritornare prima di
    essere stato chiuso.  Potreste dover passare dei parametri aggiuntivi al
    vostro editor oppure cambiargli la configurazione.  Per esempio, usando
    gvim dovrete aggiungere l'opzione -f ``/usr/bin/gvim -f`` (Se il binario
    si trova in ``/usr/bin``) nell'apposito campo nell'interfaccia di
    configurazione di  :menuselection:`external editor`.  Se usate altri editor
    consultate il loro  manuale per sapere come configurarli.``)``

Thunderbird internal editor 설정

329-348

Internal editor가 format=flowed와 wrapping을 사용하지 않도록 Main Menu → Preferences → General → Config Editor에서 다음 preference를 바꾼다.

mailnews.send_plaintext_flowed = false
mailnews.wraplength = 0

Main Menu → Account Settings → account → Composition & Addressing에서 Compose messages in HTML format을 disable하여 HTML message를 작성하지 않는다. Main Menu → View → Message Body As → Plain Text를 선택하여 message도 plain text로 연다.

Per rendere l'editor interno un po' più sensato, fate così:

- Modificate le impostazioni di Thunderbird per far si che non usi ``format=flowed``!
  Andate sulla finestra principale e cercate il bottone per il menu a tendina principale.
  Poi :menuselection:`Modifica-->Preferenze-->Avanzate-->Editor di configurazione`
  per invocare il registro delle impostazioni.

  - impostate ``mailnews.send_plaintext_flowed`` a ``false``

  - impostate ``mailnews.wraplength`` da ``72`` a ``0``

- Non scrivete messaggi HTML! Andate sulla finestra principale ed aprite la
  schermata :menuselection:`Menu principale-->Impostazioni account-->nome@unserver.ovunque-->Composizioni e indirizzi`.
  Qui potrete disabilitare l'opzione "Componi i messaggi in HTML"

- Aprite i messaggi solo in formato testo! Andate sulla finestra principale e
  selezionate
  :menuselection:`Menu principale-->Visualizza-->Copro del messaggio come-->Testo semplice`

TkRat, Gmail Web, HacKerMaiL

349-376

TkRat (GUI)

정상 동작한다. Insert File 또는 external editor를 사용한다.

Gmail Web GUI

Patch 전송에는 적합하지 않다. Web client가 tab을 자동으로 space로 바꾸며 line을 78 character마다 CRLF로 wrapping한다. External editor로 tab 변환 문제를 해결하더라도 non-ASCII character가 하나라도 있는 message를 base64 encode한다. 유럽권 이름 같은 text도 이에 해당한다.

HacKerMaiL (TUI)

HacKerMaiL(hkml)은 mailing list subscription 없이 사용할 수 있는 public-inbox 기반의 간단한 mail 관리 도구다. DAMON maintainer가 개발하고 관리하며 DAMON 및 일반 kernel subsystem의 단순한 개발 workflow를 지원하는 것이 목표다.

TkRat (GUI)
***********

Funziona. Usare "Inserisci file..." o un editor esterno.

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

Non funziona per inviare le patch.

Il programma web Gmail converte automaticamente i tab in spazi.

Allo stesso tempo aggiunge andata a capo ogni 78 caratteri. Comunque
il problema della conversione fra spazi e tab può essere risolto usando
un editor esterno.

Un altro problema è che Gmail usa la codifica base64 per tutti quei messaggi
che contengono caratteri non ASCII. Questo include cose tipo i nomi europei.

HacKerMaiL (TUI)
****************

HacKerMaiL (hkml) è una semplice casella pubblica per la gestione dei messaggi
di posta che non richiede alcuna sottoscrizione ad una lista di discussione.
Viene sviluppato e mantenuto dal manutentore di DAMON e si pone come obiettivo
quello di gestire il processo di sviluppo semplice come quello di DAMON e più in
generale i sottosistemi del kernel. Per maggiori dettagli, fate riferimento al
documento README (https://github.com/sjp38/hackermail/blob/master/README.md).