Sync with 'maint'
[git.git] / Documentation / git-imap-send.txt
blobc8a89d7243bfbd43d68e3922998a378f68eb6c66
1 git-imap-send(1)
2 ================
4 NAME
5 ----
6 git-imap-send - Send a collection of patches from stdin to an IMAP folder
9 SYNOPSIS
10 --------
11 [verse]
12 'git imap-send' [-v] [-q] [--[no-]curl]
15 DESCRIPTION
16 -----------
17 This command uploads a mailbox generated with 'git format-patch'
18 into an IMAP drafts folder.  This allows patches to be sent as
19 other email is when using mail clients that cannot read mailbox
20 files directly. The command also works with any general mailbox
21 in which emails have the fields "From", "Date", and "Subject" in
22 that order.
24 Typical usage is something like:
26 git format-patch --signoff --stdout --attach origin | git imap-send
29 OPTIONS
30 -------
32 -v::
33 --verbose::
34         Be verbose.
36 -q::
37 --quiet::
38         Be quiet.
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.
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.
51 CONFIGURATION
52 -------------
54 To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set
55 to appropriate values.
57 include::includes/cmd-config-section-rest.txt[]
59 include::config/imap.txt[]
61 EXAMPLES
62 --------
63 Using tunnel mode:
65 ..........................
66 [imap]
67     folder = "INBOX.Drafts"
68     tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
69 ..........................
71 Using direct mode:
73 .........................
74 [imap]
75     folder = "INBOX.Drafts"
76     host = imap://imap.example.com
77     user = bob
78     pass = p4ssw0rd
79 .........................
81 Using direct mode with SSL:
83 .........................
84 [imap]
85     folder = "INBOX.Drafts"
86     host = imaps://imap.example.com
87     user = bob
88     pass = p4ssw0rd
89     port = 123
90     ; sslVerify = false
91 .........................
94 [NOTE]
95 You may want to use `sslVerify=false`
96 while troubleshooting, if you suspect that the reason you are
97 having trouble connecting is because the certificate you use at
98 the private server `example.com` you are trying to set up (or
99 have set up) may not be verified correctly.
101 Using Gmail's IMAP interface:
103 ---------
104 [imap]
105         folder = "[Gmail]/Drafts"
106         host = imaps://imap.gmail.com
107         user = user@gmail.com
108         port = 993
109 ---------
111 [NOTE]
112 You might need to instead use: `folder = "[Google Mail]/Drafts"` if you get an error
113 that the "Folder doesn't exist".
115 [NOTE]
116 If your Gmail account is set to another language than English, the name of the "Drafts"
117 folder will be localized.
119 Once the commits are ready to be sent, run the following command:
121   $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
123 Just make sure to disable line wrapping in the email client (Gmail's web
124 interface will wrap lines no matter what, so you need to use a real
125 IMAP client).
127 CAUTION
128 -------
129 It is still your responsibility to make sure that the email message
130 sent by your email program meets the standards of your project.
131 Many projects do not like patches to be attached.  Some mail
132 agents will transform patches (e.g. wrap lines, send them as
133 format=flowed) in ways that make them fail.  You will get angry
134 flames ridiculing you if you don't check this.
136 Thunderbird in particular is known to be problematic.  Thunderbird
137 users may wish to visit this web page for more information:
138   https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
140 SEE ALSO
141 --------
142 linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)
146 Part of the linkgit:git[1] suite