1GIT-IMAP-SEND(1) Git Manual GIT-IMAP-SEND(1)
2
3
4
6 git-imap-send - Send a collection of patches from stdin to an IMAP
7 folder
8
10 git imap-send [-v] [-q] [--[no-]curl]
11
12
14 This command uploads a mailbox generated with git format-patch into an
15 IMAP drafts folder. This allows patches to be sent as other email is
16 when using mail clients that cannot read mailbox files directly. The
17 command also works with any general mailbox in which emails have the
18 fields "From", "Date", and "Subject" in that order.
19
20 Typical usage is something like:
21
22 git format-patch --signoff --stdout --attach origin | git imap-send
23
25 -v, --verbose
26 Be verbose.
27
28 -q, --quiet
29 Be quiet.
30
31 --curl
32 Use libcurl to communicate with the IMAP server, unless tunneling
33 into it. Ignored if Git was built without the
34 USE_CURL_FOR_IMAP_SEND option set.
35
36 --no-curl
37 Talk to the IMAP server using git’s own IMAP routines instead of
38 using libcurl. Ignored if Git was built with the NO_OPENSSL option
39 set.
40
42 To use the tool, imap.folder and either imap.tunnel or imap.host must
43 be set to appropriate values.
44
45 Variables
46 imap.folder
47 The folder to drop the mails into, which is typically the Drafts
48 folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
49 "[Gmail]/Drafts". Required.
50
51 imap.tunnel
52 Command used to setup a tunnel to the IMAP server through which
53 commands will be piped instead of using a direct network connection
54 to the server. Required when imap.host is not set.
55
56 imap.host
57 A URL identifying the server. Use an imap:// prefix for non-secure
58 connections and an imaps:// prefix for secure connections. Ignored
59 when imap.tunnel is set, but required otherwise.
60
61 imap.user
62 The username to use when logging in to the server.
63
64 imap.pass
65 The password to use when logging in to the server.
66
67 imap.port
68 An integer port number to connect to on the server. Defaults to 143
69 for imap:// hosts and 993 for imaps:// hosts. Ignored when
70 imap.tunnel is set.
71
72 imap.sslverify
73 A boolean to enable/disable verification of the server certificate
74 used by the SSL/TLS connection. Default is true. Ignored when
75 imap.tunnel is set.
76
77 imap.preformattedHTML
78 A boolean to enable/disable the use of html encoding when sending a
79 patch. An html encoded patch will be bracketed with <pre> and have
80 a content type of text/html. Ironically, enabling this option
81 causes Thunderbird to send the patch as a plain/text, format=fixed
82 email. Default is false.
83
84 imap.authMethod
85 Specify authenticate method for authentication with IMAP server. If
86 Git was built with the NO_CURL option, or if your curl version is
87 older than 7.34.0, or if you’re running git-imap-send with the
88 --no-curl option, the only supported method is CRAM-MD5. If this is
89 not set then git imap-send uses the basic IMAP plaintext LOGIN
90 command.
91
92 Examples
93 Using tunnel mode:
94
95 [imap]
96 folder = "INBOX.Drafts"
97 tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
98
99 Using direct mode:
100
101 [imap]
102 folder = "INBOX.Drafts"
103 host = imap://imap.example.com
104 user = bob
105 pass = p4ssw0rd
106
107 Using direct mode with SSL:
108
109 [imap]
110 folder = "INBOX.Drafts"
111 host = imaps://imap.example.com
112 user = bob
113 pass = p4ssw0rd
114 port = 123
115 sslverify = false
116
118 To submit patches using GMail’s IMAP interface, first, edit your
119 ~/.gitconfig to specify your account settings:
120
121 [imap]
122 folder = "[Gmail]/Drafts"
123 host = imaps://imap.gmail.com
124 user = user@gmail.com
125 port = 993
126 sslverify = false
127
128
129 You might need to instead use: folder = "[Google Mail]/Drafts" if you
130 get an error that the "Folder doesn’t exist".
131
132 Once the commits are ready to be sent, run the following command:
133
134 $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
135
136 Just make sure to disable line wrapping in the email client (GMail’s
137 web interface will wrap lines no matter what, so you need to use a real
138 IMAP client).
139
141 It is still your responsibility to make sure that the email message
142 sent by your email program meets the standards of your project. Many
143 projects do not like patches to be attached. Some mail agents will
144 transform patches (e.g. wrap lines, send them as format=flowed) in ways
145 that make them fail. You will get angry flames ridiculing you if you
146 don’t check this.
147
148 Thunderbird in particular is known to be problematic. Thunderbird users
149 may wish to visit this web page for more information:
150 http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
151
153 git-format-patch(1), git-send-email(1), mbox(5)
154
156 Part of the git(1) suite
157
158
159
160Git 2.24.1 12/10/2019 GIT-IMAP-SEND(1)