blob: bb23b02caf3ee50a32c86d97e0451cd4be6ab232 [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
251Automating
252~~~~~~~~~~
253
Junio C Hamano39c7a692010-10-27 06:08:54254--to-cmd=<command>::
255Specify a command to execute once per patch file which
256should generate patch file specific "To:" entries.
257Output of this command must be single email address per line.
258Default is the value of 'sendemail.tocmd' configuration value.
259
Junio C Hamanob4a9ede2009-04-08 07:36:32260--cc-cmd=<command>::
Junio C Hamanoa476efa2008-10-10 15:31:42261Specify a command to execute once per patch file which
262should generate patch file specific "Cc:" entries.
263Output of this command must be single email address per line.
Junio C Hamano042f2142016-06-27 18:05:05264Default is the value of `sendemail.ccCmd` configuration value.
Junio C Hamanoa476efa2008-10-10 15:31:42265
Junio C Hamano25e7ba62009-06-14 01:03:22266--[no-]chain-reply-to::
Junio C Hamanoa476efa2008-10-10 15:31:42267If this is set, each email will be sent as a reply to the previous
268email sent. If disabled with "--no-chain-reply-to", all emails after
269the first will be sent as replies to the first email sent. When using
270this, it is recommended that the first file given be an overview of the
Junio C Hamano042f2142016-06-27 18:05:05271entire patch series. Disabled by default, but the `sendemail.chainReplyTo`
Junio C Hamano096dde22009-12-26 23:14:11272configuration variable can be used to enable it.
Junio C Hamanoa476efa2008-10-10 15:31:42273
Junio C Hamanob4a9ede2009-04-08 07:36:32274--identity=<identity>::
Junio C Hamanoa476efa2008-10-10 15:31:42275A configuration identity. When given, causes values in the
276'sendemail.<identity>' subsection to take precedence over
277values in the 'sendemail' section. The default identity is
Junio C Hamano042f2142016-06-27 18:05:05278the value of `sendemail.identity`.
Junio C Hamanoa476efa2008-10-10 15:31:42279
280--[no-]signed-off-by-cc::
281If this is set, add emails found in Signed-off-by: or Cc: lines to the
Junio C Hamano042f2142016-06-27 18:05:05282cc list. Default is the value of `sendemail.signedoffbycc` configuration
Junio C Hamanoa476efa2008-10-10 15:31:42283value; if that is unspecified, default to --signed-off-by-cc.
Junio C Hamanoc9154122006-02-15 02:22:06284
Junio C Hamano45f804f2014-06-20 22:24:49285--[no-]cc-cover::
286If this is set, emails found in Cc: headers in the first patch of
287the series (typically the cover letter) are added to the cc list
288for each email set. Default is the value of 'sendemail.cccover'
289configuration value; if that is unspecified, default to --no-cc-cover.
290
291--[no-]to-cover::
292If this is set, emails found in To: headers in the first patch of
293the series (typically the cover letter) are added to the to list
294for each email set. Default is the value of 'sendemail.tocover'
295configuration value; if that is unspecified, default to --no-to-cover.
296
Junio C Hamanob4a9ede2009-04-08 07:36:32297--suppress-cc=<category>::
Junio C Hamano9c334152008-02-12 03:18:52298Specify an additional category of recipients to suppress the
Junio C Hamano0a235222009-03-06 08:21:09299auto-cc of:
300+
301--
302- 'author' will avoid including the patch author
303- 'self' will avoid including the sender
304- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
305 except for self (use 'self' for that).
Junio C Hamano0e88f3e2009-06-21 08:03:25306- 'bodycc' will avoid including anyone mentioned in Cc lines in the
Junio C Hamano0a235222009-03-06 08:21:09307 patch body (commit message) except for self (use 'self' for that).
308- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
309 for self (use 'self' for that).
310- 'cccmd' will avoid running the --cc-cmd.
Junio C Hamano0e88f3e2009-06-21 08:03:25311- 'body' is equivalent to 'sob' + 'bodycc'
Junio C Hamano0a235222009-03-06 08:21:09312- 'all' will suppress all auto cc values.
313--
314+
Junio C Hamano042f2142016-06-27 18:05:05315Default is the value of `sendemail.suppresscc` configuration value; if
Junio C Hamano0a235222009-03-06 08:21:09316that is unspecified, default to 'self' if --suppress-from is
317specified, as well as 'body' if --no-signed-off-cc is specified.
Junio C Hamano9c334152008-02-12 03:18:52318
Junio C Hamanoa476efa2008-10-10 15:31:42319--[no-]suppress-from::
320If this is set, do not add the From: address to the cc: list.
Junio C Hamano042f2142016-06-27 18:05:05321Default is the value of `sendemail.suppressFrom` configuration
Junio C Hamanoa476efa2008-10-10 15:31:42322value; if that is unspecified, default to --no-suppress-from.
323
324--[no-]thread::
Junio C Hamano1bbd0f42009-07-23 06:20:29325If this is set, the In-Reply-To and References headers will be
326added to each email sent. Whether each mail refers to the
327previous email (`deep` threading per 'git format-patch'
328wording) or to the first email (`shallow` threading) is
329governed by "--[no-]chain-reply-to".
330+
331If disabled with "--no-thread", those headers will not be added
332(unless specified with --in-reply-to). Default is the value of the
Junio C Hamano042f2142016-06-27 18:05:05333`sendemail.thread` configuration value; if that is unspecified,
Junio C Hamano1bbd0f42009-07-23 06:20:29334default to --thread.
335+
336It is up to the user to ensure that no In-Reply-To header already
337exists when 'git send-email' is asked to add it (especially note that
338'git format-patch' can be configured to do the threading itself).
339Failure to do so may not produce the expected result in the
340recipient's MUA.
Junio C Hamanoa476efa2008-10-10 15:31:42341
342
343Administering
344~~~~~~~~~~~~~
Junio C Hamanoddc5ad42007-06-27 07:14:52345
Junio C Hamanob4a9ede2009-04-08 07:36:32346--confirm=<mode>::
Junio C Hamano0a235222009-03-06 08:21:09347Confirm just before sending:
348+
349--
350- 'always' will always confirm before sending
351- 'never' will never confirm before sending
352- 'cc' will confirm before sending when send-email has automatically
353 added addresses from the patch to the Cc list
354- 'compose' will confirm before sending the first message when using --compose.
355- 'auto' is equivalent to 'cc' + 'compose'
356--
357+
Junio C Hamano042f2142016-06-27 18:05:05358Default is the value of `sendemail.confirm` configuration value; if that
Junio C Hamano0a235222009-03-06 08:21:09359is unspecified, default to 'auto' unless any of the suppress options
360have been specified, in which case default to 'compose'.
361
Junio C Hamano45889b42007-04-26 07:20:04362--dry-run::
363Do everything except actually send the emails.
364
Junio C Hamano3d141512009-06-01 01:22:40365--[no-]format-patch::
366When an argument may be understood either as a reference or as a file name,
Junio C Hamano92d80372016-07-13 22:00:05367choose to understand it as a format-patch argument (`--format-patch`)
368or as a file name (`--no-format-patch`). By default, when such a conflict
Junio C Hamano3d141512009-06-01 01:22:40369occurs, git send-email will fail.
370
Junio C Hamanoa476efa2008-10-10 15:31:42371--quiet::
372Make git-send-email less verbose. One line per email should be
373all that is output.
Junio C Hamano45889b42007-04-26 07:20:04374
Junio C Hamanoa476efa2008-10-10 15:31:42375--[no-]validate::
376Perform sanity checks on patches.
377Currently, validation means the following:
Junio C Hamanoa3fd83c2007-03-02 10:34:36378+
Junio C Hamanoa476efa2008-10-10 15:31:42379--
Junio C Hamanod88ba732017-05-30 04:14:20380* Invoke the sendemail-validate hook if present (see linkgit:githooks[5]).
Junio C Hamanoa476efa2008-10-10 15:31:42381* Warn of patches that contain lines longer than 998 characters; this
382is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
383--
384+
Junio C Hamano042f2142016-06-27 18:05:05385Default is the value of `sendemail.validate`; if this is not set,
Junio C Hamano92d80372016-07-13 22:00:05386default to `--validate`.
Junio C Hamano97f518c2006-06-22 19:49:35387
Junio C Hamanocf29d332010-12-11 07:28:56388--force::
389Send emails even if safety checks would prevent it.
390
Junio C Hamano1a4e8412005-12-27 08:17:23391
Junio C Hamanoabb8a052015-12-04 22:43:11392Information
393~~~~~~~~~~~
394
395--dump-aliases::
396Instead of the normal operation, dump the shorthand alias names from
397the configured alias file(s), one per line in alphabetical order. Note,
398this only includes the alias name and not its expanded email addresses.
399See 'sendemail.aliasesfile' for more information about aliases.
400
401
Junio C Hamanoc51fede2007-03-12 07:29:20402CONFIGURATION
403-------------
Junio C Hamano68522892007-09-06 01:33:41404
Junio C Hamano322c6242015-03-23 21:32:46405sendemail.aliasesFile::
Junio C Hamanoc51fede2007-03-12 07:29:20406To avoid typing long email addresses, point this to one or more
Junio C Hamano042f2142016-06-27 18:05:05407email aliases files. You must also supply `sendemail.aliasFileType`.
Junio C Hamanoc51fede2007-03-12 07:29:20408
Junio C Hamano322c6242015-03-23 21:32:46409sendemail.aliasFileType::
410Format of the file(s) specified in sendemail.aliasesFile. Must be
Junio C Hamanoce447ab2015-06-16 22:08:01411one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
412+
413What an alias file in each format looks like can be found in
414the documentation of the email program of the same name. The
415differences and limitations from the standard formats are
416described below:
417+
418--
419sendmail;;
420* Quoted aliases and quoted addresses are not supported: lines that
421contain a `"` symbol are ignored.
Junio C Hamanodf5384b2015-06-24 21:12:12422* Redirection to a file (`/path/name`) or pipe (`|command`) is not
423supported.
424* File inclusion (`:include: /path/name`) is not supported.
Junio C Hamanoce447ab2015-06-16 22:08:01425* Warnings are printed on the standard error output for any
426explicitly unsupported constructs, and any other lines that are not
427recognized by the parser.
428--
Junio C Hamanoc51fede2007-03-12 07:29:20429
Junio C Hamano322c6242015-03-23 21:32:46430sendemail.multiEdit::
Junio C Hamano610d1762008-11-28 06:27:13431If true (default), a single editor instance will be spawned to edit
Junio C Hamano92d80372016-07-13 22:00:05432files you have to edit (patches when `--annotate` is used, and the
433summary when `--compose` is used). If false, files will be edited one
Junio C Hamano610d1762008-11-28 06:27:13434after the other, spawning a new editor each time.
435
Junio C Hamano0a235222009-03-06 08:21:09436sendemail.confirm::
437Sets the default for whether to confirm before sending. Must be
Junio C Hamano92d80372016-07-13 22:00:05438one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
Junio C Hamano0a235222009-03-06 08:21:09439in the previous section for the meaning of these values.
440
Junio C Hamanob77f8192011-05-05 01:30:38441EXAMPLE
442-------
Junio C Hamanofacbe512010-05-05 02:42:36443Use gmail as the smtp server
Junio C Hamanob77f8192011-05-05 01:30:38444~~~~~~~~~~~~~~~~~~~~~~~~~~~~
445To use 'git send-email' to send your patches through the GMail SMTP server,
446edit ~/.gitconfig to specify your account settings:
Junio C Hamanofacbe512010-05-05 02:42:36447
448[sendemail]
Junio C Hamano322c6242015-03-23 21:32:46449smtpEncryption = tls
450smtpServer = smtp.gmail.com
451smtpUser = yourname@gmail.com
452smtpServerPort = 587
Junio C Hamanofacbe512010-05-05 02:42:36453
Junio C Hamano5213c3b2016-06-03 23:34:40454If you have multifactor authentication setup on your gmail account, you will
Junio C Hamano37cf4082016-05-30 01:22:14455need to generate an app-specific password for use with 'git send-email'. Visit
456https://security.google.com/settings/security/apppasswords to setup an
457app-specific password. Once setup, you can store it with the credentials
458helper:
459
460$ git credential fill
461protocol=smtp
462host=smtp.gmail.com
463username=youname@gmail.com
464password=app-password
465
466
Junio C Hamanob77f8192011-05-05 01:30:38467Once your commits are ready to be sent to the mailing list, run the
468following commands:
469
470$ git format-patch --cover-letter -M origin/master -o outgoing/
471$ edit outgoing/0000-*
472$ git send-email outgoing/*
473
Junio C Hamanofacbe512010-05-05 02:42:36474Note: the following perl modules are required
475 Net::SMTP::SSL, MIME::Base64 and Authen::SASL
476
Junio C Hamanob77f8192011-05-05 01:30:38477SEE ALSO
478--------
479linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5)
480
Junio C Hamano1a4e8412005-12-27 08:17:23481GIT
482---
Junio C Hamanof7c042d2008-06-06 22:50:53483Part of the linkgit:git[1] suite