blob: bac9014ac71775e5116ad7686af697eb22286ee2 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231git-send-email(1)
2=================
3
4NAME
5----
6git-send-email - Send a collection of patches as emails
7
8
9SYNOPSIS
10--------
Junio C Hamano15567bc2011-07-23 00:51:5911[verse]
Junio C Hamano610d1762008-11-28 06:27:1312'git send-email' [options] <file|directory|rev-list options>...
Junio C Hamanoabb8a052015-12-04 22:43:1113'git send-email' --dump-aliases
Junio C Hamano1a4e8412005-12-27 08:17:2314
15
Junio C Hamano1a4e8412005-12-27 08:17:2316DESCRIPTION
17-----------
18Takes the patches given on the command line and emails them out.
Junio C Hamanob95b43d2009-06-12 08:57:2819Patches can be specified as files, directories (which will send all
20files in the directory), or directly as a revision list. In the
21last case, any format accepted by linkgit:git-format-patch[1] can
22be passed to git send-email.
Junio C Hamano1a4e8412005-12-27 08:17:2323
Junio C Hamanoe1aeb5e2014-06-06 19:16:2924The header of the email is configurable via command-line options. If not
Junio C Hamano1a4e8412005-12-27 08:17:2325specified on the command line, the user will be prompted with a ReadLine
26enabled interface to provide the necessary information.
27
Junio C Hamanoa6455f62009-02-20 08:33:0828There are two formats accepted for patch files:
29
301. mbox format files
31+
32This is what linkgit:git-format-patch[1] generates. Most headers and MIME
33formatting are ignored.
34
352. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl'
36script
37+
38This format expects the first line of the file to contain the "Cc:" value
39and the "Subject:" of the message as the second line.
40
Junio C Hamanoa476efa2008-10-10 15:31:4241
Junio C Hamano1a4e8412005-12-27 08:17:2342OPTIONS
43-------
Junio C Hamanoa476efa2008-10-10 15:31:4244
45Composing
46~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:2347
Junio C Hamano3d141512009-06-01 01:22:4048--annotate::
Junio C Hamanoea3b7522013-04-18 19:37:5349Review and edit each patch you're about to send. Default is the value
Junio C Hamano042f2142016-06-27 18:05:0550of `sendemail.annotate`. See the CONFIGURATION section for
51`sendemail.multiEdit`.
Junio C Hamano3d141512009-06-01 01:22:4052
Junio C Hamanod7ed4042015-08-03 19:43:0053--bcc=<address>,...::
Junio C Hamanoa476efa2008-10-10 15:31:4254Specify a "Bcc:" value for each email. Default is the value of
Junio C Hamano042f2142016-06-27 18:05:0555`sendemail.bcc`.
Junio C Hamanoa3fd83c2007-03-02 10:34:3656+
Junio C Hamanod7ed4042015-08-03 19:43:0057This option may be specified multiple times.
Junio C Hamano97f518c2006-06-22 19:49:3558
Junio C Hamanod7ed4042015-08-03 19:43:0059--cc=<address>,...::
Junio C Hamanoc9154122006-02-15 02:22:0660Specify a starting "Cc:" value for each email.
Junio C Hamano042f2142016-06-27 18:05:0561Default is the value of `sendemail.cc`.
Junio C Hamanoa3fd83c2007-03-02 10:34:3662+
Junio C Hamanod7ed4042015-08-03 19:43:0063This option may be specified multiple times.
Junio C Hamano97f518c2006-06-22 19:49:3564
Junio C Hamano86f75882006-02-06 02:27:2365--compose::
Junio C Hamano3b70d3c2009-11-21 17:37:3766Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])
67to edit an introductory message for the patch series.
Junio C Hamano610d1762008-11-28 06:27:1368+
Junio C Hamano92d80372016-07-13 22:00:0569When `--compose` is used, git send-email will use the From, Subject, and
Junio C Hamanoea82cff2009-03-18 01:54:4870In-Reply-To headers specified in the message. If the body of the message
71(what you type after the headers and a blank line) only contains blank
Junio C Hamanoe1aeb5e2014-06-06 19:16:2972(or Git: prefixed) lines, the summary won't be sent, but From, Subject,
Junio C Hamanoea82cff2009-03-18 01:54:4873and In-Reply-To headers will be used unless they are removed.
Junio C Hamano610d1762008-11-28 06:27:1374+
Junio C Hamanoea82cff2009-03-18 01:54:4875Missing From or In-Reply-To headers will be prompted for.
Junio C Hamano3d141512009-06-01 01:22:4076+
Junio C Hamano042f2142016-06-27 18:05:0577See the CONFIGURATION section for `sendemail.multiEdit`.
Junio C Hamano86f75882006-02-06 02:27:2378
Junio C Hamanob4a9ede2009-04-08 07:36:3279--from=<address>::
Junio C Hamano7ae18252009-05-23 09:53:3280Specify the sender of the emails. If not specified on the command line,
Junio C Hamano042f2142016-06-27 18:05:0581the value of the `sendemail.from` configuration option is used. If
82neither the command-line option nor `sendemail.from` are set, then the
Junio C Hamano7ae18252009-05-23 09:53:3283user will be prompted for the value. The default for the prompt will be
84the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
85set, as returned by "git var -l".
Junio C Hamano86f75882006-02-06 02:27:2386
Junio C Hamanob4a9ede2009-04-08 07:36:3287--in-reply-to=<identifier>::
Junio C Hamano97bcb482010-11-25 03:16:0788Make the first mail (or all the mails with `--no-thread`) appear as a
89reply to the given Message-Id, which avoids breaking threads to
90provide a new patch series.
91The second and subsequent emails will be sent as replies according to
Junio C Hamanocb06ef92017-03-21 22:40:1492the `--[no-]chain-reply-to` setting.
Junio C Hamano97bcb482010-11-25 03:16:0793+
94So for example when `--thread` and `--no-chain-reply-to` are specified, the
95second and subsequent patches will be replies to the first one like in the
96illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:
97+
98 [PATCH 0/2] Here is what I did...
99 [PATCH 1/2] Clean up and tests
100 [PATCH 2/2] Implementation
101 [PATCH v2 0/3] Here is a reroll
102 [PATCH v2 1/3] Clean up
103 [PATCH v2 2/3] New tests
104 [PATCH v2 3/3] Implementation
105+
106Only necessary if --compose is also set. If --compose
107is not set, this will be prompted for.
Junio C Hamano86f75882006-02-06 02:27:23108
Junio C Hamanob4a9ede2009-04-08 07:36:32109--subject=<string>::
Junio C Hamanoa476efa2008-10-10 15:31:42110Specify the initial subject of the email thread.
111Only necessary if --compose is also set. If --compose
112is not set, this will be prompted for.
Junio C Hamanoc9154122006-02-15 02:22:06113
Junio C Hamanod7ed4042015-08-03 19:43:00114--to=<address>,...::
Junio C Hamanoa476efa2008-10-10 15:31:42115Specify the primary recipient of the emails generated. Generally, this
116will be the upstream maintainer of the project involved. Default is the
Junio C Hamano042f2142016-06-27 18:05:05117value of the `sendemail.to` configuration value; if that is unspecified,
Junio C Hamano39c7a692010-10-27 06:08:54118and --to-cmd is not specified, this will be prompted for.
Junio C Hamanoa476efa2008-10-10 15:31:42119+
Junio C Hamanod7ed4042015-08-03 19:43:00120This option may be specified multiple times.
Junio C Hamano86f75882006-02-06 02:27:23121
Junio C Hamano4015aed2010-06-27 20:07:42122--8bit-encoding=<encoding>::
123When encountering a non-ASCII message or subject that does not
124declare its encoding, add headers/quoting to indicate it is
125encoded in <encoding>. Default is the value of the
126'sendemail.assume8bitEncoding'; if that is unspecified, this
127will be prompted for if any non-ASCII files are encountered.
128+
129Note that no attempts whatsoever are made to validate the encoding.
130
Junio C Hamanoa1295452012-11-13 22:32:04131--compose-encoding=<encoding>::
132Specify encoding of compose message. Default is the value of the
133'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed.
134
Junio C Hamano6df93d92014-12-22 22:48:09135--transfer-encoding=(7bit|8bit|quoted-printable|base64)::
136Specify the transfer encoding to be used to send the message over SMTP.
1377bit will fail upon encountering a non-ASCII message. quoted-printable
138can be useful when the repository contains files that contain carriage
139returns, but makes the raw patch email file (as saved from a MUA) much
140harder to inspect manually. base64 is even more fool proof, but also
Junio C Hamano042f2142016-06-27 18:05:05141even more opaque. Default is the value of the `sendemail.transferEncoding`
Junio C Hamano6df93d92014-12-22 22:48:09142configuration value; if that is unspecified, git will use 8bit and not
143add a Content-Transfer-Encoding header.
144
Junio C Hamanoc9394b22015-01-07 22:45:48145--xmailer::
146--no-xmailer::
147Add (or prevent adding) the "X-Mailer:" header. By default,
148the header is added, but it can be turned off by setting the
149`sendemail.xmailer` configuration variable to `false`.
Junio C Hamanoa476efa2008-10-10 15:31:42150
151Sending
152~~~~~~~
153
Junio C Hamanob4a9ede2009-04-08 07:36:32154--envelope-sender=<address>::
Junio C Hamanoa476efa2008-10-10 15:31:42155Specify the envelope sender used to send the emails.
156This is useful if your default address is not the address that is
Junio C Hamano2bd8a742009-12-01 21:16:59157subscribed to a list. In order to use the 'From' address, set the
158value to "auto". If you use the sendmail binary, you must have
159suitable privileges for the -f parameter. Default is the value of the
Junio C Hamano042f2142016-06-27 18:05:05160`sendemail.envelopeSender` configuration variable; if that is
Junio C Hamanoa476efa2008-10-10 15:31:42161unspecified, choosing the envelope sender is left to your MTA.
162
Junio C Hamanob4a9ede2009-04-08 07:36:32163--smtp-encryption=<encryption>::
Junio C Hamanoa476efa2008-10-10 15:31:42164Specify the encryption to use, either 'ssl' or 'tls'. Any other
165value reverts to plain SMTP. Default is the value of
Junio C Hamano042f2142016-06-27 18:05:05166`sendemail.smtpEncryption`.
Junio C Hamanoa476efa2008-10-10 15:31:42167
Junio C Hamanocb39aea2010-05-09 07:24:48168--smtp-domain=<FQDN>::
169Specifies the Fully Qualified Domain Name (FQDN) used in the
170HELO/EHLO command to the SMTP server. Some servers require the
171FQDN to match your IP address. If not set, git send-email attempts
172to determine your FQDN automatically. Default is the value of
Junio C Hamano042f2142016-06-27 18:05:05173`sendemail.smtpDomain`.
Junio C Hamanocb39aea2010-05-09 07:24:48174
Junio C Hamanoa1746be2015-08-26 23:07:07175--smtp-auth=<mechanisms>::
176Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting
177forces using only the listed mechanisms. Example:
178+
179------
180$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
181------
182+
183If at least one of the specified mechanisms matches the ones advertised by the
184SMTP server and if it is supported by the utilized SASL library, the mechanism
Junio C Hamano92d80372016-07-13 22:00:05185is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth`
Junio C Hamanoa1746be2015-08-26 23:07:07186is specified, all mechanisms supported by the SASL library can be used.
187
Junio C Hamanob4a9ede2009-04-08 07:36:32188--smtp-pass[=<password>]::
Junio C Hamanoa476efa2008-10-10 15:31:42189Password for SMTP-AUTH. The argument is optional: If no
190argument is specified, then the empty string is used as
Junio C Hamano042f2142016-06-27 18:05:05191the password. Default is the value of `sendemail.smtpPass`,
Junio C Hamano92d80372016-07-13 22:00:05192however `--smtp-pass` always overrides this value.
Junio C Hamanoa476efa2008-10-10 15:31:42193+
194Furthermore, passwords need not be specified in configuration files
195or on the command line. If a username has been specified (with
Junio C Hamano92d80372016-07-13 22:00:05196`--smtp-user` or a `sendemail.smtpUser`), but no password has been
197specified (with `--smtp-pass` or `sendemail.smtpPass`), then
Junio C Hamano5e7f1312013-03-21 22:49:01198a password is obtained using 'git-credential'.
Junio C Hamano68522892007-09-06 01:33:41199
Junio C Hamanob4a9ede2009-04-08 07:36:32200--smtp-server=<host>::
Junio C Hamanob63afff2007-05-01 03:05:55201If set, specifies the outgoing SMTP server to use (e.g.
202`smtp.example.com` or a raw IP address). Alternatively it can
203specify a full pathname of a sendmail-like program instead;
Junio C Hamanob19b4f02006-10-29 20:47:22204the program must support the `-i` option. Default value can
Junio C Hamano042f2142016-06-27 18:05:05205be specified by the `sendemail.smtpServer` configuration
Junio C Hamanob19b4f02006-10-29 20:47:22206option; the built-in default is `/usr/sbin/sendmail` or
207`/usr/lib/sendmail` if such program is available, or
208`localhost` otherwise.
Junio C Hamano1a4e8412005-12-27 08:17:23209
Junio C Hamanob4a9ede2009-04-08 07:36:32210--smtp-server-port=<port>::
Junio C Hamano4fd58d42007-09-30 00:51:14211Specifies a port different from the default port (SMTP
Junio C Hamanobacccda2009-08-03 08:07:12212servers typically listen to smtp port 25, but may also listen to
213submission port 587, or the common SSL smtp port 465);
214symbolic port names (e.g. "submission" instead of 587)
Junio C Hamano3d141512009-06-01 01:22:40215are also accepted. The port can also be set with the
Junio C Hamano042f2142016-06-27 18:05:05216`sendemail.smtpServerPort` configuration variable.
Junio C Hamanofce7c7e2008-07-02 03:06:38217
Junio C Hamano39c7a692010-10-27 06:08:54218--smtp-server-option=<option>::
219If set, specifies the outgoing SMTP server option to use.
Junio C Hamano042f2142016-06-27 18:05:05220Default value can be specified by the `sendemail.smtpServerOption`
Junio C Hamano39c7a692010-10-27 06:08:54221configuration option.
222+
223The --smtp-server-option option must be repeated for each option you want
224to pass to the server. Likewise, different lines in the configuration files
225must be used for each option.
226
Junio C Hamano68522892007-09-06 01:33:41227--smtp-ssl::
Junio C Hamanoa476efa2008-10-10 15:31:42228Legacy alias for '--smtp-encryption ssl'.
Junio C Hamano68522892007-09-06 01:33:41229
Junio C Hamano58f587a2013-07-22 19:20:59230--smtp-ssl-cert-path::
Junio C Hamanoe8acc8e2015-01-14 22:01:34231Path to a store of trusted CA certificates for SMTP SSL/TLS
232certificate validation (either a directory that has been processed
233by 'c_rehash', or a single file containing one or more PEM format
234certificates concatenated together: see verify(1) -CAfile and
235-CApath for more information on these). Set it to an empty string
236to disable certificate verification. Defaults to the value of the
Junio C Hamano042f2142016-06-27 18:05:05237`sendemail.smtpsslcertpath` configuration variable, if set, or the
Junio C Hamanoe8acc8e2015-01-14 22:01:34238backing SSL library's compiled-in default otherwise (which should
239be the best choice on most platforms).
Junio C Hamano58f587a2013-07-22 19:20:59240
Junio C Hamanob4a9ede2009-04-08 07:36:32241--smtp-user=<user>::
Junio C Hamano042f2142016-06-27 18:05:05242Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`;
Junio C Hamano92d80372016-07-13 22:00:05243if a username is not specified (with `--smtp-user` or `sendemail.smtpUser`),
Junio C Hamanoa476efa2008-10-10 15:31:42244then authentication is not attempted.
Junio C Hamano86f75882006-02-06 02:27:23245
Junio C Hamano6ebd8042012-02-28 00:17:40246--smtp-debug=0|1::
247Enable (1) or disable (0) debug output. If enabled, SMTP
248commands and replies will be printed. Useful to debug TLS
249connection and authentication problems.
Junio C Hamanoa476efa2008-10-10 15:31:42250
Junio C Hamano08a3a232017-07-07 02:28:44251--batch-size=<num>::
252Some email servers (e.g. smtp.163.com) limit the number emails to be
253sent per session (connection) and this will lead to a faliure when
254sending many messages. With this option, send-email will disconnect after
255sending $<num> messages and wait for a few seconds (see --relogin-delay)
256and reconnect, to work around such a limit. You may want to
257use some form of credential helper to avoid having to retype
258your password every time this happens. Defaults to the
259`sendemail.smtpBatchSize` configuration variable.
260
261--relogin-delay=<int>::
262Waiting $<int> seconds before reconnecting to SMTP server. Used together
263with --batch-size option. Defaults to the `sendemail.smtpReloginDelay`
264configuration variable.
265
Junio C Hamanoa476efa2008-10-10 15:31:42266Automating
267~~~~~~~~~~
268
Junio C Hamano39c7a692010-10-27 06:08:54269--to-cmd=<command>::
270Specify a command to execute once per patch file which
271should generate patch file specific "To:" entries.
272Output of this command must be single email address per line.
273Default is the value of 'sendemail.tocmd' configuration value.
274
Junio C Hamanob4a9ede2009-04-08 07:36:32275--cc-cmd=<command>::
Junio C Hamanoa476efa2008-10-10 15:31:42276Specify a command to execute once per patch file which
277should generate patch file specific "Cc:" entries.
278Output of this command must be single email address per line.
Junio C Hamano042f2142016-06-27 18:05:05279Default is the value of `sendemail.ccCmd` configuration value.
Junio C Hamanoa476efa2008-10-10 15:31:42280
Junio C Hamano25e7ba62009-06-14 01:03:22281--[no-]chain-reply-to::
Junio C Hamanoa476efa2008-10-10 15:31:42282If this is set, each email will be sent as a reply to the previous
283email sent. If disabled with "--no-chain-reply-to", all emails after
284the first will be sent as replies to the first email sent. When using
285this, it is recommended that the first file given be an overview of the
Junio C Hamano042f2142016-06-27 18:05:05286entire patch series. Disabled by default, but the `sendemail.chainReplyTo`
Junio C Hamano096dde22009-12-26 23:14:11287configuration variable can be used to enable it.
Junio C Hamanoa476efa2008-10-10 15:31:42288
Junio C Hamanob4a9ede2009-04-08 07:36:32289--identity=<identity>::
Junio C Hamanoa476efa2008-10-10 15:31:42290A configuration identity. When given, causes values in the
291'sendemail.<identity>' subsection to take precedence over
292values in the 'sendemail' section. The default identity is
Junio C Hamano042f2142016-06-27 18:05:05293the value of `sendemail.identity`.
Junio C Hamanoa476efa2008-10-10 15:31:42294
295--[no-]signed-off-by-cc::
296If this is set, add emails found in Signed-off-by: or Cc: lines to the
Junio C Hamano042f2142016-06-27 18:05:05297cc list. Default is the value of `sendemail.signedoffbycc` configuration
Junio C Hamanoa476efa2008-10-10 15:31:42298value; if that is unspecified, default to --signed-off-by-cc.
Junio C Hamanoc9154122006-02-15 02:22:06299
Junio C Hamano45f804f2014-06-20 22:24:49300--[no-]cc-cover::
301If this is set, emails found in Cc: headers in the first patch of
302the series (typically the cover letter) are added to the cc list
303for each email set. Default is the value of 'sendemail.cccover'
304configuration value; if that is unspecified, default to --no-cc-cover.
305
306--[no-]to-cover::
307If this is set, emails found in To: headers in the first patch of
308the series (typically the cover letter) are added to the to list
309for each email set. Default is the value of 'sendemail.tocover'
310configuration value; if that is unspecified, default to --no-to-cover.
311
Junio C Hamanob4a9ede2009-04-08 07:36:32312--suppress-cc=<category>::
Junio C Hamano9c334152008-02-12 03:18:52313Specify an additional category of recipients to suppress the
Junio C Hamano0a235222009-03-06 08:21:09314auto-cc of:
315+
316--
317- 'author' will avoid including the patch author
318- 'self' will avoid including the sender
319- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
320 except for self (use 'self' for that).
Junio C Hamano0e88f3e2009-06-21 08:03:25321- 'bodycc' will avoid including anyone mentioned in Cc lines in the
Junio C Hamano0a235222009-03-06 08:21:09322 patch body (commit message) except for self (use 'self' for that).
323- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
324 for self (use 'self' for that).
325- 'cccmd' will avoid running the --cc-cmd.
Junio C Hamano0e88f3e2009-06-21 08:03:25326- 'body' is equivalent to 'sob' + 'bodycc'
Junio C Hamano0a235222009-03-06 08:21:09327- 'all' will suppress all auto cc values.
328--
329+
Junio C Hamano042f2142016-06-27 18:05:05330Default is the value of `sendemail.suppresscc` configuration value; if
Junio C Hamano0a235222009-03-06 08:21:09331that is unspecified, default to 'self' if --suppress-from is
332specified, as well as 'body' if --no-signed-off-cc is specified.
Junio C Hamano9c334152008-02-12 03:18:52333
Junio C Hamanoa476efa2008-10-10 15:31:42334--[no-]suppress-from::
335If this is set, do not add the From: address to the cc: list.
Junio C Hamano042f2142016-06-27 18:05:05336Default is the value of `sendemail.suppressFrom` configuration
Junio C Hamanoa476efa2008-10-10 15:31:42337value; if that is unspecified, default to --no-suppress-from.
338
339--[no-]thread::
Junio C Hamano1bbd0f42009-07-23 06:20:29340If this is set, the In-Reply-To and References headers will be
341added to each email sent. Whether each mail refers to the
342previous email (`deep` threading per 'git format-patch'
343wording) or to the first email (`shallow` threading) is
344governed by "--[no-]chain-reply-to".
345+
346If disabled with "--no-thread", those headers will not be added
347(unless specified with --in-reply-to). Default is the value of the
Junio C Hamano042f2142016-06-27 18:05:05348`sendemail.thread` configuration value; if that is unspecified,
Junio C Hamano1bbd0f42009-07-23 06:20:29349default to --thread.
350+
351It is up to the user to ensure that no In-Reply-To header already
352exists when 'git send-email' is asked to add it (especially note that
353'git format-patch' can be configured to do the threading itself).
354Failure to do so may not produce the expected result in the
355recipient's MUA.
Junio C Hamanoa476efa2008-10-10 15:31:42356
357
358Administering
359~~~~~~~~~~~~~
Junio C Hamanoddc5ad42007-06-27 07:14:52360
Junio C Hamanob4a9ede2009-04-08 07:36:32361--confirm=<mode>::
Junio C Hamano0a235222009-03-06 08:21:09362Confirm just before sending:
363+
364--
365- 'always' will always confirm before sending
366- 'never' will never confirm before sending
367- 'cc' will confirm before sending when send-email has automatically
368 added addresses from the patch to the Cc list
369- 'compose' will confirm before sending the first message when using --compose.
370- 'auto' is equivalent to 'cc' + 'compose'
371--
372+
Junio C Hamano042f2142016-06-27 18:05:05373Default is the value of `sendemail.confirm` configuration value; if that
Junio C Hamano0a235222009-03-06 08:21:09374is unspecified, default to 'auto' unless any of the suppress options
375have been specified, in which case default to 'compose'.
376
Junio C Hamano45889b42007-04-26 07:20:04377--dry-run::
378Do everything except actually send the emails.
379
Junio C Hamano3d141512009-06-01 01:22:40380--[no-]format-patch::
381When an argument may be understood either as a reference or as a file name,
Junio C Hamano92d80372016-07-13 22:00:05382choose to understand it as a format-patch argument (`--format-patch`)
383or as a file name (`--no-format-patch`). By default, when such a conflict
Junio C Hamano3d141512009-06-01 01:22:40384occurs, git send-email will fail.
385
Junio C Hamanoa476efa2008-10-10 15:31:42386--quiet::
387Make git-send-email less verbose. One line per email should be
388all that is output.
Junio C Hamano45889b42007-04-26 07:20:04389
Junio C Hamanoa476efa2008-10-10 15:31:42390--[no-]validate::
391Perform sanity checks on patches.
392Currently, validation means the following:
Junio C Hamanoa3fd83c2007-03-02 10:34:36393+
Junio C Hamanoa476efa2008-10-10 15:31:42394--
Junio C Hamanod88ba732017-05-30 04:14:20395* Invoke the sendemail-validate hook if present (see linkgit:githooks[5]).
Junio C Hamanoa476efa2008-10-10 15:31:42396* Warn of patches that contain lines longer than 998 characters; this
397is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
398--
399+
Junio C Hamano042f2142016-06-27 18:05:05400Default is the value of `sendemail.validate`; if this is not set,
Junio C Hamano92d80372016-07-13 22:00:05401default to `--validate`.
Junio C Hamano97f518c2006-06-22 19:49:35402
Junio C Hamanocf29d332010-12-11 07:28:56403--force::
404Send emails even if safety checks would prevent it.
405
Junio C Hamano1a4e8412005-12-27 08:17:23406
Junio C Hamanoabb8a052015-12-04 22:43:11407Information
408~~~~~~~~~~~
409
410--dump-aliases::
411Instead of the normal operation, dump the shorthand alias names from
412the configured alias file(s), one per line in alphabetical order. Note,
413this only includes the alias name and not its expanded email addresses.
414See 'sendemail.aliasesfile' for more information about aliases.
415
416
Junio C Hamanoc51fede2007-03-12 07:29:20417CONFIGURATION
418-------------
Junio C Hamano68522892007-09-06 01:33:41419
Junio C Hamano322c6242015-03-23 21:32:46420sendemail.aliasesFile::
Junio C Hamanoc51fede2007-03-12 07:29:20421To avoid typing long email addresses, point this to one or more
Junio C Hamano042f2142016-06-27 18:05:05422email aliases files. You must also supply `sendemail.aliasFileType`.
Junio C Hamanoc51fede2007-03-12 07:29:20423
Junio C Hamano322c6242015-03-23 21:32:46424sendemail.aliasFileType::
425Format of the file(s) specified in sendemail.aliasesFile. Must be
Junio C Hamanoce447ab2015-06-16 22:08:01426one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
427+
428What an alias file in each format looks like can be found in
429the documentation of the email program of the same name. The
430differences and limitations from the standard formats are
431described below:
432+
433--
434sendmail;;
435* Quoted aliases and quoted addresses are not supported: lines that
436contain a `"` symbol are ignored.
Junio C Hamanodf5384b2015-06-24 21:12:12437* Redirection to a file (`/path/name`) or pipe (`|command`) is not
438supported.
439* File inclusion (`:include: /path/name`) is not supported.
Junio C Hamanoce447ab2015-06-16 22:08:01440* Warnings are printed on the standard error output for any
441explicitly unsupported constructs, and any other lines that are not
442recognized by the parser.
443--
Junio C Hamanoc51fede2007-03-12 07:29:20444
Junio C Hamano322c6242015-03-23 21:32:46445sendemail.multiEdit::
Junio C Hamano610d1762008-11-28 06:27:13446If true (default), a single editor instance will be spawned to edit
Junio C Hamano92d80372016-07-13 22:00:05447files you have to edit (patches when `--annotate` is used, and the
448summary when `--compose` is used). If false, files will be edited one
Junio C Hamano610d1762008-11-28 06:27:13449after the other, spawning a new editor each time.
450
Junio C Hamano0a235222009-03-06 08:21:09451sendemail.confirm::
452Sets the default for whether to confirm before sending. Must be
Junio C Hamano92d80372016-07-13 22:00:05453one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
Junio C Hamano0a235222009-03-06 08:21:09454in the previous section for the meaning of these values.
455
Junio C Hamanob77f8192011-05-05 01:30:38456EXAMPLE
457-------
Junio C Hamanofacbe512010-05-05 02:42:36458Use gmail as the smtp server
Junio C Hamanob77f8192011-05-05 01:30:38459~~~~~~~~~~~~~~~~~~~~~~~~~~~~
460To use 'git send-email' to send your patches through the GMail SMTP server,
461edit ~/.gitconfig to specify your account settings:
Junio C Hamanofacbe512010-05-05 02:42:36462
463[sendemail]
Junio C Hamano322c6242015-03-23 21:32:46464smtpEncryption = tls
465smtpServer = smtp.gmail.com
466smtpUser = yourname@gmail.com
467smtpServerPort = 587
Junio C Hamanofacbe512010-05-05 02:42:36468
Junio C Hamano5213c3b2016-06-03 23:34:40469If you have multifactor authentication setup on your gmail account, you will
Junio C Hamano37cf4082016-05-30 01:22:14470need to generate an app-specific password for use with 'git send-email'. Visit
471https://security.google.com/settings/security/apppasswords to setup an
472app-specific password. Once setup, you can store it with the credentials
473helper:
474
475$ git credential fill
476protocol=smtp
477host=smtp.gmail.com
478username=youname@gmail.com
479password=app-password
480
481
Junio C Hamanob77f8192011-05-05 01:30:38482Once your commits are ready to be sent to the mailing list, run the
483following commands:
484
485$ git format-patch --cover-letter -M origin/master -o outgoing/
486$ edit outgoing/0000-*
487$ git send-email outgoing/*
488
Junio C Hamanofacbe512010-05-05 02:42:36489Note: the following perl modules are required
490 Net::SMTP::SSL, MIME::Base64 and Authen::SASL
491
Junio C Hamanob77f8192011-05-05 01:30:38492SEE ALSO
493--------
494linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)
495
Junio C Hamano1a4e8412005-12-27 08:17:23496GIT
497---
Junio C Hamanof7c042d2008-06-06 22:50:53498Part of the linkgit:git[1] suite