]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/git-imap-send.txt
Merge branch 'rs/parse-options-with-keep-unknown-abbrev-fix'
[thirdparty/git.git] / Documentation / git-imap-send.txt
1 git-imap-send(1)
2 ================
3
4 NAME
5 ----
6 git-imap-send - Send a collection of patches from stdin to an IMAP folder
7
8
9 SYNOPSIS
10 --------
11 [verse]
12 'git imap-send' [-v] [-q] [--[no-]curl]
13
14
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.
23
24 Typical usage is something like:
25
26 git format-patch --signoff --stdout --attach origin | git imap-send
27
28
29 OPTIONS
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
51 CONFIGURATION
52 -------------
53
54 To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set
55 to appropriate values.
56
57 include::includes/cmd-config-section-rest.txt[]
58
59 include::config/imap.txt[]
60
61 EXAMPLES
62 --------
63 Using tunnel mode:
64
65 ..........................
66 [imap]
67 folder = "INBOX.Drafts"
68 tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
69 ..........................
70
71 Using direct mode:
72
73 .........................
74 [imap]
75 folder = "INBOX.Drafts"
76 host = imap://imap.example.com
77 user = bob
78 pass = p4ssw0rd
79 .........................
80
81 Using direct mode with SSL:
82
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 .........................
92
93
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.
100
101 Using Gmail's IMAP interface:
102
103 ---------
104 [imap]
105 folder = "[Gmail]/Drafts"
106 host = imaps://imap.gmail.com
107 user = user@gmail.com
108 port = 993
109 ---------
110
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".
114
115 [NOTE]
116 If your Gmail account is set to another language than English, the name of the "Drafts"
117 folder will be localized.
118
119 Once the commits are ready to be sent, run the following command:
120
121 $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
122
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).
126
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.
135
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
139
140 SEE ALSO
141 --------
142 linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)
143
144 GIT
145 ---
146 Part of the linkgit:git[1] suite