1GIT-SEND-EMAIL(1)                 Git Manual                 GIT-SEND-EMAIL(1)
2
3
4

NAME

6       git-send-email - Send a collection of patches as emails
7

SYNOPSIS

9       git send-email [options] <file|directory|rev-list options>...
10

DESCRIPTION

12       Takes the patches given on the command line and emails them out.
13       Patches can be specified as files, directories (which will send all
14       files in the directory), or directly as a revision list. In the last
15       case, any format accepted by git-format-patch(1) can be passed to git
16       send-email.
17
18       The header of the email is configurable by command line options. If not
19       specified on the command line, the user will be prompted with a
20       ReadLine enabled interface to provide the necessary information.
21
22       There are two formats accepted for patch files:
23
24        1. mbox format files
25
26           This is what git-format-patch(1) generates. Most headers and MIME
27           formatting are ignored.
28
29        2. The original format used by Greg Kroah-Hartman’s
30           send_lots_of_email.pl script
31
32           This format expects the first line of the file to contain the "Cc:"
33           value and the "Subject:" of the message as the second line.
34

OPTIONS

36   Composing
37       --annotate
38           Review and edit each patch you’re about to send. See the
39           CONFIGURATION section for sendemail.multiedit.
40
41       --bcc=<address>
42           Specify a "Bcc:" value for each email. Default is the value of
43           sendemail.bcc.
44
45           The --bcc option must be repeated for each user you want on the bcc
46           list.
47
48       --cc=<address>
49           Specify a starting "Cc:" value for each email. Default is the value
50           of sendemail.cc.
51
52           The --cc option must be repeated for each user you want on the cc
53           list.
54
55       --compose
56           Invoke a text editor (see GIT_EDITOR in git-var(1)) to edit an
57           introductory message for the patch series.
58
59           When --compose is used, git send-email will use the From, Subject,
60           and In-Reply-To headers specified in the message. If the body of
61           the message (what you type after the headers and a blank line) only
62           contains blank (or GIT: prefixed) lines the summary won’t be sent,
63           but From, Subject, and In-Reply-To headers will be used unless they
64           are removed.
65
66           Missing From or In-Reply-To headers will be prompted for.
67
68           See the CONFIGURATION section for sendemail.multiedit.
69
70       --from=<address>
71           Specify the sender of the emails. If not specified on the command
72           line, the value of the sendemail.from configuration option is used.
73           If neither the command line option nor sendemail.from are set, then
74           the user will be prompted for the value. The default for the prompt
75           will be the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if
76           that is not set, as returned by "git var -l".
77
78       --in-reply-to=<identifier>
79           Specify the contents of the first In-Reply-To header. Subsequent
80           emails will refer to the previous email instead of this if
81           --chain-reply-to is set. Only necessary if --compose is also set.
82           If --compose is not set, this will be prompted for.
83
84       --subject=<string>
85           Specify the initial subject of the email thread. Only necessary if
86           --compose is also set. If --compose is not set, this will be
87           prompted for.
88
89       --to=<address>
90           Specify the primary recipient of the emails generated. Generally,
91           this will be the upstream maintainer of the project involved.
92           Default is the value of the sendemail.to configuration value; if
93           that is unspecified, this will be prompted for.
94
95           The --to option must be repeated for each user you want on the to
96           list.
97
98   Sending
99       --envelope-sender=<address>
100           Specify the envelope sender used to send the emails. This is useful
101           if your default address is not the address that is subscribed to a
102           list. In order to use the From address, set the value to "auto". If
103           you use the sendmail binary, you must have suitable privileges for
104           the -f parameter. Default is the value of the
105           sendemail.envelopesender configuration variable; if that is
106           unspecified, choosing the envelope sender is left to your MTA.
107
108       --smtp-encryption=<encryption>
109           Specify the encryption to use, either ssl or tls. Any other value
110           reverts to plain SMTP. Default is the value of
111           sendemail.smtpencryption.
112
113       --smtp-pass[=<password>]
114           Password for SMTP-AUTH. The argument is optional: If no argument is
115           specified, then the empty string is used as the password. Default
116           is the value of sendemail.smtppass, however --smtp-pass always
117           overrides this value.
118
119           Furthermore, passwords need not be specified in configuration files
120           or on the command line. If a username has been specified (with
121           --smtp-user or a sendemail.smtpuser), but no password has been
122           specified (with --smtp-pass or sendemail.smtppass), then the user
123           is prompted for a password while the input is masked for privacy.
124
125       --smtp-server=<host>
126           If set, specifies the outgoing SMTP server to use (e.g.
127           smtp.example.com or a raw IP address). Alternatively it can specify
128           a full pathname of a sendmail-like program instead; the program
129           must support the -i option. Default value can be specified by the
130           sendemail.smtpserver configuration option; the built-in default is
131           /usr/sbin/sendmail or /usr/lib/sendmail if such program is
132           available, or localhost otherwise.
133
134       --smtp-server-port=<port>
135           Specifies a port different from the default port (SMTP servers
136           typically listen to smtp port 25, but may also listen to submission
137           port 587, or the common SSL smtp port 465); symbolic port names
138           (e.g. "submission" instead of 587) are also accepted. The port can
139           also be set with the sendemail.smtpserverport configuration
140           variable.
141
142       --smtp-ssl
143           Legacy alias for --smtp-encryption ssl.
144
145       --smtp-user=<user>
146           Username for SMTP-AUTH. Default is the value of sendemail.smtpuser;
147           if a username is not specified (with --smtp-user or
148           sendemail.smtpuser), then authentication is not attempted.
149
150   Automating
151       --cc-cmd=<command>
152           Specify a command to execute once per patch file which should
153           generate patch file specific "Cc:" entries. Output of this command
154           must be single email address per line. Default is the value of
155           sendemail.cccmd configuration value.
156
157       --[no-]chain-reply-to
158           If this is set, each email will be sent as a reply to the previous
159           email sent. If disabled with "--no-chain-reply-to", all emails
160           after the first will be sent as replies to the first email sent.
161           When using this, it is recommended that the first file given be an
162           overview of the entire patch series. Disabled by default, but the
163           sendemail.chainreplyto configuration variable can be used to enable
164           it.
165
166       --identity=<identity>
167           A configuration identity. When given, causes values in the
168           sendemail.<identity> subsection to take precedence over values in
169           the sendemail section. The default identity is the value of
170           sendemail.identity.
171
172       --[no-]signed-off-by-cc
173           If this is set, add emails found in Signed-off-by: or Cc: lines to
174           the cc list. Default is the value of sendemail.signedoffbycc
175           configuration value; if that is unspecified, default to
176           --signed-off-by-cc.
177
178       --suppress-cc=<category>
179           Specify an additional category of recipients to suppress the
180           auto-cc of:
181
182           ·    author will avoid including the patch author
183
184           ·    self will avoid including the sender
185
186           ·    cc will avoid including anyone mentioned in Cc lines in the
187               patch header except for self (use self for that).
188
189           ·    bodycc will avoid including anyone mentioned in Cc lines in
190               the patch body (commit message) except for self (use self for
191               that).
192
193           ·    sob will avoid including anyone mentioned in Signed-off-by
194               lines except for self (use self for that).
195
196           ·    cccmd will avoid running the --cc-cmd.
197
198           ·    body is equivalent to sob + bodycc
199
200           ·    all will suppress all auto cc values.
201               Default is the value of sendemail.suppresscc configuration
202               value; if that is unspecified, default to self if
203               --suppress-from is specified, as well as body if
204               --no-signed-off-cc is specified.
205
206           --[no-]suppress-from
207               If this is set, do not add the From: address to the cc: list.
208               Default is the value of sendemail.suppressfrom configuration
209               value; if that is unspecified, default to --no-suppress-from.
210
211           --[no-]thread
212               If this is set, the In-Reply-To and References headers will be
213               added to each email sent. Whether each mail refers to the
214               previous email (deep threading per git format-patch wording) or
215               to the first email (shallow threading) is governed by
216               "--[no-]chain-reply-to".
217
218               If disabled with "--no-thread", those headers will not be added
219               (unless specified with --in-reply-to). Default is the value of
220               the sendemail.thread configuration value; if that is
221               unspecified, default to --thread.
222
223               It is up to the user to ensure that no In-Reply-To header
224               already exists when git send-email is asked to add it
225               (especially note that git format-patch can be configured to do
226               the threading itself). Failure to do so may not produce the
227               expected result in the recipient’s MUA.
228
229   Administering
230       --confirm=<mode>
231           Confirm just before sending:
232
233           ·    always will always confirm before sending
234
235           ·    never will never confirm before sending
236
237           ·    cc will confirm before sending when send-email has
238               automatically added addresses from the patch to the Cc list
239
240           ·    compose will confirm before sending the first message when
241               using --compose.
242
243           ·    auto is equivalent to cc + compose
244               Default is the value of sendemail.confirm configuration value;
245               if that is unspecified, default to auto unless any of the
246               suppress options have been specified, in which case default to
247               compose.
248
249           --dry-run
250               Do everything except actually send the emails.
251
252           --[no-]format-patch
253               When an argument may be understood either as a reference or as
254               a file name, choose to understand it as a format-patch argument
255               (--format-patch) or as a file name (--no-format-patch). By
256               default, when such a conflict occurs, git send-email will fail.
257
258           --quiet
259               Make git-send-email less verbose. One line per email should be
260               all that is output.
261
262           --[no-]validate
263               Perform sanity checks on patches. Currently, validation means
264               the following:
265
266               ·   Warn of patches that contain lines longer than 998
267                   characters; this is due to SMTP limits as described by
268                   http://www.ietf.org/rfc/rfc2821.txt.
269                   Default is the value of sendemail.validate; if this is not
270                   set, default to --validate.
271

