| Email clients info for Linux |
| ====================================================================== |
| |
| General Preferences |
| ---------------------------------------------------------------------- |
| Patches for the Linux kernel are submitted via email, preferably as |
| inline text in the body of the email. Some maintainers accept |
| attachments, but then the attachments should have content-type |
| "text/plain". However, attachments are generally frowned upon because |
| it makes quoting portions of the patch more difficult in the patch |
| review process. |
| |
| Email clients that are used for Linux kernel patches should send the |
| patch text untouched. For example, they should not modify or delete tabs |
| or spaces, even at the beginning or end of lines. |
| |
| Don't send patches with "format=flowed". This can cause unexpected |
| and unwanted line breaks. |
| |
| Don't let your email client do automatic word wrapping for you. |
| This can also corrupt your patch. |
| |
| Email clients should not modify the character set encoding of the text. |
| Emailed patches should be in ASCII or UTF-8 encoding only. |
| If you configure your email client to send emails with UTF-8 encoding, |
| you avoid some possible charset problems. |
| |
| Email clients should generate and maintain References: or In-Reply-To: |
| headers so that mail threading is not broken. |
| |
| Copy-and-paste (or cut-and-paste) usually does not work for patches |
| because tabs are converted to spaces. Using xclipboard, xclip, and/or |
| xcutsel may work, but it's best to test this for yourself or just avoid |
| copy-and-paste. |
| |
| Don't use PGP/GPG signatures in mail that contains patches. |
| This breaks many scripts that read and apply the patches. |
| (This should be fixable.) |
| |
| It's a good idea to send a patch to yourself, save the received message, |
| and successfully apply it with 'patch' before sending patches to Linux |
| mailing lists. |
| |
| |
| Some email client (MUA) hints |
| ---------------------------------------------------------------------- |
| Here are some specific MUA configuration hints for editing and sending |
| patches for the Linux kernel. These are not meant to be complete |
| software package configuration summaries. |
| |
| Legend: |
| TUI = text-based user interface |
| GUI = graphical user interface |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Alpine (TUI) |
| |
| Config options: |
| In the "Sending Preferences" section: |
| |
| - "Do Not Send Flowed Text" must be enabled |
| - "Strip Whitespace Before Sending" must be disabled |
| |
| When composing the message, the cursor should be placed where the patch |
| should appear, and then pressing CTRL-R let you specify the patch file |
| to insert into the message. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Evolution (GUI) |
| |
| Some people use this successfully for patches. |
| |
| When composing mail select: Preformat |
| from Format->Heading->Preformatted (Ctrl-7) |
| or the toolbar |
| |
| Then use: |
| Insert->Text File... (Alt-n x) |
| to insert the patch. |
| |
| You can also "diff -Nru old.c new.c | xclip", select Preformat, then |
| paste with the middle button. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Kmail (GUI) |
| |
| Some people use Kmail successfully for patches. |
| |
| The default setting of not composing in HTML is appropriate; do not |
| enable it. |
| |
| When composing an email, under options, uncheck "word wrap". The only |
| disadvantage is any text you type in the email will not be word-wrapped |
| so you will have to manually word wrap text before the patch. The easiest |
| way around this is to compose your email with word wrap enabled, then save |
| it as a draft. Once you pull it up again from your drafts it is now hard |
| word-wrapped and you can uncheck "word wrap" without losing the existing |
| wrapping. |
| |
| At the bottom of your email, put the commonly-used patch delimiter before |
| inserting your patch: three hyphens (---). |
| |
| Then from the "Message" menu item, select insert file and choose your patch. |
| As an added bonus you can customise the message creation toolbar menu |
| and put the "insert file" icon there. |
| |
| Make the composer window wide enough so that no lines wrap. As of |
| KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending |
| the email if the lines wrap in the composer window. Having word wrapping |
| disabled in the Options menu isn't enough. Thus, if your patch has very |
| long lines, you must make the composer window very wide before sending |
| the email. See: https://bugs.kde.org/show_bug.cgi?id=174034 |
| |
| You can safely GPG sign attachments, but inlined text is preferred for |
| patches so do not GPG sign them. Signing patches that have been inserted |
| as inlined text will make them tricky to extract from their 7-bit encoding. |
| |
| If you absolutely must send patches as attachments instead of inlining |
| them as text, right click on the attachment and select properties, and |
| highlight "Suggest automatic display" to make the attachment inlined to |
| make it more viewable. |
| |
| When saving patches that are sent as inlined text, select the email that |
| contains the patch from the message list pane, right click and select |
| "save as". You can use the whole email unmodified as a patch if it was |
| properly composed. There is no option currently to save the email when you |
| are actually viewing it in its own window -- there has been a request filed |
| at kmail's bugzilla and hopefully this will be addressed. Emails are saved |
| as read-write for user only so you will have to chmod them to make them |
| group and world readable if you copy them elsewhere. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Lotus Notes (GUI) |
| |
| Run away from it. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Mutt (TUI) |
| |
| Plenty of Linux developers use mutt, so it must work pretty well. |
| |
| Mutt doesn't come with an editor, so whatever editor you use should be |
| used in a way that there are no automatic linebreaks. Most editors have |
| an "insert file" option that inserts the contents of a file unaltered. |
| |
| To use 'vim' with mutt: |
| set editor="vi" |
| |
| If using xclip, type the command |
| :set paste |
| before middle button or shift-insert or use |
| :r filename |
| |
| if you want to include the patch inline. |
| (a)ttach works fine without "set paste". |
| |
| Config options: |
| It should work with default settings. |
| However, it's a good idea to set the "send_charset" to: |
| set send_charset="us-ascii:utf-8" |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Pine (TUI) |
| |
| Pine has had some whitespace truncation issues in the past, but these |
| should all be fixed now. |
| |
| Use alpine (pine's successor) if you can. |
| |
| Config options: |
| - quell-flowed-text is needed for recent versions |
| - the "no-strip-whitespace-before-send" option is needed |
| |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Sylpheed (GUI) |
| |
| - Works well for inlining text (or using attachments). |
| - Allows use of an external editor. |
| - Is slow on large folders. |
| - Won't do TLS SMTP auth over a non-SSL connection. |
| - Has a helpful ruler bar in the compose window. |
| - Adding addresses to address book doesn't understand the display name |
| properly. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Thunderbird (GUI) |
| |
| Thunderbird is an Outlook clone that likes to mangle text, but there are ways |
| to coerce it into behaving. |
| |
| - Allows use of an external editor: |
| The easiest thing to do with Thunderbird and patches is to use an |
| "external editor" extension and then just use your favorite $EDITOR |
| for reading/merging patches into the body text. To do this, download |
| and install the extension, then add a button for it using |
| View->Toolbars->Customize... and finally just click on it when in the |
| Compose dialog. |
| |
| To beat some sense out of the internal editor, do this: |
| |
| - Edit your Thunderbird config settings so that it won't use format=flowed. |
| Go to "edit->preferences->advanced->config editor" to bring up the |
| thunderbird's registry editor. |
| |
| - Set "mailnews.send_plaintext_flowed" to "false" |
| |
| - Set "mailnews.wraplength" from "72" to "0" |
| |
| - "View" > "Message Body As" > "Plain Text" |
| |
| - "View" > "Character Encoding" > "Unicode (UTF-8)" |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| TkRat (GUI) |
| |
| Works. Use "Insert file..." or external editor. |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Gmail (Web GUI) |
| |
| Does not work for sending patches. |
| |
| Gmail web client converts tabs to spaces automatically. |
| |
| At the same time it wraps lines every 78 chars with CRLF style line breaks |
| although tab2space problem can be solved with external editor. |
| |
| Another problem is that Gmail will base64-encode any message that has a |
| non-ASCII character. That includes things like European names. |
| |
| ### |