| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 1 | Email clients info for Linux | 
 | 2 | ====================================================================== | 
 | 3 |  | 
 | 4 | General Preferences | 
 | 5 | ---------------------------------------------------------------------- | 
 | 6 | Patches for the Linux kernel are submitted via email, preferably as | 
 | 7 | inline text in the body of the email.  Some maintainers accept | 
 | 8 | attachments, but then the attachments should have content-type | 
 | 9 | "text/plain".  However, attachments are generally frowned upon because | 
 | 10 | it makes quoting portions of the patch more difficult in the patch | 
 | 11 | review process. | 
 | 12 |  | 
 | 13 | Email clients that are used for Linux kernel patches should send the | 
 | 14 | patch text untouched.  For example, they should not modify or delete tabs | 
 | 15 | or spaces, even at the beginning or end of lines. | 
 | 16 |  | 
 | 17 | Don't send patches with "format=flowed".  This can cause unexpected | 
 | 18 | and unwanted line breaks. | 
 | 19 |  | 
 | 20 | Don't let your email client do automatic word wrapping for you. | 
 | 21 | This can also corrupt your patch. | 
 | 22 |  | 
 | 23 | Email clients should not modify the character set encoding of the text. | 
 | 24 | Emailed patches should be in ASCII or UTF-8 encoding only. | 
 | 25 | If you configure your email client to send emails with UTF-8 encoding, | 
 | 26 | you avoid some possible charset problems. | 
 | 27 |  | 
 | 28 | Email clients should generate and maintain References: or In-Reply-To: | 
 | 29 | headers so that mail threading is not broken. | 
 | 30 |  | 
 | 31 | Copy-and-paste (or cut-and-paste) usually does not work for patches | 
 | 32 | because tabs are converted to spaces.  Using xclipboard, xclip, and/or | 
 | 33 | xcutsel may work, but it's best to test this for yourself or just avoid | 
 | 34 | copy-and-paste. | 
 | 35 |  | 
 | 36 | Don't use PGP/GPG signatures in mail that contains patches. | 
 | 37 | This breaks many scripts that read and apply the patches. | 
 | 38 | (This should be fixable.) | 
 | 39 |  | 
 | 40 | It's a good idea to send a patch to yourself, save the received message, | 
 | 41 | and successfully apply it with 'patch' before sending patches to Linux | 
 | 42 | mailing lists. | 
 | 43 |  | 
 | 44 |  | 
 | 45 | Some email client (MUA) hints | 
 | 46 | ---------------------------------------------------------------------- | 
 | 47 | Here are some specific MUA configuration hints for editing and sending | 
 | 48 | patches for the Linux kernel.  These are not meant to be complete | 
 | 49 | software package configuration summaries. | 
 | 50 |  | 
 | 51 | Legend: | 
 | 52 | TUI = text-based user interface | 
 | 53 | GUI = graphical user interface | 
 | 54 |  | 
 | 55 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 56 | Alpine (TUI) | 
 | 57 |  | 
 | 58 | Config options: | 
 | 59 | In the "Sending Preferences" section: | 
 | 60 |  | 
 | 61 | - "Do Not Send Flowed Text" must be enabled | 
 | 62 | - "Strip Whitespace Before Sending" must be disabled | 
 | 63 |  | 
 | 64 | When composing the message, the cursor should be placed where the patch | 
 | 65 | should appear, and then pressing CTRL-R let you specify the patch file | 
 | 66 | to insert into the message. | 
 | 67 |  | 
 | 68 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 69 | Evolution (GUI) | 
 | 70 |  | 
 | 71 | Some people use this successfully for patches. | 
 | 72 |  | 
 | 73 | When composing mail select: Preformat | 
 | 74 |   from Format->Heading->Preformatted (Ctrl-7) | 
 | 75 |   or the toolbar | 
 | 76 |  | 
 | 77 | Then use: | 
 | 78 |   Insert->Text File... (Alt-n x) | 
 | 79 | to insert the patch. | 
 | 80 |  | 
 | 81 | You can also "diff -Nru old.c new.c | xclip", select Preformat, then | 
 | 82 | paste with the middle button. | 
 | 83 |  | 
 | 84 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 85 | Kmail (GUI) | 
 | 86 |  | 
 | 87 | Some people use Kmail successfully for patches. | 
 | 88 |  | 
 | 89 | The default setting of not composing in HTML is appropriate; do not | 
 | 90 | enable it. | 
 | 91 |  | 
 | 92 | When composing an email, under options, uncheck "word wrap". The only | 
 | 93 | disadvantage is any text you type in the email will not be word-wrapped | 
 | 94 | so you will have to manually word wrap text before the patch. The easiest | 
 | 95 | way around this is to compose your email with word wrap enabled, then save | 
 | 96 | it as a draft. Once you pull it up again from your drafts it is now hard | 
 | 97 | word-wrapped and you can uncheck "word wrap" without losing the existing | 
 | 98 | wrapping. | 
 | 99 |  | 
 | 100 | At the bottom of your email, put the commonly-used patch delimiter before | 
 | 101 | inserting your patch:  three hyphens (---). | 
 | 102 |  | 
 | 103 | Then from the "Message" menu item, select insert file and choose your patch. | 
 | 104 | As an added bonus you can customise the message creation toolbar menu | 
 | 105 | and put the "insert file" icon there. | 
 | 106 |  | 
