| git-imap-send(1) |
| ================ |
| |
| NAME |
| ---- |
| git-imap-send - Send a collection of patches from stdin to an IMAP folder |
| |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'git imap-send' [-v] [-q] [--[no-]curl] |
| |
| |
| DESCRIPTION |
| ----------- |
| This command uploads a mailbox generated with 'git format-patch' |
| into an IMAP drafts folder. This allows patches to be sent as |
| other email is when using mail clients that cannot read mailbox |
| files directly. The command also works with any general mailbox |
| in which emails have the fields "From", "Date", and "Subject" in |
| that order. |
| |
| Typical usage is something like: |
| |
| git format-patch --signoff --stdout --attach origin | git imap-send |
| |
| |
| OPTIONS |
| ------- |
| |
| -v:: |
| --verbose:: |
| Be verbose. |
| |
| -q:: |
| --quiet:: |
| Be quiet. |
| |
| --curl:: |
| Use libcurl to communicate with the IMAP server, unless tunneling |
| into it. Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND |
| option set. |
| |
| --no-curl:: |
| Talk to the IMAP server using git's own IMAP routines instead of |
| using libcurl. Ignored if Git was built with the NO_OPENSSL option |
| set. |
| |
| |
| CONFIGURATION |
| ------------- |
| |
| To use the tool, imap.folder and either imap.tunnel or imap.host must be set |
| to appropriate values. |
| |
| Variables |
| ~~~~~~~~~ |
| |
| imap.folder:: |
| The folder to drop the mails into, which is typically the Drafts |
| folder. For example: "INBOX.Drafts", "INBOX/Drafts" or |
| "[Gmail]/Drafts". Required. |
| |
| imap.tunnel:: |
| Command used to setup a tunnel to the IMAP server through which |
| commands will be piped instead of using a direct network connection |
| to the server. Required when imap.host is not set. |
| |
| imap.host:: |
| A URL identifying the server. Use a `imap://` prefix for non-secure |
| connections and a `imaps://` prefix for secure connections. |
| Ignored when imap.tunnel is set, but required otherwise. |
| |
| imap.user:: |
| The username to use when logging in to the server. |
| |
| imap.pass:: |
| The password to use when logging in to the server. |
| |
| imap.port:: |
| An integer port number to connect to on the server. |
| Defaults to 143 for imap:// hosts and 993 for imaps:// hosts. |
| Ignored when imap.tunnel is set. |
| |
| imap.sslverify:: |
| A boolean to enable/disable verification of the server certificate |
| used by the SSL/TLS connection. Default is `true`. Ignored when |
| imap.tunnel is set. |
| |
| imap.preformattedHTML:: |
| A boolean to enable/disable the use of html encoding when sending |
| a patch. An html encoded patch will be bracketed with <pre> |
| and have a content type of text/html. Ironically, enabling this |
| option causes Thunderbird to send the patch as a plain/text, |
| format=fixed email. Default is `false`. |
| |
| imap.authMethod:: |
| Specify authenticate method for authentication with IMAP server. |
| If Git was built with the NO_CURL option, or if your curl version is older |
| than 7.34.0, or if you're running git-imap-send with the `--no-curl` |
| option, the only supported method is 'CRAM-MD5'. If this is not set |
| then 'git imap-send' uses the basic IMAP plaintext LOGIN command. |
| |
| Examples |
| ~~~~~~~~ |
| |
| Using tunnel mode: |
| |
| .......................... |
| [imap] |
| folder = "INBOX.Drafts" |
| tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null" |
| .......................... |
| |
| Using direct mode: |
| |
| ......................... |
| [imap] |
| folder = "INBOX.Drafts" |
| host = imap://imap.example.com |
| user = bob |
| pass = p4ssw0rd |
| ......................... |
| |
| Using direct mode with SSL: |
| |
| ......................... |
| [imap] |
| folder = "INBOX.Drafts" |
| host = imaps://imap.example.com |
| user = bob |
| pass = p4ssw0rd |
| port = 123 |
| sslverify = false |
| ......................... |
| |
| |
| EXAMPLE |
| ------- |
| To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig |
| to specify your account settings: |
| |
| --------- |
| [imap] |
| folder = "[Gmail]/Drafts" |
| host = imaps://imap.gmail.com |
| user = user@gmail.com |
| port = 993 |
| sslverify = false |
| --------- |
| |
| You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error |
| that the "Folder doesn't exist". |
| |
| Once the commits are ready to be sent, run the following command: |
| |
| $ git format-patch --cover-letter -M --stdout origin/master | git imap-send |
| |
| Just make sure to disable line wrapping in the email client (GMail's web |
| interface will wrap lines no matter what, so you need to use a real |
| IMAP client). |
| |
| CAUTION |
| ------- |
| It is still your responsibility to make sure that the email message |
| sent by your email program meets the standards of your project. |
| Many projects do not like patches to be attached. Some mail |
| agents will transform patches (e.g. wrap lines, send them as |
| format=flowed) in ways that make them fail. You will get angry |
| flames ridiculing you if you don't check this. |
| |
| Thunderbird in particular is known to be problematic. Thunderbird |
| users may wish to visit this web page for more information: |
| http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email |
| |
| SEE ALSO |
| -------- |
| linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5) |
| |
| GIT |
| --- |
| Part of the linkgit:git[1] suite |