CONFIGURATION

273       sendemail.aliasesfile
274           To avoid typing long email addresses, point this to one or more
275           email aliases files. You must also supply sendemail.aliasfiletype.
276
277       sendemail.aliasfiletype
278           Format of the file(s) specified in sendemail.aliasesfile. Must be
279           one of mutt, mailrc, pine, elm, or gnus.
280
281       sendemail.multiedit
282           If true (default), a single editor instance will be spawned to edit
283           files you have to edit (patches when --annotate is used, and the
284           summary when --compose is used). If false, files will be edited one
285           after the other, spawning a new editor each time.
286
287       sendemail.confirm
288           Sets the default for whether to confirm before sending. Must be one
289           of always, never, cc, compose, or auto. See --confirm in the
290           previous section for the meaning of these values.
291

AUTHOR

293       Written by Ryan Anderson <ryan@michonline.com[1]>
294
295       git-send-email is originally based upon send_lots_of_email.pl by Greg
296       Kroah-Hartman.
297

DOCUMENTATION

299       Documentation by Ryan Anderson
300

GIT

302       Part of the git(1) suite
303

NOTES

305        1. ryan@michonline.com
306           mailto:ryan@michonline.com
307
308
309
310Git 1.7.1                         08/16/2017                 GIT-SEND-EMAIL(1)
Impressum