logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

git-send-email.1 (30920B)


  1. '\" t
  2. .\" Title: git-send-email
  3. .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
  4. .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
  5. .\" Date: 2025-03-14
  6. .\" Manual: Git Manual
  7. .\" Source: Git 2.49.0
  8. .\" Language: English
  9. .\"
  10. .TH "GIT\-SEND\-EMAIL" "1" "2025-03-14" "Git 2\&.49\&.0" "Git Manual"
  11. .\" -----------------------------------------------------------------
  12. .\" * Define some portability stuff
  13. .\" -----------------------------------------------------------------
  14. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. .\" http://bugs.debian.org/507673
  16. .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  17. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. .ie \n(.g .ds Aq \(aq
  19. .el .ds Aq '
  20. .\" -----------------------------------------------------------------
  21. .\" * set default formatting
  22. .\" -----------------------------------------------------------------
  23. .\" disable hyphenation
  24. .nh
  25. .\" disable justification (adjust text to left margin only)
  26. .ad l
  27. .\" -----------------------------------------------------------------
  28. .\" * MAIN CONTENT STARTS HERE *
  29. .\" -----------------------------------------------------------------
  30. .SH "NAME"
  31. git-send-email \- Send a collection of patches as emails
  32. .SH "SYNOPSIS"
  33. .sp
  34. .nf
  35. \fIgit send\-email\fR [<options>] (<file>|<directory>)\&...\:
  36. \fIgit send\-email\fR [<options>] <format\-patch\-options>
  37. \fIgit send\-email\fR \-\-dump\-aliases
  38. \fIgit send\-email\fR \-\-translate\-aliases
  39. .fi
  40. .SH "DESCRIPTION"
  41. .sp
  42. Takes the patches given on the command line and emails them out\&. Patches can be specified as files, directories (which will send all files in the directory), or directly as a revision list\&. In the last case, any format accepted by \fBgit-format-patch\fR(1) can be passed to git send\-email, as well as options understood by \fBgit-format-patch\fR(1)\&.
  43. .sp
  44. The header of the email is configurable via command\-line options\&. If not specified on the command line, the user will be prompted with a ReadLine enabled interface to provide the necessary information\&.
  45. .sp
  46. There are two formats accepted for patch files:
  47. .sp
  48. .RS 4
  49. .ie n \{\
  50. \h'-04' 1.\h'+01'\c
  51. .\}
  52. .el \{\
  53. .sp -1
  54. .IP " 1." 4.2
  55. .\}
  56. mbox format files
  57. .sp
  58. This is what
  59. \fBgit-format-patch\fR(1)
  60. generates\&. Most headers and MIME formatting are ignored\&.
  61. .RE
  62. .sp
  63. .RS 4
  64. .ie n \{\
  65. \h'-04' 2.\h'+01'\c
  66. .\}
  67. .el \{\
  68. .sp -1
  69. .IP " 2." 4.2
  70. .\}
  71. The original format used by Greg Kroah\-Hartman\(cqs
  72. \fIsend_lots_of_email\&.pl\fR
  73. script
  74. .sp
  75. This format expects the first line of the file to contain the "Cc:" value and the "Subject:" of the message as the second line\&.
  76. .RE
  77. .SH "OPTIONS"
  78. .SS "Composing"
  79. .PP
  80. \-\-annotate
  81. .RS 4
  82. Review and edit each patch you\(cqre about to send\&. Default is the value of
  83. \fBsendemail\&.annotate\fR\&. See the CONFIGURATION section for
  84. \fBsendemail\&.multiEdit\fR\&.
  85. .RE
  86. .PP
  87. \-\-bcc=<address>,\&...\:
  88. .RS 4
  89. Specify a "Bcc:" value for each email\&. Default is the value of
  90. \fBsendemail\&.bcc\fR\&.
  91. .sp
  92. This option may be specified multiple times\&.
  93. .RE
  94. .PP
  95. \-\-cc=<address>,\&...\:
  96. .RS 4
  97. Specify a starting "Cc:" value for each email\&. Default is the value of
  98. \fBsendemail\&.cc\fR\&.
  99. .sp
  100. This option may be specified multiple times\&.
  101. .RE
  102. .PP
  103. \-\-compose
  104. .RS 4
  105. Invoke a text editor (see GIT_EDITOR in
  106. \fBgit-var\fR(1)) to edit an introductory message for the patch series\&.
  107. .sp
  108. When
  109. \fB\-\-compose\fR
  110. is used, git send\-email will use the From, To, Cc, Bcc, Subject, Reply\-To, and In\-Reply\-To headers specified in the message\&. If the body of the message (what you type after the headers and a blank line) only contains blank (or Git: prefixed) lines, the summary won\(cqt be sent, but the headers mentioned above will be used unless they are removed\&.
  111. .sp
  112. Missing From or In\-Reply\-To headers will be prompted for\&.
  113. .sp
  114. See the CONFIGURATION section for
  115. \fBsendemail\&.multiEdit\fR\&.
  116. .RE
  117. .PP
  118. \-\-from=<address>
  119. .RS 4
  120. Specify the sender of the emails\&. If not specified on the command line, the value of the
  121. \fBsendemail\&.from\fR
  122. configuration option is used\&. If neither the command\-line option nor
  123. \fBsendemail\&.from\fR
  124. are set, then the user will be prompted for the value\&. The default for the prompt will be the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not set, as returned by "git var \-l"\&.
  125. .RE
  126. .PP
  127. \-\-reply\-to=<address>
  128. .RS 4
  129. Specify the address where replies from recipients should go to\&. Use this if replies to messages should go to another address than what is specified with the \-\-from parameter\&.
  130. .RE
  131. .PP
  132. \-\-in\-reply\-to=<identifier>
  133. .RS 4
  134. Make the first mail (or all the mails with
  135. \fB\-\-no\-thread\fR) appear as a reply to the given Message\-ID, which avoids breaking threads to provide a new patch series\&. The second and subsequent emails will be sent as replies according to the
  136. \fB\-\-\fR[\fBno\-\fR]\fBchain\-reply\-to\fR
  137. setting\&.
  138. .sp
  139. So for example when
  140. \fB\-\-thread\fR
  141. and
  142. \fB\-\-no\-chain\-reply\-to\fR
  143. are specified, the second and subsequent patches will be replies to the first one like in the illustration below where [\fBPATCH\fR
  144. \fBv2\fR
  145. \fB0/3\fR] is in reply to [\fBPATCH\fR
  146. \fB0/2\fR]:
  147. .sp
  148. .if n \{\
  149. .RS 4
  150. .\}
  151. .nf
  152. [PATCH 0/2] Here is what I did\&.\&.\&.
  153. [PATCH 1/2] Clean up and tests
  154. [PATCH 2/2] Implementation
  155. [PATCH v2 0/3] Here is a reroll
  156. [PATCH v2 1/3] Clean up
  157. [PATCH v2 2/3] New tests
  158. [PATCH v2 3/3] Implementation
  159. .fi
  160. .if n \{\
  161. .RE
  162. .\}
  163. .sp
  164. Only necessary if \-\-compose is also set\&. If \-\-compose is not set, this will be prompted for\&.
  165. .RE
  166. .PP
  167. \-\-subject=<string>
  168. .RS 4
  169. Specify the initial subject of the email thread\&. Only necessary if \-\-compose is also set\&. If \-\-compose is not set, this will be prompted for\&.
  170. .RE
  171. .PP
  172. \-\-to=<address>,\&...\:
  173. .RS 4
  174. Specify the primary recipient of the emails generated\&. Generally, this will be the upstream maintainer of the project involved\&. Default is the value of the
  175. \fBsendemail\&.to\fR
  176. configuration value; if that is unspecified, and \-\-to\-cmd is not specified, this will be prompted for\&.
  177. .sp
  178. This option may be specified multiple times\&.
  179. .RE
  180. .PP
  181. \-\-8bit\-encoding=<encoding>
  182. .RS 4
  183. When encountering a non\-ASCII message or subject that does not declare its encoding, add headers/quoting to indicate it is encoded in <encoding>\&. Default is the value of the
  184. \fIsendemail\&.assume8bitEncoding\fR; if that is unspecified, this will be prompted for if any non\-ASCII files are encountered\&.
  185. .sp
  186. Note that no attempts whatsoever are made to validate the encoding\&.
  187. .RE
  188. .PP
  189. \-\-compose\-encoding=<encoding>
  190. .RS 4
  191. Specify encoding of compose message\&. Default is the value of the
  192. \fIsendemail\&.composeEncoding\fR; if that is unspecified, UTF\-8 is assumed\&.
  193. .RE
  194. .PP
  195. \-\-transfer\-encoding=(7bit|8bit|quoted\-printable|base64|auto)
  196. .RS 4
  197. Specify the transfer encoding to be used to send the message over SMTP\&. 7bit will fail upon encountering a non\-ASCII message\&. quoted\-printable can be useful when the repository contains files that contain carriage returns, but makes the raw patch email file (as saved from a MUA) much harder to inspect manually\&. base64 is even more fool proof, but also even more opaque\&. auto will use 8bit when possible, and quoted\-printable otherwise\&.
  198. .sp
  199. Default is the value of the
  200. \fBsendemail\&.transferEncoding\fR
  201. configuration value; if that is unspecified, default to
  202. \fBauto\fR\&.
  203. .RE
  204. .PP
  205. \-\-xmailer, \-\-no\-xmailer
  206. .RS 4
  207. Add (or prevent adding) the "X\-Mailer:" header\&. By default, the header is added, but it can be turned off by setting the
  208. \fBsendemail\&.xmailer\fR
  209. configuration variable to
  210. \fBfalse\fR\&.
  211. .RE
  212. .SS "Sending"
  213. .PP
  214. \-\-envelope\-sender=<address>
  215. .RS 4
  216. Specify the envelope sender used to send the emails\&. This is useful if your default address is not the address that is subscribed to a list\&. In order to use the
  217. \fIFrom\fR
  218. address, set the value to "auto"\&. If you use the sendmail binary, you must have suitable privileges for the \-f parameter\&. Default is the value of the
  219. \fBsendemail\&.envelopeSender\fR
  220. configuration variable; if that is unspecified, choosing the envelope sender is left to your MTA\&.
  221. .RE
  222. .PP
  223. \-\-sendmail\-cmd=<command>
  224. .RS 4
  225. Specify a command to run to send the email\&. The command should be sendmail\-like; specifically, it must support the
  226. \fB\-i\fR
  227. option\&. The command will be executed in the shell if necessary\&. Default is the value of
  228. \fBsendemail\&.sendmailCmd\fR\&. If unspecified, and if \-\-smtp\-server is also unspecified, git\-send\-email will search for
  229. \fBsendmail\fR
  230. in
  231. \fB/usr/sbin\fR,
  232. \fB/usr/lib\fR
  233. and $PATH\&.
  234. .RE
  235. .PP
  236. \-\-smtp\-encryption=<encryption>
  237. .RS 4
  238. Specify in what way encrypting begins for the SMTP connection\&. Valid values are
  239. \fIssl\fR
  240. and
  241. \fItls\fR\&. Any other value reverts to plain (unencrypted) SMTP, which defaults to port 25\&. Despite the names, both values will use the same newer version of TLS, but for historic reasons have these names\&.
  242. \fIssl\fR
  243. refers to "implicit" encryption (sometimes called SMTPS), that uses port 465 by default\&.
  244. \fItls\fR
  245. refers to "explicit" encryption (often known as STARTTLS), that uses port 25 by default\&. Other ports might be used by the SMTP server, which are not the default\&. Commonly found alternative port for
  246. \fItls\fR
  247. and unencrypted is 587\&. You need to check your provider\(cqs documentation or your server configuration to make sure for your own case\&. Default is the value of
  248. \fBsendemail\&.smtpEncryption\fR\&.
  249. .RE
  250. .PP
  251. \-\-smtp\-domain=<FQDN>
  252. .RS 4
  253. Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO command to the SMTP server\&. Some servers require the FQDN to match your IP address\&. If not set, git send\-email attempts to determine your FQDN automatically\&. Default is the value of
  254. \fBsendemail\&.smtpDomain\fR\&.
  255. .RE
  256. .PP
  257. \-\-smtp\-auth=<mechanisms>
  258. .RS 4
  259. Whitespace\-separated list of allowed SMTP\-AUTH mechanisms\&. This setting forces using only the listed mechanisms\&. Example:
  260. .sp
  261. .if n \{\
  262. .RS 4
  263. .\}
  264. .nf
  265. $ git send\-email \-\-smtp\-auth="PLAIN LOGIN GSSAPI" \&.\&.\&.
  266. .fi
  267. .if n \{\
  268. .RE
  269. .\}
  270. .sp
  271. If at least one of the specified mechanisms matches the ones advertised by the SMTP server and if it is supported by the utilized SASL library, the mechanism is used for authentication\&. If neither
  272. \fIsendemail\&.smtpAuth\fR
  273. nor
  274. \fB\-\-smtp\-auth\fR
  275. is specified, all mechanisms supported by the SASL library can be used\&. The special value
  276. \fInone\fR
  277. maybe specified to completely disable authentication independently of
  278. \fB\-\-smtp\-user\fR
  279. .RE
  280. .PP
  281. \-\-smtp\-pass[=<password>]
  282. .RS 4
  283. Password for SMTP\-AUTH\&. The argument is optional: If no argument is specified, then the empty string is used as the password\&. Default is the value of
  284. \fBsendemail\&.smtpPass\fR, however
  285. \fB\-\-smtp\-pass\fR
  286. always overrides this value\&.
  287. .sp
  288. Furthermore, passwords need not be specified in configuration files or on the command line\&. If a username has been specified (with
  289. \fB\-\-smtp\-user\fR
  290. or a
  291. \fBsendemail\&.smtpUser\fR), but no password has been specified (with
  292. \fB\-\-smtp\-pass\fR
  293. or
  294. \fBsendemail\&.smtpPass\fR), then a password is obtained using
  295. \fIgit\-credential\fR\&.
  296. .RE
  297. .PP
  298. \-\-no\-smtp\-auth
  299. .RS 4
  300. Disable SMTP authentication\&. Short hand for
  301. \fB\-\-smtp\-auth=none\fR
  302. .RE
  303. .PP
  304. \-\-smtp\-server=<host>
  305. .RS 4
  306. If set, specifies the outgoing SMTP server to use (e\&.g\&.
  307. \fBsmtp\&.example\&.com\fR
  308. or a raw IP address)\&. If unspecified, and if
  309. \fB\-\-sendmail\-cmd\fR
  310. is also unspecified, the default is to search for
  311. \fBsendmail\fR
  312. in
  313. \fB/usr/sbin\fR,
  314. \fB/usr/lib\fR
  315. and $PATH if such a program is available, falling back to
  316. \fBlocalhost\fR
  317. otherwise\&.
  318. .sp
  319. For backward compatibility, this option can also specify a full pathname of a sendmail\-like program instead; the program must support the
  320. \fB\-i\fR
  321. option\&. This method does not support passing arguments or using plain command names\&. For those use cases, consider using
  322. \fB\-\-sendmail\-cmd\fR
  323. instead\&.
  324. .RE
  325. .PP
  326. \-\-smtp\-server\-port=<port>
  327. .RS 4
  328. Specifies a port different from the default port (SMTP servers typically listen to smtp port 25, but may also listen to submission port 587, or the common SSL smtp port 465); symbolic port names (e\&.g\&. "submission" instead of 587) are also accepted\&. The port can also be set with the
  329. \fBsendemail\&.smtpServerPort\fR
  330. configuration variable\&.
  331. .RE
  332. .PP
  333. \-\-smtp\-server\-option=<option>
  334. .RS 4
  335. If set, specifies the outgoing SMTP server option to use\&. Default value can be specified by the
  336. \fBsendemail\&.smtpServerOption\fR
  337. configuration option\&.
  338. .sp
  339. The \-\-smtp\-server\-option option must be repeated for each option you want to pass to the server\&. Likewise, different lines in the configuration files must be used for each option\&.
  340. .RE
  341. .PP
  342. \-\-smtp\-ssl
  343. .RS 4
  344. Legacy alias for
  345. \fI\-\-smtp\-encryption ssl\fR\&.
  346. .RE
  347. .PP
  348. \-\-smtp\-ssl\-cert\-path
  349. .RS 4
  350. Path to a store of trusted CA certificates for SMTP SSL/TLS certificate validation (either a directory that has been processed by
  351. \fIc_rehash\fR, or a single file containing one or more PEM format certificates concatenated together: see verify(1) \-CAfile and \-CApath for more information on these)\&. Set it to an empty string to disable certificate verification\&. Defaults to the value of the
  352. \fBsendemail\&.smtpSSLCertPath\fR
  353. configuration variable, if set, or the backing SSL library\(cqs compiled\-in default otherwise (which should be the best choice on most platforms)\&.
  354. .RE
  355. .PP
  356. \-\-smtp\-user=<user>
  357. .RS 4
  358. Username for SMTP\-AUTH\&. Default is the value of
  359. \fBsendemail\&.smtpUser\fR; if a username is not specified (with
  360. \fB\-\-smtp\-user\fR
  361. or
  362. \fBsendemail\&.smtpUser\fR), then authentication is not attempted\&.
  363. .RE
  364. .PP
  365. \-\-smtp\-debug=(0|1)
  366. .RS 4
  367. Enable (1) or disable (0) debug output\&. If enabled, SMTP commands and replies will be printed\&. Useful to debug TLS connection and authentication problems\&.
  368. .RE
  369. .PP
  370. \-\-batch\-size=<num>
  371. .RS 4
  372. Some email servers (e\&.g\&. smtp\&.163\&.com) limit the number emails to be sent per session (connection) and this will lead to a failure when sending many messages\&. With this option, send\-email will disconnect after sending $<num> messages and wait for a few seconds (see \-\-relogin\-delay) and reconnect, to work around such a limit\&. You may want to use some form of credential helper to avoid having to retype your password every time this happens\&. Defaults to the
  373. \fBsendemail\&.smtpBatchSize\fR
  374. configuration variable\&.
  375. .RE
  376. .PP
  377. \-\-relogin\-delay=<int>
  378. .RS 4
  379. Waiting $<int> seconds before reconnecting to SMTP server\&. Used together with \-\-batch\-size option\&. Defaults to the
  380. \fBsendemail\&.smtpReloginDelay\fR
  381. configuration variable\&.
  382. .RE
  383. .SS "Automating"
  384. .PP
  385. \-\-no\-to, \-\-no\-cc, \-\-no\-bcc
  386. .RS 4
  387. Clears any list of "To:", "Cc:", "Bcc:" addresses previously set via config\&.
  388. .RE
  389. .PP
  390. \-\-no\-identity
  391. .RS 4
  392. Clears the previously read value of
  393. \fBsendemail\&.identity\fR
  394. set via config, if any\&.
  395. .RE
  396. .PP
  397. \-\-to\-cmd=<command>
  398. .RS 4
  399. Specify a command to execute once per patch file which should generate patch file specific "To:" entries\&. Output of this command must be single email address per line\&. Default is the value of
  400. \fIsendemail\&.toCmd\fR
  401. configuration value\&.
  402. .RE
  403. .PP
  404. \-\-cc\-cmd=<command>
  405. .RS 4
  406. Specify a command to execute once per patch file which should generate patch file specific "Cc:" entries\&. Output of this command must be single email address per line\&. Default is the value of
  407. \fBsendemail\&.ccCmd\fR
  408. configuration value\&.
  409. .RE
  410. .PP
  411. \-\-header\-cmd=<command>
  412. .RS 4
  413. Specify a command that is executed once per outgoing message and output RFC 2822 style header lines to be inserted into them\&. When the
  414. \fBsendemail\&.headerCmd\fR
  415. configuration variable is set, its value is always used\&. When \-\-header\-cmd is provided at the command line, its value takes precedence over the
  416. \fBsendemail\&.headerCmd\fR
  417. configuration variable\&.
  418. .RE
  419. .PP
  420. \-\-no\-header\-cmd
  421. .RS 4
  422. Disable any header command in use\&.
  423. .RE
  424. .PP
  425. \-\-[no\-]chain\-reply\-to
  426. .RS 4
  427. If this is set, each email will be sent as a reply to the previous email sent\&. If disabled with "\-\-no\-chain\-reply\-to", all emails after the first will be sent as replies to the first email sent\&. When using this, it is recommended that the first file given be an overview of the entire patch series\&. Disabled by default, but the
  428. \fBsendemail\&.chainReplyTo\fR
  429. configuration variable can be used to enable it\&.
  430. .RE
  431. .PP
  432. \-\-identity=<identity>
  433. .RS 4
  434. A configuration identity\&. When given, causes values in the
  435. \fIsendemail\&.<identity>\fR
  436. subsection to take precedence over values in the
  437. \fIsendemail\fR
  438. section\&. The default identity is the value of
  439. \fBsendemail\&.identity\fR\&.
  440. .RE
  441. .PP
  442. \-\-[no\-]signed\-off\-by\-cc
  443. .RS 4
  444. If this is set, add emails found in the
  445. \fBSigned\-off\-by\fR
  446. trailer or Cc: lines to the cc list\&. Default is the value of
  447. \fBsendemail\&.signedOffByCc\fR
  448. configuration value; if that is unspecified, default to \-\-signed\-off\-by\-cc\&.
  449. .RE
  450. .PP
  451. \-\-[no\-]cc\-cover
  452. .RS 4
  453. If this is set, emails found in Cc: headers in the first patch of the series (typically the cover letter) are added to the cc list for each email set\&. Default is the value of
  454. \fIsendemail\&.ccCover\fR
  455. configuration value; if that is unspecified, default to \-\-no\-cc\-cover\&.
  456. .RE
  457. .PP
  458. \-\-[no\-]to\-cover
  459. .RS 4
  460. If this is set, emails found in To: headers in the first patch of the series (typically the cover letter) are added to the to list for each email set\&. Default is the value of
  461. \fIsendemail\&.toCover\fR
  462. configuration value; if that is unspecified, default to \-\-no\-to\-cover\&.
  463. .RE
  464. .PP
  465. \-\-suppress\-cc=<category>
  466. .RS 4
  467. Specify an additional category of recipients to suppress the auto\-cc of:
  468. .sp
  469. .RS 4
  470. .ie n \{\
  471. \h'-04'\(bu\h'+03'\c
  472. .\}
  473. .el \{\
  474. .sp -1
  475. .IP \(bu 2.3
  476. .\}
  477. \fIauthor\fR
  478. will avoid including the patch author\&.
  479. .RE
  480. .sp
  481. .RS 4
  482. .ie n \{\
  483. \h'-04'\(bu\h'+03'\c
  484. .\}
  485. .el \{\
  486. .sp -1
  487. .IP \(bu 2.3
  488. .\}
  489. \fIself\fR
  490. will avoid including the sender\&.
  491. .RE
  492. .sp
  493. .RS 4
  494. .ie n \{\
  495. \h'-04'\(bu\h'+03'\c
  496. .\}
  497. .el \{\
  498. .sp -1
  499. .IP \(bu 2.3
  500. .\}
  501. \fIcc\fR
  502. will avoid including anyone mentioned in Cc lines in the patch header except for self (use
  503. \fIself\fR
  504. for that)\&.
  505. .RE
  506. .sp
  507. .RS 4
  508. .ie n \{\
  509. \h'-04'\(bu\h'+03'\c
  510. .\}
  511. .el \{\
  512. .sp -1
  513. .IP \(bu 2.3
  514. .\}
  515. \fIbodycc\fR
  516. will avoid including anyone mentioned in Cc lines in the patch body (commit message) except for self (use
  517. \fIself\fR
  518. for that)\&.
  519. .RE
  520. .sp
  521. .RS 4
  522. .ie n \{\
  523. \h'-04'\(bu\h'+03'\c
  524. .\}
  525. .el \{\
  526. .sp -1
  527. .IP \(bu 2.3
  528. .\}
  529. \fIsob\fR
  530. will avoid including anyone mentioned in the Signed\-off\-by trailers except for self (use
  531. \fIself\fR
  532. for that)\&.
  533. .RE
  534. .sp
  535. .RS 4
  536. .ie n \{\
  537. \h'-04'\(bu\h'+03'\c
  538. .\}
  539. .el \{\
  540. .sp -1
  541. .IP \(bu 2.3
  542. .\}
  543. \fImisc\-by\fR
  544. will avoid including anyone mentioned in Acked\-by, Reviewed\-by, Tested\-by and other "\-by" lines in the patch body, except Signed\-off\-by (use
  545. \fIsob\fR
  546. for that)\&.
  547. .RE
  548. .sp
  549. .RS 4
  550. .ie n \{\
  551. \h'-04'\(bu\h'+03'\c
  552. .\}
  553. .el \{\
  554. .sp -1
  555. .IP \(bu 2.3
  556. .\}
  557. \fIcccmd\fR
  558. will avoid running the \-\-cc\-cmd\&.
  559. .RE
  560. .sp
  561. .RS 4
  562. .ie n \{\
  563. \h'-04'\(bu\h'+03'\c
  564. .\}
  565. .el \{\
  566. .sp -1
  567. .IP \(bu 2.3
  568. .\}
  569. \fIbody\fR
  570. is equivalent to
  571. \fIsob\fR
  572. +
  573. \fIbodycc\fR
  574. +
  575. \fImisc\-by\fR\&.
  576. .RE
  577. .sp
  578. .RS 4
  579. .ie n \{\
  580. \h'-04'\(bu\h'+03'\c
  581. .\}
  582. .el \{\
  583. .sp -1
  584. .IP \(bu 2.3
  585. .\}
  586. \fIall\fR
  587. will suppress all auto cc values\&.
  588. .RE
  589. .sp
  590. Default is the value of
  591. \fBsendemail\&.suppressCc\fR
  592. configuration value; if that is unspecified, default to
  593. \fIself\fR
  594. if \-\-suppress\-from is specified, as well as
  595. \fIbody\fR
  596. if \-\-no\-signed\-off\-cc is specified\&.
  597. .RE
  598. .PP
  599. \-\-[no\-]suppress\-from
  600. .RS 4
  601. If this is set, do not add the From: address to the cc: list\&. Default is the value of
  602. \fBsendemail\&.suppressFrom\fR
  603. configuration value; if that is unspecified, default to \-\-no\-suppress\-from\&.
  604. .RE
  605. .PP
  606. \-\-[no\-]thread
  607. .RS 4
  608. If this is set, the In\-Reply\-To and References headers will be added to each email sent\&. Whether each mail refers to the previous email (\fBdeep\fR
  609. threading per
  610. \fIgit format\-patch\fR
  611. wording) or to the first email (\fBshallow\fR
  612. threading) is governed by "\-\-[no\-]chain\-reply\-to"\&.
  613. .sp
  614. If disabled with "\-\-no\-thread", those headers will not be added (unless specified with \-\-in\-reply\-to)\&. Default is the value of the
  615. \fBsendemail\&.thread\fR
  616. configuration value; if that is unspecified, default to \-\-thread\&.
  617. .sp
  618. It is up to the user to ensure that no In\-Reply\-To header already exists when
  619. \fIgit send\-email\fR
  620. is asked to add it (especially note that
  621. \fIgit format\-patch\fR
  622. can be configured to do the threading itself)\&. Failure to do so may not produce the expected result in the recipient\(cqs MUA\&.
  623. .RE
  624. .PP
  625. \-\-[no\-]mailmap
  626. .RS 4
  627. Use the mailmap file (see
  628. \fBgitmailmap\fR(5)) to map all addresses to their canonical real name and email address\&. Additional mailmap data specific to git\-send\-email may be provided using the
  629. \fBsendemail\&.mailmap\&.file\fR
  630. or
  631. \fBsendemail\&.mailmap\&.blob\fR
  632. configuration values\&. Defaults to
  633. \fBsendemail\&.mailmap\fR\&.
  634. .RE
  635. .SS "Administering"
  636. .PP
  637. \-\-confirm=<mode>
  638. .RS 4
  639. Confirm just before sending:
  640. .sp
  641. .RS 4
  642. .ie n \{\
  643. \h'-04'\(bu\h'+03'\c
  644. .\}
  645. .el \{\
  646. .sp -1
  647. .IP \(bu 2.3
  648. .\}
  649. \fIalways\fR
  650. will always confirm before sending
  651. .RE
  652. .sp
  653. .RS 4
  654. .ie n \{\
  655. \h'-04'\(bu\h'+03'\c
  656. .\}
  657. .el \{\
  658. .sp -1
  659. .IP \(bu 2.3
  660. .\}
  661. \fInever\fR
  662. will never confirm before sending
  663. .RE
  664. .sp
  665. .RS 4
  666. .ie n \{\
  667. \h'-04'\(bu\h'+03'\c
  668. .\}
  669. .el \{\
  670. .sp -1
  671. .IP \(bu 2.3
  672. .\}
  673. \fIcc\fR
  674. will confirm before sending when send\-email has automatically added addresses from the patch to the Cc list
  675. .RE
  676. .sp
  677. .RS 4
  678. .ie n \{\
  679. \h'-04'\(bu\h'+03'\c
  680. .\}
  681. .el \{\
  682. .sp -1
  683. .IP \(bu 2.3
  684. .\}
  685. \fIcompose\fR
  686. will confirm before sending the first message when using \-\-compose\&.
  687. .RE
  688. .sp
  689. .RS 4
  690. .ie n \{\
  691. \h'-04'\(bu\h'+03'\c
  692. .\}
  693. .el \{\
  694. .sp -1
  695. .IP \(bu 2.3
  696. .\}
  697. \fIauto\fR
  698. is equivalent to
  699. \fIcc\fR
  700. +
  701. \fIcompose\fR
  702. .RE
  703. .sp
  704. Default is the value of
  705. \fBsendemail\&.confirm\fR
  706. configuration value; if that is unspecified, default to
  707. \fIauto\fR
  708. unless any of the suppress options have been specified, in which case default to
  709. \fIcompose\fR\&.
  710. .RE
  711. .PP
  712. \-\-dry\-run
  713. .RS 4
  714. Do everything except actually send the emails\&.
  715. .RE
  716. .PP
  717. \-\-[no\-]format\-patch
  718. .RS 4
  719. When an argument may be understood either as a reference or as a file name, choose to understand it as a format\-patch argument (\fB\-\-format\-patch\fR) or as a file name (\fB\-\-no\-format\-patch\fR)\&. By default, when such a conflict occurs, git send\-email will fail\&.
  720. .RE
  721. .PP
  722. \-\-quiet
  723. .RS 4
  724. Make git\-send\-email less verbose\&. One line per email should be all that is output\&.
  725. .RE
  726. .PP
  727. \-\-[no\-]validate
  728. .RS 4
  729. Perform sanity checks on patches\&. Currently, validation means the following:
  730. .sp
  731. .RS 4
  732. .ie n \{\
  733. \h'-04'\(bu\h'+03'\c
  734. .\}
  735. .el \{\
  736. .sp -1
  737. .IP \(bu 2.3
  738. .\}
  739. Invoke the sendemail\-validate hook if present (see
  740. \fBgithooks\fR(5))\&.
  741. .RE
  742. .sp
  743. .RS 4
  744. .ie n \{\
  745. \h'-04'\(bu\h'+03'\c
  746. .\}
  747. .el \{\
  748. .sp -1
  749. .IP \(bu 2.3
  750. .\}
  751. Warn of patches that contain lines longer than 998 characters unless a suitable transfer encoding (\fIauto\fR,
  752. \fIbase64\fR, or
  753. \fIquoted\-printable\fR) is used; this is due to SMTP limits as described by
  754. \m[blue]\fBhttps://www\&.ietf\&.org/rfc/rfc5322\&.txt\fR\m[]\&.
  755. .RE
  756. .sp
  757. Default is the value of
  758. \fBsendemail\&.validate\fR; if this is not set, default to
  759. \fB\-\-validate\fR\&.
  760. .RE
  761. .PP
  762. \-\-force
  763. .RS 4
  764. Send emails even if safety checks would prevent it\&.
  765. .RE
  766. .SS "Information"
  767. .PP
  768. \-\-dump\-aliases
  769. .RS 4
  770. Instead of the normal operation, dump the shorthand alias names from the configured alias file(s), one per line in alphabetical order\&. Note that this only includes the alias name and not its expanded email addresses\&. See
  771. \fIsendemail\&.aliasesFile\fR
  772. for more information about aliases\&.
  773. .RE
  774. .PP
  775. \-\-translate\-aliases
  776. .RS 4
  777. Instead of the normal operation, read from standard input and interpret each line as an email alias\&. Translate it according to the configured alias file(s)\&. Output each translated name and email address to standard output, one per line\&. See
  778. \fIsendemail\&.aliasFile\fR
  779. for more information about aliases\&.
  780. .RE
  781. .SH "CONFIGURATION"
  782. .sp
  783. Everything below this line in this section is selectively included from the \fBgit-config\fR(1) documentation\&. The content is the same as what\(cqs found there:
  784. .PP
  785. sendemail\&.identity
  786. .RS 4
  787. A configuration identity\&. When given, causes values in the
  788. \fIsendemail\&.<identity>\fR
  789. subsection to take precedence over values in the
  790. \fIsendemail\fR
  791. section\&. The default identity is the value of
  792. \fBsendemail\&.identity\fR\&.
  793. .RE
  794. .PP
  795. sendemail\&.smtpEncryption
  796. .RS 4
  797. See
  798. \fBgit-send-email\fR(1)
  799. for description\&. Note that this setting is not subject to the
  800. \fIidentity\fR
  801. mechanism\&.
  802. .RE
  803. .PP
  804. sendemail\&.smtpSSLCertPath
  805. .RS 4
  806. Path to ca\-certificates (either a directory or a single file)\&. Set it to an empty string to disable certificate verification\&.
  807. .RE
  808. .PP
  809. sendemail\&.<identity>\&.*
  810. .RS 4
  811. Identity\-specific versions of the
  812. \fIsendemail\&.*\fR
  813. parameters found below, taking precedence over those when this identity is selected, through either the command\-line or
  814. \fBsendemail\&.identity\fR\&.
  815. .RE
  816. .PP
  817. sendemail\&.multiEdit
  818. .RS 4
  819. If true (default), a single editor instance will be spawned to edit files you have to edit (patches when
  820. \fB\-\-annotate\fR
  821. is used, and the summary when
  822. \fB\-\-compose\fR
  823. is used)\&. If false, files will be edited one after the other, spawning a new editor each time\&.
  824. .RE
  825. .PP
  826. sendemail\&.confirm
  827. .RS 4
  828. Sets the default for whether to confirm before sending\&. Must be one of
  829. \fIalways\fR,
  830. \fInever\fR,
  831. \fIcc\fR,
  832. \fIcompose\fR, or
  833. \fIauto\fR\&. See
  834. \fB\-\-confirm\fR
  835. in the
  836. \fBgit-send-email\fR(1)
  837. documentation for the meaning of these values\&.
  838. .RE
  839. .PP
  840. sendemail\&.mailmap
  841. .RS 4
  842. If true, makes
  843. \fBgit-send-email\fR(1)
  844. assume
  845. \fB\-\-mailmap\fR, otherwise assume
  846. \fB\-\-no\-mailmap\fR\&. False by default\&.
  847. .RE
  848. .PP
  849. sendemail\&.mailmap\&.file
  850. .RS 4
  851. The location of a
  852. \fBgit-send-email\fR(1)
  853. specific augmenting mailmap file\&. The default mailmap and
  854. \fBmailmap\&.file\fR
  855. are loaded first\&. Thus, entries in this file take precedence over entries in the default mailmap locations\&. See
  856. \fBgitmailmap\fR(5)\&.
  857. .RE
  858. .PP
  859. sendemail\&.mailmap\&.blob
  860. .RS 4
  861. Like
  862. \fBsendemail\&.mailmap\&.file\fR, but consider the value as a reference to a blob in the repository\&. Entries in
  863. \fBsendemail\&.mailmap\&.file\fR
  864. take precedence over entries here\&. See
  865. \fBgitmailmap\fR(5)\&.
  866. .RE
  867. .PP
  868. sendemail\&.aliasesFile
  869. .RS 4
  870. To avoid typing long email addresses, point this to one or more email aliases files\&. You must also supply
  871. \fBsendemail\&.aliasFileType\fR\&.
  872. .RE
  873. .PP
  874. sendemail\&.aliasFileType
  875. .RS 4
  876. Format of the file(s) specified in sendemail\&.aliasesFile\&. Must be one of
  877. \fImutt\fR,
  878. \fImailrc\fR,
  879. \fIpine\fR,
  880. \fIelm\fR,
  881. \fIgnus\fR, or
  882. \fIsendmail\fR\&.
  883. .sp
  884. What an alias file in each format looks like can be found in the documentation of the email program of the same name\&. The differences and limitations from the standard formats are described below:
  885. .PP
  886. sendmail
  887. .RS 4
  888. .sp
  889. .RS 4
  890. .ie n \{\
  891. \h'-04'\(bu\h'+03'\c
  892. .\}
  893. .el \{\
  894. .sp -1
  895. .IP \(bu 2.3
  896. .\}
  897. Quoted aliases and quoted addresses are not supported: lines that contain a " symbol are ignored\&.
  898. .RE
  899. .sp
  900. .RS 4
  901. .ie n \{\
  902. \h'-04'\(bu\h'+03'\c
  903. .\}
  904. .el \{\
  905. .sp -1
  906. .IP \(bu 2.3
  907. .\}
  908. Redirection to a file (\fB/path/name\fR) or pipe (|\fBcommand\fR) is not supported\&.
  909. .RE
  910. .sp
  911. .RS 4
  912. .ie n \{\
  913. \h'-04'\(bu\h'+03'\c
  914. .\}
  915. .el \{\
  916. .sp -1
  917. .IP \(bu 2.3
  918. .\}
  919. File inclusion (\fB:include:\fR
  920. \fB/path/name\fR) is not supported\&.
  921. .RE
  922. .sp
  923. .RS 4
  924. .ie n \{\
  925. \h'-04'\(bu\h'+03'\c
  926. .\}
  927. .el \{\
  928. .sp -1
  929. .IP \(bu 2.3
  930. .\}
  931. Warnings are printed on the standard error output for any explicitly unsupported constructs, and any other lines that are not recognized by the parser\&.
  932. .RE
  933. .RE
  934. .RE
  935. .PP
  936. sendemail\&.annotate, sendemail\&.bcc, sendemail\&.cc, sendemail\&.ccCmd, sendemail\&.chainReplyTo, sendemail\&.envelopeSender, sendemail\&.from, sendemail\&.headerCmd, sendemail\&.signedOffByCc, sendemail\&.smtpPass, sendemail\&.suppressCc, sendemail\&.suppressFrom, sendemail\&.to, sendemail\&.toCmd, sendemail\&.smtpDomain, sendemail\&.smtpServer, sendemail\&.smtpServerPort, sendemail\&.smtpServerOption, sendemail\&.smtpUser, sendemail\&.thread, sendemail\&.transferEncoding, sendemail\&.validate, sendemail\&.xmailer
  937. .RS 4
  938. These configuration variables all provide a default for
  939. \fBgit-send-email\fR(1)
  940. command\-line options\&. See its documentation for details\&.
  941. .RE
  942. .PP
  943. sendemail\&.signedOffCc (deprecated)
  944. .RS 4
  945. Deprecated alias for
  946. \fBsendemail\&.signedOffByCc\fR\&.
  947. .RE
  948. .PP
  949. sendemail\&.smtpBatchSize
  950. .RS 4
  951. Number of messages to be sent per connection, after that a relogin will happen\&. If the value is 0 or undefined, send all messages in one connection\&. See also the
  952. \fB\-\-batch\-size\fR
  953. option of
  954. \fBgit-send-email\fR(1)\&.
  955. .RE
  956. .PP
  957. sendemail\&.smtpReloginDelay
  958. .RS 4
  959. Seconds to wait before reconnecting to the smtp server\&. See also the
  960. \fB\-\-relogin\-delay\fR
  961. option of
  962. \fBgit-send-email\fR(1)\&.
  963. .RE
  964. .PP
  965. sendemail\&.forbidSendmailVariables
  966. .RS 4
  967. To avoid common misconfiguration mistakes,
  968. \fBgit-send-email\fR(1)
  969. will abort with a warning if any configuration options for "sendmail" exist\&. Set this variable to bypass the check\&.
  970. .RE
  971. .SH "EXAMPLES"
  972. .SS "Use gmail as the smtp server"
  973. .sp
  974. To use \fIgit send\-email\fR to send your patches through the GMail SMTP server, edit ~/\&.gitconfig to specify your account settings:
  975. .sp
  976. .if n \{\
  977. .RS 4
  978. .\}
  979. .nf
  980. [sendemail]
  981. smtpEncryption = tls
  982. smtpServer = smtp\&.gmail\&.com
  983. smtpUser = yourname@gmail\&.com
  984. smtpServerPort = 587
  985. .fi
  986. .if n \{\
  987. .RE
  988. .\}
  989. .sp
  990. If you have multi\-factor authentication set up on your Gmail account, you can generate an app\-specific password for use with \fIgit send\-email\fR\&. Visit \m[blue]\fBhttps://security\&.google\&.com/settings/security/apppasswords\fR\m[] to create it\&.
  991. .sp
  992. Once your commits are ready to be sent to the mailing list, run the following commands:
  993. .sp
  994. .if n \{\
  995. .RS 4
  996. .\}
  997. .nf
  998. $ git format\-patch \-\-cover\-letter \-M origin/master \-o outgoing/
  999. $ edit outgoing/0000\-*
  1000. $ git send\-email outgoing/*
  1001. .fi
  1002. .if n \{\
  1003. .RE
  1004. .\}
  1005. .sp
  1006. The first time you run it, you will be prompted for your credentials\&. Enter the app\-specific or your regular password as appropriate\&. If you have credential helper configured (see \fBgit-credential\fR(1)), the password will be saved in the credential store so you won\(cqt have to type it the next time\&.
  1007. .sp
  1008. Note: the following core Perl modules that may be installed with your distribution of Perl are required: MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP\&. These additional Perl modules are also required: Authen::SASL and Mail::Address\&.
  1009. .SH "SEE ALSO"
  1010. .sp
  1011. \fBgit-format-patch\fR(1), \fBgit-imap-send\fR(1), mbox(5)
  1012. .SH "GIT"
  1013. .sp
  1014. Part of the \fBgit\fR(1) suite