Documentation / git-imap-send.txton commit Merge branch 'rs/copy-array' into maint (90334a8)
   1git-imap-send(1)
   2================
   3
   4NAME
   5----
   6git-imap-send - Send a collection of patches from stdin to an IMAP folder
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git imap-send' [-v] [-q] [--[no-]curl]
  13
  14
  15DESCRIPTION
  16-----------
  17This command uploads a mailbox generated with 'git format-patch'
  18into an IMAP drafts folder.  This allows patches to be sent as
  19other email is when using mail clients that cannot read mailbox
  20files directly. The command also works with any general mailbox
  21in which emails have the fields "From", "Date", and "Subject" in
  22that order.
  23
  24Typical usage is something like:
  25
  26git format-patch --signoff --stdout --attach origin | git imap-send
  27
  28
  29OPTIONS
  30-------
  31
  32-v::
  33--verbose::
  34        Be verbose.
  35
  36-q::
  37--quiet::
  38        Be quiet.
  39
  40--curl::
  41        Use libcurl to communicate with the IMAP server, unless tunneling
  42        into it.  Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND
  43        option set.
  44
  45--no-curl::
  46        Talk to the IMAP server using git's own IMAP routines instead of
  47        using libcurl.  Ignored if Git was built with the NO_OPENSSL option
  48        set.
  49
  50
  51CONFIGURATION
  52-------------
  53
  54To use the tool, imap.folder and either imap.tunnel or imap.host must be set
  55to appropriate values.
  56
  57Variables
  58~~~~~~~~~
  59
  60include::config/imap.txt[]
  61
  62Examples
  63~~~~~~~~
  64
  65Using tunnel mode:
  66
  67..........................
  68[imap]
  69    folder = "INBOX.Drafts"
  70    tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
  71..........................
  72
  73Using direct mode:
  74
  75.........................
  76[imap]
  77    folder = "INBOX.Drafts"
  78    host = imap://imap.example.com
  79    user = bob
  80    pass = p4ssw0rd
  81.........................
  82
  83Using direct mode with SSL:
  84
  85.........................
  86[imap]
  87    folder = "INBOX.Drafts"
  88    host = imaps://imap.example.com
  89    user = bob
  90    pass = p4ssw0rd
  91    port = 123
  92    sslverify = false
  93.........................
  94
  95
  96EXAMPLES
  97--------
  98To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig
  99to specify your account settings:
 100
 101---------
 102[imap]
 103        folder = "[Gmail]/Drafts"
 104        host = imaps://imap.gmail.com
 105        user = user@gmail.com
 106        port = 993
 107        sslverify = false
 108---------
 109
 110You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error
 111that the "Folder doesn't exist".
 112
 113Once the commits are ready to be sent, run the following command:
 114
 115  $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
 116
 117Just make sure to disable line wrapping in the email client (GMail's web
 118interface will wrap lines no matter what, so you need to use a real
 119IMAP client).
 120
 121CAUTION
 122-------
 123It is still your responsibility to make sure that the email message
 124sent by your email program meets the standards of your project.
 125Many projects do not like patches to be attached.  Some mail
 126agents will transform patches (e.g. wrap lines, send them as
 127format=flowed) in ways that make them fail.  You will get angry
 128flames ridiculing you if you don't check this.
 129
 130Thunderbird in particular is known to be problematic.  Thunderbird
 131users may wish to visit this web page for more information:
 132  http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
 133
 134SEE ALSO
 135--------
 136linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)
 137
 138GIT
 139---
 140Part of the linkgit:git[1] suite