]>
Commit | Line | Data |
---|---|---|
215a7ad1 JH |
1 | git-send-email(1) |
2 | ================= | |
479cec96 RA |
3 | |
4 | NAME | |
5 | ---- | |
215a7ad1 | 6 | git-send-email - Send a collection of patches as emails |
479cec96 RA |
7 | |
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
7791a1d9 | 11 | [verse] |
0620ae0f | 12 | 'git send-email' [<options>] (<file>|<directory>)... |
2162f9f6 | 13 | 'git send-email' [<options>] <format-patch-options> |
17b7a832 | 14 | 'git send-email' --dump-aliases |
479cec96 RA |
15 | |
16 | ||
479cec96 RA |
17 | DESCRIPTION |
18 | ----------- | |
19 | Takes the patches given on the command line and emails them out. | |
94af7c31 PB |
20 | Patches can be specified as files, directories (which will send all |
21 | files in the directory), or directly as a revision list. In the | |
22 | last case, any format accepted by linkgit:git-format-patch[1] can | |
a2ce6082 TP |
23 | be passed to git send-email, as well as options understood by |
24 | linkgit:git-format-patch[1]. | |
479cec96 | 25 | |
06ab60c0 | 26 | The header of the email is configurable via command-line options. If not |
479cec96 RA |
27 | specified on the command line, the user will be prompted with a ReadLine |
28 | enabled interface to provide the necessary information. | |
29 | ||
c4ba87a6 TZ |
30 | There are two formats accepted for patch files: |
31 | ||
32 | 1. mbox format files | |
33 | + | |
34 | This is what linkgit:git-format-patch[1] generates. Most headers and MIME | |
35 | formatting are ignored. | |
36 | ||
37 | 2. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' | |
ba170517 | 38 | script |
c4ba87a6 TZ |
39 | + |
40 | This format expects the first line of the file to contain the "Cc:" value | |
41 | and the "Subject:" of the message as the second line. | |
42 | ||
917f3e73 | 43 | |
df8baa42 JF |
44 | OPTIONS |
45 | ------- | |
917f3e73 MW |
46 | |
47 | Composing | |
48 | ~~~~~~~~~ | |
479cec96 | 49 | |
432b1282 | 50 | --annotate:: |
402596aa | 51 | Review and edit each patch you're about to send. Default is the value |
ae9f6311 TR |
52 | of `sendemail.annotate`. See the CONFIGURATION section for |
53 | `sendemail.multiEdit`. | |
432b1282 | 54 | |
b1c8a11c | 55 | --bcc=<address>,...:: |
3971a973 | 56 | Specify a "Bcc:" value for each email. Default is the value of |
ae9f6311 | 57 | `sendemail.bcc`. |
5ef1f8d4 | 58 | + |
b1c8a11c | 59 | This option may be specified multiple times. |
79ee555b | 60 | |
b1c8a11c | 61 | --cc=<address>,...:: |
da140f8b | 62 | Specify a starting "Cc:" value for each email. |
ae9f6311 | 63 | Default is the value of `sendemail.cc`. |
5ef1f8d4 | 64 | + |
b1c8a11c | 65 | This option may be specified multiple times. |
79ee555b | 66 | |
2718435b | 67 | --compose:: |
b4479f07 JN |
68 | Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) |
69 | to edit an introductory message for the patch series. | |
beece9da | 70 | + |
3ec61675 JK |
71 | When `--compose` is used, git send-email will use the From, To, Cc, Bcc, |
72 | Subject, Reply-To, and In-Reply-To headers specified in the message. If | |
73 | the body of the message (what you type after the headers and a blank | |
74 | line) only contains blank (or Git: prefixed) lines, the summary won't be | |
75 | sent, but the headers mentioned above will be used unless they are | |
76 | removed. | |
beece9da | 77 | + |
01d38612 | 78 | Missing From or In-Reply-To headers will be prompted for. |
3a78d078 | 79 | + |
ae9f6311 | 80 | See the CONFIGURATION section for `sendemail.multiEdit`. |
479cec96 | 81 | |
4c0fe0af | 82 | --from=<address>:: |
09caa24f | 83 | Specify the sender of the emails. If not specified on the command line, |
ae9f6311 TR |
84 | the value of the `sendemail.from` configuration option is used. If |
85 | neither the command-line option nor `sendemail.from` are set, then the | |
09caa24f TP |
86 | user will be prompted for the value. The default for the prompt will be |
87 | the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not | |
88 | set, as returned by "git var -l". | |
479cec96 | 89 | |
d11c943c CL |
90 | --reply-to=<address>:: |
91 | Specify the address where replies from recipients should go to. | |
92 | Use this if replies to messages should go to another address than what | |
93 | is specified with the --from parameter. | |
94 | ||
4c0fe0af | 95 | --in-reply-to=<identifier>:: |
db54c8e7 | 96 | Make the first mail (or all the mails with `--no-thread`) appear as a |
ba4324c4 | 97 | reply to the given Message-ID, which avoids breaking threads to |
db54c8e7 AO |
98 | provide a new patch series. |
99 | The second and subsequent emails will be sent as replies according to | |
2c7ee986 | 100 | the `--[no-]chain-reply-to` setting. |
db54c8e7 AO |
101 | + |
102 | So for example when `--thread` and `--no-chain-reply-to` are specified, the | |
103 | second and subsequent patches will be replies to the first one like in the | |
104 | illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`: | |
105 | + | |
106 | [PATCH 0/2] Here is what I did... | |
107 | [PATCH 1/2] Clean up and tests | |
108 | [PATCH 2/2] Implementation | |
109 | [PATCH v2 0/3] Here is a reroll | |
110 | [PATCH v2 1/3] Clean up | |
111 | [PATCH v2 2/3] New tests | |
112 | [PATCH v2 3/3] Implementation | |
113 | + | |
114 | Only necessary if --compose is also set. If --compose | |
115 | is not set, this will be prompted for. | |
479cec96 | 116 | |
4c0fe0af | 117 | --subject=<string>:: |
917f3e73 MW |
118 | Specify the initial subject of the email thread. |
119 | Only necessary if --compose is also set. If --compose | |
120 | is not set, this will be prompted for. | |
a6d62cdd | 121 | |
b1c8a11c | 122 | --to=<address>,...:: |
917f3e73 MW |
123 | Specify the primary recipient of the emails generated. Generally, this |
124 | will be the upstream maintainer of the project involved. Default is the | |
ae9f6311 | 125 | value of the `sendemail.to` configuration value; if that is unspecified, |
6e74e075 | 126 | and --to-cmd is not specified, this will be prompted for. |
917f3e73 | 127 | + |
b1c8a11c | 128 | This option may be specified multiple times. |
917f3e73 | 129 | |
3cae7e5b TR |
130 | --8bit-encoding=<encoding>:: |
131 | When encountering a non-ASCII message or subject that does not | |
132 | declare its encoding, add headers/quoting to indicate it is | |
133 | encoded in <encoding>. Default is the value of the | |
134 | 'sendemail.assume8bitEncoding'; if that is unspecified, this | |
135 | will be prompted for if any non-ASCII files are encountered. | |
136 | + | |
137 | Note that no attempts whatsoever are made to validate the encoding. | |
138 | ||
62e00690 KM |
139 | --compose-encoding=<encoding>:: |
140 | Specify encoding of compose message. Default is the value of the | |
82d75402 | 141 | 'sendemail.composeEncoding'; if that is unspecified, UTF-8 is assumed. |
62e00690 | 142 | |
7a36987f | 143 | --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto):: |
8d814084 PB |
144 | Specify the transfer encoding to be used to send the message over SMTP. |
145 | 7bit will fail upon encountering a non-ASCII message. quoted-printable | |
146 | can be useful when the repository contains files that contain carriage | |
147 | returns, but makes the raw patch email file (as saved from a MUA) much | |
148 | harder to inspect manually. base64 is even more fool proof, but also | |
7a36987f | 149 | even more opaque. auto will use 8bit when possible, and quoted-printable |
150 | otherwise. | |
151 | + | |
152 | Default is the value of the `sendemail.transferEncoding` configuration | |
e67a228c | 153 | value; if that is unspecified, default to `auto`. |
8d814084 | 154 | |
ac1596a6 LH |
155 | --xmailer:: |
156 | --no-xmailer:: | |
157 | Add (or prevent adding) the "X-Mailer:" header. By default, | |
158 | the header is added, but it can be turned off by setting the | |
159 | `sendemail.xmailer` configuration variable to `false`. | |
917f3e73 MW |
160 | |
161 | Sending | |
162 | ~~~~~~~ | |
163 | ||
4c0fe0af | 164 | --envelope-sender=<address>:: |
917f3e73 MW |
165 | Specify the envelope sender used to send the emails. |
166 | This is useful if your default address is not the address that is | |
c89e3241 FC |
167 | subscribed to a list. In order to use the 'From' address, set the |
168 | value to "auto". If you use the sendmail binary, you must have | |
169 | suitable privileges for the -f parameter. Default is the value of the | |
ae9f6311 | 170 | `sendemail.envelopeSender` configuration variable; if that is |
917f3e73 | 171 | unspecified, choosing the envelope sender is left to your MTA. |
73811e66 | 172 | |
cd5b33fb GA |
173 | --sendmail-cmd=<command>:: |
174 | Specify a command to run to send the email. The command should | |
175 | be sendmail-like; specifically, it must support the `-i` option. | |
176 | The command will be executed in the shell if necessary. Default | |
82d75402 | 177 | is the value of `sendemail.sendmailCmd`. If unspecified, and if |
cd5b33fb GA |
178 | --smtp-server is also unspecified, git-send-email will search |
179 | for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH. | |
180 | ||
4c0fe0af | 181 | --smtp-encryption=<encryption>:: |
a2634646 SD |
182 | Specify in what way encrypting begins for the SMTP connection. |
183 | Valid values are 'ssl' and 'tls'. Any other value reverts to plain | |
184 | (unencrypted) SMTP, which defaults to port 25. | |
185 | Despite the names, both values will use the same newer version of TLS, | |
186 | but for historic reasons have these names. 'ssl' refers to "implicit" | |
187 | encryption (sometimes called SMTPS), that uses port 465 by default. | |
188 | 'tls' refers to "explicit" encryption (often known as STARTTLS), | |
189 | that uses port 25 by default. Other ports might be used by the SMTP | |
190 | server, which are not the default. Commonly found alternative port for | |
191 | 'tls' and unencrypted is 587. You need to check your provider's | |
192 | documentation or your server configuration to make sure | |
193 | for your own case. Default is the value of `sendemail.smtpEncryption`. | |
73811e66 | 194 | |
79ca070c BG |
195 | --smtp-domain=<FQDN>:: |
196 | Specifies the Fully Qualified Domain Name (FQDN) used in the | |
197 | HELO/EHLO command to the SMTP server. Some servers require the | |
198 | FQDN to match your IP address. If not set, git send-email attempts | |
69cf7bfd | 199 | to determine your FQDN automatically. Default is the value of |
ae9f6311 | 200 | `sendemail.smtpDomain`. |
79ca070c | 201 | |
0f2e68b5 JV |
202 | --smtp-auth=<mechanisms>:: |
203 | Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting | |
204 | forces using only the listed mechanisms. Example: | |
205 | + | |
206 | ------ | |
207 | $ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ... | |
208 | ------ | |
209 | + | |
210 | If at least one of the specified mechanisms matches the ones advertised by the | |
211 | SMTP server and if it is supported by the utilized SASL library, the mechanism | |
bcf9626a | 212 | is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth` |
8dd9b3f8 JW |
213 | is specified, all mechanisms supported by the SASL library can be used. The |
214 | special value 'none' maybe specified to completely disable authentication | |
215 | independently of `--smtp-user` | |
0f2e68b5 | 216 | |
4c0fe0af | 217 | --smtp-pass[=<password>]:: |
73811e66 MW |
218 | Password for SMTP-AUTH. The argument is optional: If no |
219 | argument is specified, then the empty string is used as | |
ae9f6311 | 220 | the password. Default is the value of `sendemail.smtpPass`, |
bcf9626a | 221 | however `--smtp-pass` always overrides this value. |
73811e66 MW |
222 | + |
223 | Furthermore, passwords need not be specified in configuration files | |
224 | or on the command line. If a username has been specified (with | |
bcf9626a MM |
225 | `--smtp-user` or a `sendemail.smtpUser`), but no password has been |
226 | specified (with `--smtp-pass` or `sendemail.smtpPass`), then | |
4d31a44a | 227 | a password is obtained using 'git-credential'. |
34cc60ce | 228 | |
8dd9b3f8 JW |
229 | --no-smtp-auth:: |
230 | Disable SMTP authentication. Short hand for `--smtp-auth=none` | |
231 | ||
4c0fe0af | 232 | --smtp-server=<host>:: |
928a5590 | 233 | If set, specifies the outgoing SMTP server to use (e.g. |
cd5b33fb GA |
234 | `smtp.example.com` or a raw IP address). If unspecified, and if |
235 | `--sendmail-cmd` is also unspecified, the default is to search | |
236 | for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a | |
237 | program is available, falling back to `localhost` otherwise. | |
238 | + | |
239 | For backward compatibility, this option can also specify a full pathname | |
240 | of a sendmail-like program instead; the program must support the `-i` | |
241 | option. This method does not support passing arguments or using plain | |
242 | command names. For those use cases, consider using `--sendmail-cmd` | |
243 | instead. | |
a6d62cdd | 244 | |
4c0fe0af | 245 | --smtp-server-port=<port>:: |
44b2476a | 246 | Specifies a port different from the default port (SMTP |
2da846e7 WL |
247 | servers typically listen to smtp port 25, but may also listen to |
248 | submission port 587, or the common SSL smtp port 465); | |
249 | symbolic port names (e.g. "submission" instead of 587) | |
dd602bf8 | 250 | are also accepted. The port can also be set with the |
ae9f6311 | 251 | `sendemail.smtpServerPort` configuration variable. |
44b2476a | 252 | |
052fbea2 PO |
253 | --smtp-server-option=<option>:: |
254 | If set, specifies the outgoing SMTP server option to use. | |
ae9f6311 | 255 | Default value can be specified by the `sendemail.smtpServerOption` |
052fbea2 PO |
256 | configuration option. |
257 | + | |
258 | The --smtp-server-option option must be repeated for each option you want | |
259 | to pass to the server. Likewise, different lines in the configuration files | |
260 | must be used for each option. | |
261 | ||
73811e66 | 262 | --smtp-ssl:: |
3971a973 | 263 | Legacy alias for '--smtp-encryption ssl'. |
73811e66 | 264 | |
35035bbf | 265 | --smtp-ssl-cert-path:: |
bcfe6f32 AW |
266 | Path to a store of trusted CA certificates for SMTP SSL/TLS |
267 | certificate validation (either a directory that has been processed | |
268 | by 'c_rehash', or a single file containing one or more PEM format | |
269 | certificates concatenated together: see verify(1) -CAfile and | |
270 | -CApath for more information on these). Set it to an empty string | |
271 | to disable certificate verification. Defaults to the value of the | |
82d75402 | 272 | `sendemail.smtpSSLCertPath` configuration variable, if set, or the |
bcfe6f32 AW |
273 | backing SSL library's compiled-in default otherwise (which should |
274 | be the best choice on most platforms). | |
35035bbf | 275 | |
4c0fe0af | 276 | --smtp-user=<user>:: |
ae9f6311 | 277 | Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`; |
bcf9626a | 278 | if a username is not specified (with `--smtp-user` or `sendemail.smtpUser`), |
3971a973 | 279 | then authentication is not attempted. |
2363d746 | 280 | |
0620ae0f | 281 | --smtp-debug=(0|1):: |
3ddf9228 ZJS |
282 | Enable (1) or disable (0) debug output. If enabled, SMTP |
283 | commands and replies will be printed. Useful to debug TLS | |
284 | connection and authentication problems. | |
917f3e73 | 285 | |
5453b83b | 286 | --batch-size=<num>:: |
287 | Some email servers (e.g. smtp.163.com) limit the number emails to be | |
c30d4f1b | 288 | sent per session (connection) and this will lead to a failure when |
5453b83b | 289 | sending many messages. With this option, send-email will disconnect after |
290 | sending $<num> messages and wait for a few seconds (see --relogin-delay) | |
291 | and reconnect, to work around such a limit. You may want to | |
292 | use some form of credential helper to avoid having to retype | |
293 | your password every time this happens. Defaults to the | |
294 | `sendemail.smtpBatchSize` configuration variable. | |
295 | ||
296 | --relogin-delay=<int>:: | |
297 | Waiting $<int> seconds before reconnecting to SMTP server. Used together | |
298 | with --batch-size option. Defaults to the `sendemail.smtpReloginDelay` | |
299 | configuration variable. | |
300 | ||
917f3e73 MW |
301 | Automating |
302 | ~~~~~~~~~~ | |
303 | ||
0620ae0f JNA |
304 | --no-to:: |
305 | --no-cc:: | |
306 | --no-bcc:: | |
564eba4b ÆAB |
307 | Clears any list of "To:", "Cc:", "Bcc:" addresses previously |
308 | set via config. | |
309 | ||
3ff15040 ÆAB |
310 | --no-identity:: |
311 | Clears the previously read value of `sendemail.identity` set | |
312 | via config, if any. | |
313 | ||
6e74e075 JP |
314 | --to-cmd=<command>:: |
315 | Specify a command to execute once per patch file which | |
316 | should generate patch file specific "To:" entries. | |
317 | Output of this command must be single email address per line. | |
82d75402 | 318 | Default is the value of 'sendemail.toCmd' configuration value. |
6e74e075 | 319 | |
4c0fe0af | 320 | --cc-cmd=<command>:: |
917f3e73 MW |
321 | Specify a command to execute once per patch file which |
322 | should generate patch file specific "Cc:" entries. | |
323 | Output of this command must be single email address per line. | |
ae9f6311 | 324 | Default is the value of `sendemail.ccCmd` configuration value. |
917f3e73 | 325 | |
ba92106e MC |
326 | --header-cmd=<command>:: |
327 | Specify a command that is executed once per outgoing message | |
328 | and output RFC 2822 style header lines to be inserted into | |
329 | them. When the `sendemail.headerCmd` configuration variable is | |
330 | set, its value is always used. When --header-cmd is provided | |
331 | at the command line, its value takes precedence over the | |
332 | `sendemail.headerCmd` configuration variable. | |
333 | ||
334 | --no-header-cmd:: | |
335 | Disable any header command in use. | |
336 | ||
0fd41f2d | 337 | --[no-]chain-reply-to:: |
917f3e73 MW |
338 | If this is set, each email will be sent as a reply to the previous |
339 | email sent. If disabled with "--no-chain-reply-to", all emails after | |
340 | the first will be sent as replies to the first email sent. When using | |
341 | this, it is recommended that the first file given be an overview of the | |
ae9f6311 | 342 | entire patch series. Disabled by default, but the `sendemail.chainReplyTo` |
41fe87fa | 343 | configuration variable can be used to enable it. |
917f3e73 | 344 | |
4c0fe0af | 345 | --identity=<identity>:: |
917f3e73 MW |
346 | A configuration identity. When given, causes values in the |
347 | 'sendemail.<identity>' subsection to take precedence over | |
348 | values in the 'sendemail' section. The default identity is | |
ae9f6311 | 349 | the value of `sendemail.identity`. |
917f3e73 MW |
350 | |
351 | --[no-]signed-off-by-cc:: | |
3abd4a67 | 352 | If this is set, add emails found in the `Signed-off-by` trailer or Cc: lines to the |
82d75402 | 353 | cc list. Default is the value of `sendemail.signedOffByCc` configuration |
917f3e73 | 354 | value; if that is unspecified, default to --signed-off-by-cc. |
2718435b | 355 | |
f515c904 MT |
356 | --[no-]cc-cover:: |
357 | If this is set, emails found in Cc: headers in the first patch of | |
358 | the series (typically the cover letter) are added to the cc list | |
82d75402 | 359 | for each email set. Default is the value of 'sendemail.ccCover' |
f515c904 MT |
360 | configuration value; if that is unspecified, default to --no-cc-cover. |
361 | ||
362 | --[no-]to-cover:: | |
363 | If this is set, emails found in To: headers in the first patch of | |
364 | the series (typically the cover letter) are added to the to list | |
82d75402 | 365 | for each email set. Default is the value of 'sendemail.toCover' |
f515c904 MT |
366 | configuration value; if that is unspecified, default to --no-to-cover. |
367 | ||
4c0fe0af | 368 | --suppress-cc=<category>:: |
65648283 | 369 | Specify an additional category of recipients to suppress the |
3531e270 JS |
370 | auto-cc of: |
371 | + | |
372 | -- | |
af249bfe RV |
373 | - 'author' will avoid including the patch author. |
374 | - 'self' will avoid including the sender. | |
3531e270 JS |
375 | - 'cc' will avoid including anyone mentioned in Cc lines in the patch header |
376 | except for self (use 'self' for that). | |
cb8a9bd5 | 377 | - 'bodycc' will avoid including anyone mentioned in Cc lines in the |
3531e270 | 378 | patch body (commit message) except for self (use 'self' for that). |
3abd4a67 | 379 | - 'sob' will avoid including anyone mentioned in the Signed-off-by trailers except |
af249bfe | 380 | for self (use 'self' for that). |
ef0cc1df RV |
381 | - 'misc-by' will avoid including anyone mentioned in Acked-by, |
382 | Reviewed-by, Tested-by and other "-by" lines in the patch body, | |
383 | except Signed-off-by (use 'sob' for that). | |
3531e270 | 384 | - 'cccmd' will avoid running the --cc-cmd. |
ef0cc1df | 385 | - 'body' is equivalent to 'sob' + 'bodycc' + 'misc-by'. |
3531e270 JS |
386 | - 'all' will suppress all auto cc values. |
387 | -- | |
388 | + | |
82d75402 | 389 | Default is the value of `sendemail.suppressCc` configuration value; if |
3531e270 JS |
390 | that is unspecified, default to 'self' if --suppress-from is |
391 | specified, as well as 'body' if --no-signed-off-cc is specified. | |
65648283 | 392 | |
73811e66 MW |
393 | --[no-]suppress-from:: |
394 | If this is set, do not add the From: address to the cc: list. | |
ae9f6311 | 395 | Default is the value of `sendemail.suppressFrom` configuration |
73811e66 MW |
396 | value; if that is unspecified, default to --no-suppress-from. |
397 | ||
7ecbad91 | 398 | --[no-]thread:: |
f693b7e9 YD |
399 | If this is set, the In-Reply-To and References headers will be |
400 | added to each email sent. Whether each mail refers to the | |
401 | previous email (`deep` threading per 'git format-patch' | |
402 | wording) or to the first email (`shallow` threading) is | |
403 | governed by "--[no-]chain-reply-to". | |
404 | + | |
405 | If disabled with "--no-thread", those headers will not be added | |
406 | (unless specified with --in-reply-to). Default is the value of the | |
ae9f6311 | 407 | `sendemail.thread` configuration value; if that is unspecified, |
f693b7e9 YD |
408 | default to --thread. |
409 | + | |
410 | It is up to the user to ensure that no In-Reply-To header already | |
411 | exists when 'git send-email' is asked to add it (especially note that | |
412 | 'git format-patch' can be configured to do the threading itself). | |
413 | Failure to do so may not produce the expected result in the | |
414 | recipient's MUA. | |
e46f7a0e | 415 | |
917f3e73 MW |
416 | |
417 | Administering | |
418 | ~~~~~~~~~~~~~ | |
419 | ||
4c0fe0af | 420 | --confirm=<mode>:: |
c1f2aa45 JS |
421 | Confirm just before sending: |
422 | + | |
423 | -- | |
424 | - 'always' will always confirm before sending | |
425 | - 'never' will never confirm before sending | |
426 | - 'cc' will confirm before sending when send-email has automatically | |
427 | added addresses from the patch to the Cc list | |
428 | - 'compose' will confirm before sending the first message when using --compose. | |
429 | - 'auto' is equivalent to 'cc' + 'compose' | |
430 | -- | |
431 | + | |
ae9f6311 | 432 | Default is the value of `sendemail.confirm` configuration value; if that |
c1f2aa45 JS |
433 | is unspecified, default to 'auto' unless any of the suppress options |
434 | have been specified, in which case default to 'compose'. | |
435 | ||
917f3e73 MW |
436 | --dry-run:: |
437 | Do everything except actually send the emails. | |
438 | ||
432b1282 MW |
439 | --[no-]format-patch:: |
440 | When an argument may be understood either as a reference or as a file name, | |
bcf9626a MM |
441 | choose to understand it as a format-patch argument (`--format-patch`) |
442 | or as a file name (`--no-format-patch`). By default, when such a conflict | |
432b1282 MW |
443 | occurs, git send-email will fail. |
444 | ||
917f3e73 MW |
445 | --quiet:: |
446 | Make git-send-email less verbose. One line per email should be | |
447 | all that is output. | |
03044a98 | 448 | |
dbf5e1e9 MW |
449 | --[no-]validate:: |
450 | Perform sanity checks on patches. | |
7ecbad91 MW |
451 | Currently, validation means the following: |
452 | + | |
453 | -- | |
6489660b | 454 | * Invoke the sendemail-validate hook if present (see linkgit:githooks[5]). |
f2d06fb1 | 455 | * Warn of patches that contain lines longer than |
456 | 998 characters unless a suitable transfer encoding | |
457 | ('auto', 'base64', or 'quoted-printable') is used; | |
458 | this is due to SMTP limits as described by | |
d05b08cd | 459 | https://www.ietf.org/rfc/rfc5322.txt. |
7ecbad91 | 460 | -- |
dbf5e1e9 | 461 | + |
ae9f6311 | 462 | Default is the value of `sendemail.validate`; if this is not set, |
bcf9626a | 463 | default to `--validate`. |
7ecbad91 | 464 | |
1a3e302a AS |
465 | --force:: |
466 | Send emails even if safety checks would prevent it. | |
467 | ||
a6d62cdd | 468 | |
17b7a832 JK |
469 | Information |
470 | ~~~~~~~~~~~ | |
471 | ||
472 | --dump-aliases:: | |
473 | Instead of the normal operation, dump the shorthand alias names from | |
cf6cac20 EN |
474 | the configured alias file(s), one per line in alphabetical order. Note |
475 | that this only includes the alias name and not its expanded email addresses. | |
82d75402 | 476 | See 'sendemail.aliasesFile' for more information about aliases. |
17b7a832 JK |
477 | |
478 | ||
fc095242 AK |
479 | CONFIGURATION |
480 | ------------- | |
917f3e73 | 481 | |
bac1d52c | 482 | include::includes/cmd-config-section-all.txt[] |
fc095242 | 483 | |
bac1d52c | 484 | include::config/sendemail.txt[] |
c1f2aa45 | 485 | |
76a8788c NTND |
486 | EXAMPLES |
487 | -------- | |
2b873e06 | 488 | Use gmail as the smtp server |
36c10e6d JN |
489 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
490 | To use 'git send-email' to send your patches through the GMail SMTP server, | |
491 | edit ~/.gitconfig to specify your account settings: | |
2b873e06 | 492 | |
1925fe0c MÅ |
493 | ---- |
494 | [sendemail] | |
495 | smtpEncryption = tls | |
496 | smtpServer = smtp.gmail.com | |
497 | smtpUser = yourname@gmail.com | |
498 | smtpServerPort = 587 | |
499 | ---- | |
2b873e06 | 500 | |
839ebad4 JW |
501 | If you have multi-factor authentication set up on your Gmail account, you can |
502 | generate an app-specific password for use with 'git send-email'. Visit | |
4855f06f | 503 | https://security.google.com/settings/security/apppasswords to create it. |
66409881 | 504 | |
36c10e6d JN |
505 | Once your commits are ready to be sent to the mailing list, run the |
506 | following commands: | |
507 | ||
508 | $ git format-patch --cover-letter -M origin/master -o outgoing/ | |
509 | $ edit outgoing/0000-* | |
510 | $ git send-email outgoing/* | |
511 | ||
4855f06f MN |
512 | The first time you run it, you will be prompted for your credentials. Enter the |
513 | app-specific or your regular password as appropriate. If you have credential | |
514 | helper configured (see linkgit:git-credential[1]), the password will be saved in | |
515 | the credential store so you won't have to type it the next time. | |
516 | ||
9df8f734 CM |
517 | Note: the following core Perl modules that may be installed with your |
518 | distribution of Perl are required: | |
519 | MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP. | |
520 | These additional Perl modules are also required: | |
521 | Authen::SASL and Mail::Address. | |
522 | ||
2b873e06 | 523 | |
36c10e6d JN |
524 | SEE ALSO |
525 | -------- | |
526 | linkgit:git-format-patch[1], linkgit:git-imap-send[1], mbox(5) | |
527 | ||
479cec96 RA |
528 | GIT |
529 | --- | |
9e1f0a85 | 530 | Part of the linkgit:git[1] suite |