| Lasse Collin | 5d3687d | 2011-01-12 17:00:28 -0800 | [diff] [blame] | 107 | Make the the composer window wide enough so that no lines wrap. As of | 
 | 108 | KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending | 
 | 109 | the email if the lines wrap in the composer window. Having word wrapping | 
 | 110 | disabled in the Options menu isn't enough. Thus, if your patch has very | 
 | 111 | long lines, you must make the composer window very wide before sending | 
 | 112 | the email. See: https://bugs.kde.org/show_bug.cgi?id=174034 | 
 | 113 |  | 
| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 114 | You can safely GPG sign attachments, but inlined text is preferred for | 
 | 115 | patches so do not GPG sign them.  Signing patches that have been inserted | 
 | 116 | as inlined text will make them tricky to extract from their 7-bit encoding. | 
 | 117 |  | 
 | 118 | If you absolutely must send patches as attachments instead of inlining | 
 | 119 | them as text, right click on the attachment and select properties, and | 
 | 120 | highlight "Suggest automatic display" to make the attachment inlined to | 
 | 121 | make it more viewable. | 
 | 122 |  | 
 | 123 | When saving patches that are sent as inlined text, select the email that | 
 | 124 | contains the patch from the message list pane, right click and select | 
 | 125 | "save as".  You can use the whole email unmodified as a patch if it was | 
 | 126 | properly composed.  There is no option currently to save the email when you | 
 | 127 | are actually viewing it in its own window -- there has been a request filed | 
 | 128 | at kmail's bugzilla and hopefully this will be addressed.  Emails are saved | 
 | 129 | as read-write for user only so you will have to chmod them to make them | 
 | 130 | group and world readable if you copy them elsewhere. | 
 | 131 |  | 
 | 132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 133 | Lotus Notes (GUI) | 
 | 134 |  | 
 | 135 | Run away from it. | 
 | 136 |  | 
 | 137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 138 | Mutt (TUI) | 
 | 139 |  | 
 | 140 | Plenty of Linux developers use mutt, so it must work pretty well. | 
 | 141 |  | 
 | 142 | Mutt doesn't come with an editor, so whatever editor you use should be | 
 | 143 | used in a way that there are no automatic linebreaks.  Most editors have | 
 | 144 | an "insert file" option that inserts the contents of a file unaltered. | 
 | 145 |  | 
 | 146 | To use 'vim' with mutt: | 
 | 147 |   set editor="vi" | 
 | 148 |  | 
 | 149 |   If using xclip, type the command | 
 | 150 |   :set paste | 
 | 151 |   before middle button or shift-insert or use | 
 | 152 |   :r filename | 
 | 153 |  | 
 | 154 | if you want to include the patch inline. | 
 | 155 | (a)ttach works fine without "set paste". | 
 | 156 |  | 
 | 157 | Config options: | 
 | 158 | It should work with default settings. | 
 | 159 | However, it's a good idea to set the "send_charset" to: | 
 | 160 |   set send_charset="us-ascii:utf-8" | 
 | 161 |  | 
 | 162 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 163 | Pine (TUI) | 
 | 164 |  | 
 | 165 | Pine has had some whitespace truncation issues in the past, but these | 
 | 166 | should all be fixed now. | 
 | 167 |  | 
 | 168 | Use alpine (pine's successor) if you can. | 
 | 169 |  | 
 | 170 | Config options: | 
 | 171 | - quell-flowed-text is needed for recent versions | 
 | 172 | - the "no-strip-whitespace-before-send" option is needed | 
 | 173 |  | 
 | 174 |  | 
 | 175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 176 | Sylpheed (GUI) | 
 | 177 |  | 
 | 178 | - Works well for inlining text (or using attachments). | 
 | 179 | - Allows use of an external editor. | 
| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 180 | - Is slow on large folders. | 
 | 181 | - Won't do TLS SMTP auth over a non-SSL connection. | 
 | 182 | - Has a helpful ruler bar in the compose window. | 
 | 183 | - Adding addresses to address book doesn't understand the display name | 
 | 184 |   properly. | 
 | 185 |  | 
 | 186 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 187 | Thunderbird (GUI) | 
 | 188 |  | 
| Rob Landley | e0e34e9 | 2011-01-12 17:00:29 -0800 | [diff] [blame] | 189 | Thunderbird is an Outlook clone that likes to mangle text, but there are ways | 
 | 190 | to coerce it into behaving. | 
| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 191 |  | 
 | 192 | - Allows use of an external editor: | 
 | 193 |   The easiest thing to do with Thunderbird and patches is to use an | 
 | 194 |   "external editor" extension and then just use your favorite $EDITOR | 
 | 195 |   for reading/merging patches into the body text.  To do this, download | 
 | 196 |   and install the extension, then add a button for it using | 
 | 197 |   View->Toolbars->Customize... and finally just click on it when in the | 
 | 198 |   Compose dialog. | 
 | 199 |  | 
| Rob Landley | e0e34e9 | 2011-01-12 17:00:29 -0800 | [diff] [blame] | 200 | To beat some sense out of the internal editor, do this: | 
 | 201 |  | 
 | 202 | - Under account settings, composition and addressing, uncheck "Compose | 
 | 203 |   messages in HTML format". | 
 | 204 |  | 
 | 205 | - Edit your Thunderbird config settings so that it won't use format=flowed. | 
 | 206 |   Go to "edit->preferences->advanced->config editor" to bring up the | 
 | 207 |   thunderbird's registry editor, and set "mailnews.send_plaintext_flowed" to | 
 | 208 |   "false". | 
 | 209 |  | 
 | 210 | - Enable "preformat" mode: Shft-click on the Write icon to bring up the HTML | 
 | 211 |   composer, select "Preformat" from the drop-down box just under the subject | 
 | 212 |   line, then close the message without saving.  (This setting also applies to | 
 | 213 |   the text composer, but the only control for it is in the HTML composer.) | 
 | 214 |  | 
 | 215 | - Install the "toggle wordwrap" extension.  Download the file from: | 
 | 216 |     https://addons.mozilla.org/thunderbird/addon/2351/ | 
 | 217 |   Then go to "tools->add ons", select "install" at the bottom of the screen, | 
 | 218 |   and browse to where you saved the .xul file.  This adds an "Enable | 
 | 219 |   Wordwrap" entry under the Options menu of the message composer. | 
 | 220 |  | 
| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 222 | TkRat (GUI) | 
 | 223 |  | 
 | 224 | Works.  Use "Insert file..." or external editor. | 
 | 225 |  | 
| Tim Hockin | 1b6bcdb | 2008-11-06 12:53:33 -0800 | [diff] [blame] | 226 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 227 | Gmail (Web GUI) | 
 | 228 |  | 
| Dave Young | 5ce9f07 | 2010-03-10 15:22:02 -0800 | [diff] [blame] | 229 | Does not work for sending patches. | 
| Tim Hockin | 1b6bcdb | 2008-11-06 12:53:33 -0800 | [diff] [blame] | 230 |  | 
| Dave Young | 5ce9f07 | 2010-03-10 15:22:02 -0800 | [diff] [blame] | 231 | Gmail web client converts tabs to spaces automatically. | 
| Tim Hockin | 1b6bcdb | 2008-11-06 12:53:33 -0800 | [diff] [blame] | 232 |  | 
| Dave Young | 5ce9f07 | 2010-03-10 15:22:02 -0800 | [diff] [blame] | 233 | At the same time it wraps lines every 78 chars with CRLF style line breaks | 
 | 234 | although tab2space problem can be solved with external editor. | 
| Tim Hockin | 1b6bcdb | 2008-11-06 12:53:33 -0800 | [diff] [blame] | 235 |  | 
| Dave Young | 5ce9f07 | 2010-03-10 15:22:02 -0800 | [diff] [blame] | 236 | Another problem is that Gmail will base64-encode any message that has a | 
 | 237 | non-ASCII character. That includes things like European names. | 
| Tim Hockin | 1b6bcdb | 2008-11-06 12:53:33 -0800 | [diff] [blame] | 238 |  | 
| Randy Dunlap | a6cd6bf | 2007-10-16 23:29:49 -0700 | [diff] [blame] | 239 |                                 ### |