Autogenerated HTML docs for v2.45.0-31-gd4cc1
[git-htmldocs.git] / git-send-email.html
blobbc80a7808f6b29620810ec5ebbdbd7df62046f30
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
7 <meta name="generator" content="AsciiDoc 10.2.0" />
8 <title>git-send-email(1)</title>
9 <style type="text/css">
10 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
12 /* Default font. */
13 body {
14 font-family: Georgia,serif;
17 /* Title font. */
18 h1, h2, h3, h4, h5, h6,
19 div.title, caption.title,
20 thead, p.table.header,
21 #toctitle,
22 #author, #revnumber, #revdate, #revremark,
23 #footer {
24 font-family: Arial,Helvetica,sans-serif;
27 body {
28 margin: 1em 5% 1em 5%;
31 a {
32 color: blue;
33 text-decoration: underline;
35 a:visited {
36 color: fuchsia;
39 em {
40 font-style: italic;
41 color: navy;
44 strong {
45 font-weight: bold;
46 color: #083194;
49 h1, h2, h3, h4, h5, h6 {
50 color: #527bbd;
51 margin-top: 1.2em;
52 margin-bottom: 0.5em;
53 line-height: 1.3;
56 h1, h2, h3 {
57 border-bottom: 2px solid silver;
59 h2 {
60 padding-top: 0.5em;
62 h3 {
63 float: left;
65 h3 + * {
66 clear: left;
68 h5 {
69 font-size: 1.0em;
72 div.sectionbody {
73 margin-left: 0;
76 hr {
77 border: 1px solid silver;
80 p {
81 margin-top: 0.5em;
82 margin-bottom: 0.5em;
85 ul, ol, li > p {
86 margin-top: 0;
88 ul > li { color: #aaa; }
89 ul > li > * { color: black; }
91 .monospaced, code, pre {
92 font-family: "Courier New", Courier, monospace;
93 font-size: inherit;
94 color: navy;
95 padding: 0;
96 margin: 0;
98 pre {
99 white-space: pre-wrap;
102 #author {
103 color: #527bbd;
104 font-weight: bold;
105 font-size: 1.1em;
107 #email {
109 #revnumber, #revdate, #revremark {
112 #footer {
113 font-size: small;
114 border-top: 2px solid silver;
115 padding-top: 0.5em;
116 margin-top: 4.0em;
118 #footer-text {
119 float: left;
120 padding-bottom: 0.5em;
122 #footer-badges {
123 float: right;
124 padding-bottom: 0.5em;
127 #preamble {
128 margin-top: 1.5em;
129 margin-bottom: 1.5em;
131 div.imageblock, div.exampleblock, div.verseblock,
132 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
133 div.admonitionblock {
134 margin-top: 1.0em;
135 margin-bottom: 1.5em;
137 div.admonitionblock {
138 margin-top: 2.0em;
139 margin-bottom: 2.0em;
140 margin-right: 10%;
141 color: #606060;
144 div.content { /* Block element content. */
145 padding: 0;
148 /* Block element titles. */
149 div.title, caption.title {
150 color: #527bbd;
151 font-weight: bold;
152 text-align: left;
153 margin-top: 1.0em;
154 margin-bottom: 0.5em;
156 div.title + * {
157 margin-top: 0;
160 td div.title:first-child {
161 margin-top: 0.0em;
163 div.content div.title:first-child {
164 margin-top: 0.0em;
166 div.content + div.title {
167 margin-top: 0.0em;
170 div.sidebarblock > div.content {
171 background: #ffffee;
172 border: 1px solid #dddddd;
173 border-left: 4px solid #f0f0f0;
174 padding: 0.5em;
177 div.listingblock > div.content {
178 border: 1px solid #dddddd;
179 border-left: 5px solid #f0f0f0;
180 background: #f8f8f8;
181 padding: 0.5em;
184 div.quoteblock, div.verseblock {
185 padding-left: 1.0em;
186 margin-left: 1.0em;
187 margin-right: 10%;
188 border-left: 5px solid #f0f0f0;
189 color: #888;
192 div.quoteblock > div.attribution {
193 padding-top: 0.5em;
194 text-align: right;
197 div.verseblock > pre.content {
198 font-family: inherit;
199 font-size: inherit;
201 div.verseblock > div.attribution {
202 padding-top: 0.75em;
203 text-align: left;
205 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
206 div.verseblock + div.attribution {
207 text-align: left;
210 div.admonitionblock .icon {
211 vertical-align: top;
212 font-size: 1.1em;
213 font-weight: bold;
214 text-decoration: underline;
215 color: #527bbd;
216 padding-right: 0.5em;
218 div.admonitionblock td.content {
219 padding-left: 0.5em;
220 border-left: 3px solid #dddddd;
223 div.exampleblock > div.content {
224 border-left: 3px solid #dddddd;
225 padding-left: 0.5em;
228 div.imageblock div.content { padding-left: 0; }
229 span.image img { border-style: none; vertical-align: text-bottom; }
230 a.image:visited { color: white; }
232 dl {
233 margin-top: 0.8em;
234 margin-bottom: 0.8em;
236 dt {
237 margin-top: 0.5em;
238 margin-bottom: 0;
239 font-style: normal;
240 color: navy;
242 dd > *:first-child {
243 margin-top: 0.1em;
246 ul, ol {
247 list-style-position: outside;
249 ol.arabic {
250 list-style-type: decimal;
252 ol.loweralpha {
253 list-style-type: lower-alpha;
255 ol.upperalpha {
256 list-style-type: upper-alpha;
258 ol.lowerroman {
259 list-style-type: lower-roman;
261 ol.upperroman {
262 list-style-type: upper-roman;
265 div.compact ul, div.compact ol,
266 div.compact p, div.compact p,
267 div.compact div, div.compact div {
268 margin-top: 0.1em;
269 margin-bottom: 0.1em;
272 tfoot {
273 font-weight: bold;
275 td > div.verse {
276 white-space: pre;
279 div.hdlist {
280 margin-top: 0.8em;
281 margin-bottom: 0.8em;
283 div.hdlist tr {
284 padding-bottom: 15px;
286 dt.hdlist1.strong, td.hdlist1.strong {
287 font-weight: bold;
289 td.hdlist1 {
290 vertical-align: top;
291 font-style: normal;
292 padding-right: 0.8em;
293 color: navy;
295 td.hdlist2 {
296 vertical-align: top;
298 div.hdlist.compact tr {
299 margin: 0;
300 padding-bottom: 0;
303 .comment {
304 background: yellow;
307 .footnote, .footnoteref {
308 font-size: 0.8em;
311 span.footnote, span.footnoteref {
312 vertical-align: super;
315 #footnotes {
316 margin: 20px 0 20px 0;
317 padding: 7px 0 0 0;
320 #footnotes div.footnote {
321 margin: 0 0 5px 0;
324 #footnotes hr {
325 border: none;
326 border-top: 1px solid silver;
327 height: 1px;
328 text-align: left;
329 margin-left: 0;
330 width: 20%;
331 min-width: 100px;
334 div.colist td {
335 padding-right: 0.5em;
336 padding-bottom: 0.3em;
337 vertical-align: top;
339 div.colist td img {
340 margin-top: 0.3em;
343 @media print {
344 #footer-badges { display: none; }
347 #toc {
348 margin-bottom: 2.5em;
351 #toctitle {
352 color: #527bbd;
353 font-size: 1.1em;
354 font-weight: bold;
355 margin-top: 1.0em;
356 margin-bottom: 0.1em;
359 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
360 margin-top: 0;
361 margin-bottom: 0;
363 div.toclevel2 {
364 margin-left: 2em;
365 font-size: 0.9em;
367 div.toclevel3 {
368 margin-left: 4em;
369 font-size: 0.9em;
371 div.toclevel4 {
372 margin-left: 6em;
373 font-size: 0.9em;
376 span.aqua { color: aqua; }
377 span.black { color: black; }
378 span.blue { color: blue; }
379 span.fuchsia { color: fuchsia; }
380 span.gray { color: gray; }
381 span.green { color: green; }
382 span.lime { color: lime; }
383 span.maroon { color: maroon; }
384 span.navy { color: navy; }
385 span.olive { color: olive; }
386 span.purple { color: purple; }
387 span.red { color: red; }
388 span.silver { color: silver; }
389 span.teal { color: teal; }
390 span.white { color: white; }
391 span.yellow { color: yellow; }
393 span.aqua-background { background: aqua; }
394 span.black-background { background: black; }
395 span.blue-background { background: blue; }
396 span.fuchsia-background { background: fuchsia; }
397 span.gray-background { background: gray; }
398 span.green-background { background: green; }
399 span.lime-background { background: lime; }
400 span.maroon-background { background: maroon; }
401 span.navy-background { background: navy; }
402 span.olive-background { background: olive; }
403 span.purple-background { background: purple; }
404 span.red-background { background: red; }
405 span.silver-background { background: silver; }
406 span.teal-background { background: teal; }
407 span.white-background { background: white; }
408 span.yellow-background { background: yellow; }
410 span.big { font-size: 2em; }
411 span.small { font-size: 0.6em; }
413 span.underline { text-decoration: underline; }
414 span.overline { text-decoration: overline; }
415 span.line-through { text-decoration: line-through; }
417 div.unbreakable { page-break-inside: avoid; }
421 * xhtml11 specific
423 * */
425 div.tableblock {
426 margin-top: 1.0em;
427 margin-bottom: 1.5em;
429 div.tableblock > table {
430 border: 3px solid #527bbd;
432 thead, p.table.header {
433 font-weight: bold;
434 color: #527bbd;
436 p.table {
437 margin-top: 0;
439 /* Because the table frame attribute is overridden by CSS in most browsers. */
440 div.tableblock > table[frame="void"] {
441 border-style: none;
443 div.tableblock > table[frame="hsides"] {
444 border-left-style: none;
445 border-right-style: none;
447 div.tableblock > table[frame="vsides"] {
448 border-top-style: none;
449 border-bottom-style: none;
454 * html5 specific
456 * */
458 table.tableblock {
459 margin-top: 1.0em;
460 margin-bottom: 1.5em;
462 thead, p.tableblock.header {
463 font-weight: bold;
464 color: #527bbd;
466 p.tableblock {
467 margin-top: 0;
469 table.tableblock {
470 border-width: 3px;
471 border-spacing: 0px;
472 border-style: solid;
473 border-color: #527bbd;
474 border-collapse: collapse;
476 th.tableblock, td.tableblock {
477 border-width: 1px;
478 padding: 4px;
479 border-style: solid;
480 border-color: #527bbd;
483 table.tableblock.frame-topbot {
484 border-left-style: hidden;
485 border-right-style: hidden;
487 table.tableblock.frame-sides {
488 border-top-style: hidden;
489 border-bottom-style: hidden;
491 table.tableblock.frame-none {
492 border-style: hidden;
495 th.tableblock.halign-left, td.tableblock.halign-left {
496 text-align: left;
498 th.tableblock.halign-center, td.tableblock.halign-center {
499 text-align: center;
501 th.tableblock.halign-right, td.tableblock.halign-right {
502 text-align: right;
505 th.tableblock.valign-top, td.tableblock.valign-top {
506 vertical-align: top;
508 th.tableblock.valign-middle, td.tableblock.valign-middle {
509 vertical-align: middle;
511 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
512 vertical-align: bottom;
517 * manpage specific
519 * */
521 body.manpage h1 {
522 padding-top: 0.5em;
523 padding-bottom: 0.5em;
524 border-top: 2px solid silver;
525 border-bottom: 2px solid silver;
527 body.manpage h2 {
528 border-style: none;
530 body.manpage div.sectionbody {
531 margin-left: 3em;
534 @media print {
535 body.manpage div#toc { display: none; }
539 </style>
540 <script type="text/javascript">
541 /*<![CDATA[*/
542 var asciidoc = { // Namespace.
544 /////////////////////////////////////////////////////////////////////
545 // Table Of Contents generator
546 /////////////////////////////////////////////////////////////////////
548 /* Author: Mihai Bazon, September 2002
549 * http://students.infoiasi.ro/~mishoo
551 * Table Of Content generator
552 * Version: 0.4
554 * Feel free to use this script under the terms of the GNU General Public
555 * License, as long as you do not remove or alter this notice.
558 /* modified by Troy D. Hanson, September 2006. License: GPL */
559 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
561 // toclevels = 1..4.
562 toc: function (toclevels) {
564 function getText(el) {
565 var text = "";
566 for (var i = el.firstChild; i != null; i = i.nextSibling) {
567 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
568 text += i.data;
569 else if (i.firstChild != null)
570 text += getText(i);
572 return text;
575 function TocEntry(el, text, toclevel) {
576 this.element = el;
577 this.text = text;
578 this.toclevel = toclevel;
581 function tocEntries(el, toclevels) {
582 var result = new Array;
583 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
584 // Function that scans the DOM tree for header elements (the DOM2
585 // nodeIterator API would be a better technique but not supported by all
586 // browsers).
587 var iterate = function (el) {
588 for (var i = el.firstChild; i != null; i = i.nextSibling) {
589 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
590 var mo = re.exec(i.tagName);
591 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
592 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
594 iterate(i);
598 iterate(el);
599 return result;
602 var toc = document.getElementById("toc");
603 if (!toc) {
604 return;
607 // Delete existing TOC entries in case we're reloading the TOC.
608 var tocEntriesToRemove = [];
609 var i;
610 for (i = 0; i < toc.childNodes.length; i++) {
611 var entry = toc.childNodes[i];
612 if (entry.nodeName.toLowerCase() == 'div'
613 && entry.getAttribute("class")
614 && entry.getAttribute("class").match(/^toclevel/))
615 tocEntriesToRemove.push(entry);
617 for (i = 0; i < tocEntriesToRemove.length; i++) {
618 toc.removeChild(tocEntriesToRemove[i]);
621 // Rebuild TOC entries.
622 var entries = tocEntries(document.getElementById("content"), toclevels);
623 for (var i = 0; i < entries.length; ++i) {
624 var entry = entries[i];
625 if (entry.element.id == "")
626 entry.element.id = "_toc_" + i;
627 var a = document.createElement("a");
628 a.href = "#" + entry.element.id;
629 a.appendChild(document.createTextNode(entry.text));
630 var div = document.createElement("div");
631 div.appendChild(a);
632 div.className = "toclevel" + entry.toclevel;
633 toc.appendChild(div);
635 if (entries.length == 0)
636 toc.parentNode.removeChild(toc);
640 /////////////////////////////////////////////////////////////////////
641 // Footnotes generator
642 /////////////////////////////////////////////////////////////////////
644 /* Based on footnote generation code from:
645 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
648 footnotes: function () {
649 // Delete existing footnote entries in case we're reloading the footnodes.
650 var i;
651 var noteholder = document.getElementById("footnotes");
652 if (!noteholder) {
653 return;
655 var entriesToRemove = [];
656 for (i = 0; i < noteholder.childNodes.length; i++) {
657 var entry = noteholder.childNodes[i];
658 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
659 entriesToRemove.push(entry);
661 for (i = 0; i < entriesToRemove.length; i++) {
662 noteholder.removeChild(entriesToRemove[i]);
665 // Rebuild footnote entries.
666 var cont = document.getElementById("content");
667 var spans = cont.getElementsByTagName("span");
668 var refs = {};
669 var n = 0;
670 for (i=0; i<spans.length; i++) {
671 if (spans[i].className == "footnote") {
672 n++;
673 var note = spans[i].getAttribute("data-note");
674 if (!note) {
675 // Use [\s\S] in place of . so multi-line matches work.
676 // Because JavaScript has no s (dotall) regex flag.
677 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
678 spans[i].innerHTML =
679 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
680 "' title='View footnote' class='footnote'>" + n + "</a>]";
681 spans[i].setAttribute("data-note", note);
683 noteholder.innerHTML +=
684 "<div class='footnote' id='_footnote_" + n + "'>" +
685 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
686 n + "</a>. " + note + "</div>";
687 var id =spans[i].getAttribute("id");
688 if (id != null) refs["#"+id] = n;
691 if (n == 0)
692 noteholder.parentNode.removeChild(noteholder);
693 else {
694 // Process footnoterefs.
695 for (i=0; i<spans.length; i++) {
696 if (spans[i].className == "footnoteref") {
697 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
698 href = href.match(/#.*/)[0]; // Because IE return full URL.
699 n = refs[href];
700 spans[i].innerHTML =
701 "[<a href='#_footnote_" + n +
702 "' title='View footnote' class='footnote'>" + n + "</a>]";
708 install: function(toclevels) {
709 var timerId;
711 function reinstall() {
712 asciidoc.footnotes();
713 if (toclevels) {
714 asciidoc.toc(toclevels);
718 function reinstallAndRemoveTimer() {
719 clearInterval(timerId);
720 reinstall();
723 timerId = setInterval(reinstall, 500);
724 if (document.addEventListener)
725 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
726 else
727 window.onload = reinstallAndRemoveTimer;
731 asciidoc.install();
732 /*]]>*/
733 </script>
734 </head>
735 <body class="manpage">
736 <div id="header">
737 <h1>
738 git-send-email(1) Manual Page
739 </h1>
740 <h2>NAME</h2>
741 <div class="sectionbody">
742 <p>git-send-email -
743 Send a collection of patches as emails
744 </p>
745 </div>
746 </div>
747 <div id="content">
748 <div class="sect1">
749 <h2 id="_synopsis">SYNOPSIS</h2>
750 <div class="sectionbody">
751 <div class="verseblock">
752 <pre class="content"><em>git send-email</em> [&lt;options&gt;] (&lt;file&gt;|&lt;directory&gt;)&#8230;
753 <em>git send-email</em> [&lt;options&gt;] &lt;format-patch-options&gt;
754 <em>git send-email</em> --dump-aliases</pre>
755 <div class="attribution">
756 </div></div>
757 </div>
758 </div>
759 <div class="sect1">
760 <h2 id="_description">DESCRIPTION</h2>
761 <div class="sectionbody">
762 <div class="paragraph"><p>Takes the patches given on the command line and emails them out.
763 Patches can be specified as files, directories (which will send all
764 files in the directory), or directly as a revision list. In the
765 last case, any format accepted by <a href="git-format-patch.html">git-format-patch(1)</a> can
766 be passed to git send-email, as well as options understood by
767 <a href="git-format-patch.html">git-format-patch(1)</a>.</p></div>
768 <div class="paragraph"><p>The header of the email is configurable via command-line options. If not
769 specified on the command line, the user will be prompted with a ReadLine
770 enabled interface to provide the necessary information.</p></div>
771 <div class="paragraph"><p>There are two formats accepted for patch files:</p></div>
772 <div class="olist arabic"><ol class="arabic">
773 <li>
775 mbox format files
776 </p>
777 <div class="paragraph"><p>This is what <a href="git-format-patch.html">git-format-patch(1)</a> generates. Most headers and MIME
778 formatting are ignored.</p></div>
779 </li>
780 <li>
782 The original format used by Greg Kroah-Hartman&#8217;s <em>send_lots_of_email.pl</em>
783 script
784 </p>
785 <div class="paragraph"><p>This format expects the first line of the file to contain the "Cc:" value
786 and the "Subject:" of the message as the second line.</p></div>
787 </li>
788 </ol></div>
789 </div>
790 </div>
791 <div class="sect1">
792 <h2 id="_options">OPTIONS</h2>
793 <div class="sectionbody">
794 <div class="sect2">
795 <h3 id="_composing">Composing</h3>
796 <div class="dlist"><dl>
797 <dt class="hdlist1">
798 --annotate
799 </dt>
800 <dd>
802 Review and edit each patch you&#8217;re about to send. Default is the value
803 of <code>sendemail.annotate</code>. See the CONFIGURATION section for
804 <code>sendemail.multiEdit</code>.
805 </p>
806 </dd>
807 <dt class="hdlist1">
808 --bcc=&lt;address&gt;,&#8230;
809 </dt>
810 <dd>
812 Specify a "Bcc:" value for each email. Default is the value of
813 <code>sendemail.bcc</code>.
814 </p>
815 <div class="paragraph"><p>This option may be specified multiple times.</p></div>
816 </dd>
817 <dt class="hdlist1">
818 --cc=&lt;address&gt;,&#8230;
819 </dt>
820 <dd>
822 Specify a starting "Cc:" value for each email.
823 Default is the value of <code>sendemail.cc</code>.
824 </p>
825 <div class="paragraph"><p>This option may be specified multiple times.</p></div>
826 </dd>
827 <dt class="hdlist1">
828 --compose
829 </dt>
830 <dd>
832 Invoke a text editor (see GIT_EDITOR in <a href="git-var.html">git-var(1)</a>)
833 to edit an introductory message for the patch series.
834 </p>
835 <div class="paragraph"><p>When <code>--compose</code> is used, git send-email will use the From, To, Cc, Bcc,
836 Subject, Reply-To, and In-Reply-To headers specified in the message. If
837 the body of the message (what you type after the headers and a blank
838 line) only contains blank (or Git: prefixed) lines, the summary won&#8217;t be
839 sent, but the headers mentioned above will be used unless they are
840 removed.</p></div>
841 <div class="paragraph"><p>Missing From or In-Reply-To headers will be prompted for.</p></div>
842 <div class="paragraph"><p>See the CONFIGURATION section for <code>sendemail.multiEdit</code>.</p></div>
843 </dd>
844 <dt class="hdlist1">
845 --from=&lt;address&gt;
846 </dt>
847 <dd>
849 Specify the sender of the emails. If not specified on the command line,
850 the value of the <code>sendemail.from</code> configuration option is used. If
851 neither the command-line option nor <code>sendemail.from</code> are set, then the
852 user will be prompted for the value. The default for the prompt will be
853 the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
854 set, as returned by "git var -l".
855 </p>
856 </dd>
857 <dt class="hdlist1">
858 --reply-to=&lt;address&gt;
859 </dt>
860 <dd>
862 Specify the address where replies from recipients should go to.
863 Use this if replies to messages should go to another address than what
864 is specified with the --from parameter.
865 </p>
866 </dd>
867 <dt class="hdlist1">
868 --in-reply-to=&lt;identifier&gt;
869 </dt>
870 <dd>
872 Make the first mail (or all the mails with <code>--no-thread</code>) appear as a
873 reply to the given Message-ID, which avoids breaking threads to
874 provide a new patch series.
875 The second and subsequent emails will be sent as replies according to
876 the <code>--[no-]chain-reply-to</code> setting.
877 </p>
878 <div class="paragraph"><p>So for example when <code>--thread</code> and <code>--no-chain-reply-to</code> are specified, the
879 second and subsequent patches will be replies to the first one like in the
880 illustration below where <code>[PATCH v2 0/3]</code> is in reply to <code>[PATCH 0/2]</code>:</p></div>
881 <div class="literalblock">
882 <div class="content">
883 <pre><code>[PATCH 0/2] Here is what I did...
884 [PATCH 1/2] Clean up and tests
885 [PATCH 2/2] Implementation
886 [PATCH v2 0/3] Here is a reroll
887 [PATCH v2 1/3] Clean up
888 [PATCH v2 2/3] New tests
889 [PATCH v2 3/3] Implementation</code></pre>
890 </div></div>
891 <div class="paragraph"><p>Only necessary if --compose is also set. If --compose
892 is not set, this will be prompted for.</p></div>
893 </dd>
894 <dt class="hdlist1">
895 --subject=&lt;string&gt;
896 </dt>
897 <dd>
899 Specify the initial subject of the email thread.
900 Only necessary if --compose is also set. If --compose
901 is not set, this will be prompted for.
902 </p>
903 </dd>
904 <dt class="hdlist1">
905 --to=&lt;address&gt;,&#8230;
906 </dt>
907 <dd>
909 Specify the primary recipient of the emails generated. Generally, this
910 will be the upstream maintainer of the project involved. Default is the
911 value of the <code>sendemail.to</code> configuration value; if that is unspecified,
912 and --to-cmd is not specified, this will be prompted for.
913 </p>
914 <div class="paragraph"><p>This option may be specified multiple times.</p></div>
915 </dd>
916 <dt class="hdlist1">
917 --8bit-encoding=&lt;encoding&gt;
918 </dt>
919 <dd>
921 When encountering a non-ASCII message or subject that does not
922 declare its encoding, add headers/quoting to indicate it is
923 encoded in &lt;encoding&gt;. Default is the value of the
924 <em>sendemail.assume8bitEncoding</em>; if that is unspecified, this
925 will be prompted for if any non-ASCII files are encountered.
926 </p>
927 <div class="paragraph"><p>Note that no attempts whatsoever are made to validate the encoding.</p></div>
928 </dd>
929 <dt class="hdlist1">
930 --compose-encoding=&lt;encoding&gt;
931 </dt>
932 <dd>
934 Specify encoding of compose message. Default is the value of the
935 <em>sendemail.composeEncoding</em>; if that is unspecified, UTF-8 is assumed.
936 </p>
937 </dd>
938 <dt class="hdlist1">
939 --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)
940 </dt>
941 <dd>
943 Specify the transfer encoding to be used to send the message over SMTP.
944 7bit will fail upon encountering a non-ASCII message. quoted-printable
945 can be useful when the repository contains files that contain carriage
946 returns, but makes the raw patch email file (as saved from a MUA) much
947 harder to inspect manually. base64 is even more fool proof, but also
948 even more opaque. auto will use 8bit when possible, and quoted-printable
949 otherwise.
950 </p>
951 <div class="paragraph"><p>Default is the value of the <code>sendemail.transferEncoding</code> configuration
952 value; if that is unspecified, default to <code>auto</code>.</p></div>
953 </dd>
954 <dt class="hdlist1">
955 --xmailer
956 </dt>
957 <dt class="hdlist1">
958 --no-xmailer
959 </dt>
960 <dd>
962 Add (or prevent adding) the "X-Mailer:" header. By default,
963 the header is added, but it can be turned off by setting the
964 <code>sendemail.xmailer</code> configuration variable to <code>false</code>.
965 </p>
966 </dd>
967 </dl></div>
968 </div>
969 <div class="sect2">
970 <h3 id="_sending">Sending</h3>
971 <div class="dlist"><dl>
972 <dt class="hdlist1">
973 --envelope-sender=&lt;address&gt;
974 </dt>
975 <dd>
977 Specify the envelope sender used to send the emails.
978 This is useful if your default address is not the address that is
979 subscribed to a list. In order to use the <em>From</em> address, set the
980 value to "auto". If you use the sendmail binary, you must have
981 suitable privileges for the -f parameter. Default is the value of the
982 <code>sendemail.envelopeSender</code> configuration variable; if that is
983 unspecified, choosing the envelope sender is left to your MTA.
984 </p>
985 </dd>
986 <dt class="hdlist1">
987 --sendmail-cmd=&lt;command&gt;
988 </dt>
989 <dd>
991 Specify a command to run to send the email. The command should
992 be sendmail-like; specifically, it must support the <code>-i</code> option.
993 The command will be executed in the shell if necessary. Default
994 is the value of <code>sendemail.sendmailCmd</code>. If unspecified, and if
995 --smtp-server is also unspecified, git-send-email will search
996 for <code>sendmail</code> in <code>/usr/sbin</code>, <code>/usr/lib</code> and $PATH.
997 </p>
998 </dd>
999 <dt class="hdlist1">
1000 --smtp-encryption=&lt;encryption&gt;
1001 </dt>
1002 <dd>
1004 Specify in what way encrypting begins for the SMTP connection.
1005 Valid values are <em>ssl</em> and <em>tls</em>. Any other value reverts to plain
1006 (unencrypted) SMTP, which defaults to port 25.
1007 Despite the names, both values will use the same newer version of TLS,
1008 but for historic reasons have these names. <em>ssl</em> refers to "implicit"
1009 encryption (sometimes called SMTPS), that uses port 465 by default.
1010 <em>tls</em> refers to "explicit" encryption (often known as STARTTLS),
1011 that uses port 25 by default. Other ports might be used by the SMTP
1012 server, which are not the default. Commonly found alternative port for
1013 <em>tls</em> and unencrypted is 587. You need to check your provider&#8217;s
1014 documentation or your server configuration to make sure
1015 for your own case. Default is the value of <code>sendemail.smtpEncryption</code>.
1016 </p>
1017 </dd>
1018 <dt class="hdlist1">
1019 --smtp-domain=&lt;FQDN&gt;
1020 </dt>
1021 <dd>
1023 Specifies the Fully Qualified Domain Name (FQDN) used in the
1024 HELO/EHLO command to the SMTP server. Some servers require the
1025 FQDN to match your IP address. If not set, git send-email attempts
1026 to determine your FQDN automatically. Default is the value of
1027 <code>sendemail.smtpDomain</code>.
1028 </p>
1029 </dd>
1030 <dt class="hdlist1">
1031 --smtp-auth=&lt;mechanisms&gt;
1032 </dt>
1033 <dd>
1035 Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting
1036 forces using only the listed mechanisms. Example:
1037 </p>
1038 <div class="listingblock">
1039 <div class="content">
1040 <pre><code>$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...</code></pre>
1041 </div></div>
1042 <div class="paragraph"><p>If at least one of the specified mechanisms matches the ones advertised by the
1043 SMTP server and if it is supported by the utilized SASL library, the mechanism
1044 is used for authentication. If neither <em>sendemail.smtpAuth</em> nor <code>--smtp-auth</code>
1045 is specified, all mechanisms supported by the SASL library can be used. The
1046 special value <em>none</em> maybe specified to completely disable authentication
1047 independently of <code>--smtp-user</code></p></div>
1048 </dd>
1049 <dt class="hdlist1">
1050 --smtp-pass[=&lt;password&gt;]
1051 </dt>
1052 <dd>
1054 Password for SMTP-AUTH. The argument is optional: If no
1055 argument is specified, then the empty string is used as
1056 the password. Default is the value of <code>sendemail.smtpPass</code>,
1057 however <code>--smtp-pass</code> always overrides this value.
1058 </p>
1059 <div class="paragraph"><p>Furthermore, passwords need not be specified in configuration files
1060 or on the command line. If a username has been specified (with
1061 <code>--smtp-user</code> or a <code>sendemail.smtpUser</code>), but no password has been
1062 specified (with <code>--smtp-pass</code> or <code>sendemail.smtpPass</code>), then
1063 a password is obtained using <em>git-credential</em>.</p></div>
1064 </dd>
1065 <dt class="hdlist1">
1066 --no-smtp-auth
1067 </dt>
1068 <dd>
1070 Disable SMTP authentication. Short hand for <code>--smtp-auth=none</code>
1071 </p>
1072 </dd>
1073 <dt class="hdlist1">
1074 --smtp-server=&lt;host&gt;
1075 </dt>
1076 <dd>
1078 If set, specifies the outgoing SMTP server to use (e.g.
1079 <code>smtp.example.com</code> or a raw IP address). If unspecified, and if
1080 <code>--sendmail-cmd</code> is also unspecified, the default is to search
1081 for <code>sendmail</code> in <code>/usr/sbin</code>, <code>/usr/lib</code> and $PATH if such a
1082 program is available, falling back to <code>localhost</code> otherwise.
1083 </p>
1084 <div class="paragraph"><p>For backward compatibility, this option can also specify a full pathname
1085 of a sendmail-like program instead; the program must support the <code>-i</code>
1086 option. This method does not support passing arguments or using plain
1087 command names. For those use cases, consider using <code>--sendmail-cmd</code>
1088 instead.</p></div>
1089 </dd>
1090 <dt class="hdlist1">
1091 --smtp-server-port=&lt;port&gt;
1092 </dt>
1093 <dd>
1095 Specifies a port different from the default port (SMTP
1096 servers typically listen to smtp port 25, but may also listen to
1097 submission port 587, or the common SSL smtp port 465);
1098 symbolic port names (e.g. "submission" instead of 587)
1099 are also accepted. The port can also be set with the
1100 <code>sendemail.smtpServerPort</code> configuration variable.
1101 </p>
1102 </dd>
1103 <dt class="hdlist1">
1104 --smtp-server-option=&lt;option&gt;
1105 </dt>
1106 <dd>
1108 If set, specifies the outgoing SMTP server option to use.
1109 Default value can be specified by the <code>sendemail.smtpServerOption</code>
1110 configuration option.
1111 </p>
1112 <div class="paragraph"><p>The --smtp-server-option option must be repeated for each option you want
1113 to pass to the server. Likewise, different lines in the configuration files
1114 must be used for each option.</p></div>
1115 </dd>
1116 <dt class="hdlist1">
1117 --smtp-ssl
1118 </dt>
1119 <dd>
1121 Legacy alias for <em>--smtp-encryption ssl</em>.
1122 </p>
1123 </dd>
1124 <dt class="hdlist1">
1125 --smtp-ssl-cert-path
1126 </dt>
1127 <dd>
1129 Path to a store of trusted CA certificates for SMTP SSL/TLS
1130 certificate validation (either a directory that has been processed
1131 by <em>c_rehash</em>, or a single file containing one or more PEM format
1132 certificates concatenated together: see verify(1) -CAfile and
1133 -CApath for more information on these). Set it to an empty string
1134 to disable certificate verification. Defaults to the value of the
1135 <code>sendemail.smtpSSLCertPath</code> configuration variable, if set, or the
1136 backing SSL library&#8217;s compiled-in default otherwise (which should
1137 be the best choice on most platforms).
1138 </p>
1139 </dd>
1140 <dt class="hdlist1">
1141 --smtp-user=&lt;user&gt;
1142 </dt>
1143 <dd>
1145 Username for SMTP-AUTH. Default is the value of <code>sendemail.smtpUser</code>;
1146 if a username is not specified (with <code>--smtp-user</code> or <code>sendemail.smtpUser</code>),
1147 then authentication is not attempted.
1148 </p>
1149 </dd>
1150 <dt class="hdlist1">
1151 --smtp-debug=(0|1)
1152 </dt>
1153 <dd>
1155 Enable (1) or disable (0) debug output. If enabled, SMTP
1156 commands and replies will be printed. Useful to debug TLS
1157 connection and authentication problems.
1158 </p>
1159 </dd>
1160 <dt class="hdlist1">
1161 --batch-size=&lt;num&gt;
1162 </dt>
1163 <dd>
1165 Some email servers (e.g. smtp.163.com) limit the number emails to be
1166 sent per session (connection) and this will lead to a failure when
1167 sending many messages. With this option, send-email will disconnect after
1168 sending $&lt;num&gt; messages and wait for a few seconds (see --relogin-delay)
1169 and reconnect, to work around such a limit. You may want to
1170 use some form of credential helper to avoid having to retype
1171 your password every time this happens. Defaults to the
1172 <code>sendemail.smtpBatchSize</code> configuration variable.
1173 </p>
1174 </dd>
1175 <dt class="hdlist1">
1176 --relogin-delay=&lt;int&gt;
1177 </dt>
1178 <dd>
1180 Waiting $&lt;int&gt; seconds before reconnecting to SMTP server. Used together
1181 with --batch-size option. Defaults to the <code>sendemail.smtpReloginDelay</code>
1182 configuration variable.
1183 </p>
1184 </dd>
1185 </dl></div>
1186 </div>
1187 <div class="sect2">
1188 <h3 id="_automating">Automating</h3>
1189 <div class="dlist"><dl>
1190 <dt class="hdlist1">
1191 --no-to
1192 </dt>
1193 <dt class="hdlist1">
1194 --no-cc
1195 </dt>
1196 <dt class="hdlist1">
1197 --no-bcc
1198 </dt>
1199 <dd>
1201 Clears any list of "To:", "Cc:", "Bcc:" addresses previously
1202 set via config.
1203 </p>
1204 </dd>
1205 <dt class="hdlist1">
1206 --no-identity
1207 </dt>
1208 <dd>
1210 Clears the previously read value of <code>sendemail.identity</code> set
1211 via config, if any.
1212 </p>
1213 </dd>
1214 <dt class="hdlist1">
1215 --to-cmd=&lt;command&gt;
1216 </dt>
1217 <dd>
1219 Specify a command to execute once per patch file which
1220 should generate patch file specific "To:" entries.
1221 Output of this command must be single email address per line.
1222 Default is the value of <em>sendemail.toCmd</em> configuration value.
1223 </p>
1224 </dd>
1225 <dt class="hdlist1">
1226 --cc-cmd=&lt;command&gt;
1227 </dt>
1228 <dd>
1230 Specify a command to execute once per patch file which
1231 should generate patch file specific "Cc:" entries.
1232 Output of this command must be single email address per line.
1233 Default is the value of <code>sendemail.ccCmd</code> configuration value.
1234 </p>
1235 </dd>
1236 <dt class="hdlist1">
1237 --header-cmd=&lt;command&gt;
1238 </dt>
1239 <dd>
1241 Specify a command that is executed once per outgoing message
1242 and output RFC 2822 style header lines to be inserted into
1243 them. When the <code>sendemail.headerCmd</code> configuration variable is
1244 set, its value is always used. When --header-cmd is provided
1245 at the command line, its value takes precedence over the
1246 <code>sendemail.headerCmd</code> configuration variable.
1247 </p>
1248 </dd>
1249 <dt class="hdlist1">
1250 --no-header-cmd
1251 </dt>
1252 <dd>
1254 Disable any header command in use.
1255 </p>
1256 </dd>
1257 <dt class="hdlist1">
1258 --[no-]chain-reply-to
1259 </dt>
1260 <dd>
1262 If this is set, each email will be sent as a reply to the previous
1263 email sent. If disabled with "--no-chain-reply-to", all emails after
1264 the first will be sent as replies to the first email sent. When using
1265 this, it is recommended that the first file given be an overview of the
1266 entire patch series. Disabled by default, but the <code>sendemail.chainReplyTo</code>
1267 configuration variable can be used to enable it.
1268 </p>
1269 </dd>
1270 <dt class="hdlist1">
1271 --identity=&lt;identity&gt;
1272 </dt>
1273 <dd>
1275 A configuration identity. When given, causes values in the
1276 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
1277 values in the <em>sendemail</em> section. The default identity is
1278 the value of <code>sendemail.identity</code>.
1279 </p>
1280 </dd>
1281 <dt class="hdlist1">
1282 --[no-]signed-off-by-cc
1283 </dt>
1284 <dd>
1286 If this is set, add emails found in the <code>Signed-off-by</code> trailer or Cc: lines to the
1287 cc list. Default is the value of <code>sendemail.signedOffByCc</code> configuration
1288 value; if that is unspecified, default to --signed-off-by-cc.
1289 </p>
1290 </dd>
1291 <dt class="hdlist1">
1292 --[no-]cc-cover
1293 </dt>
1294 <dd>
1296 If this is set, emails found in Cc: headers in the first patch of
1297 the series (typically the cover letter) are added to the cc list
1298 for each email set. Default is the value of <em>sendemail.ccCover</em>
1299 configuration value; if that is unspecified, default to --no-cc-cover.
1300 </p>
1301 </dd>
1302 <dt class="hdlist1">
1303 --[no-]to-cover
1304 </dt>
1305 <dd>
1307 If this is set, emails found in To: headers in the first patch of
1308 the series (typically the cover letter) are added to the to list
1309 for each email set. Default is the value of <em>sendemail.toCover</em>
1310 configuration value; if that is unspecified, default to --no-to-cover.
1311 </p>
1312 </dd>
1313 <dt class="hdlist1">
1314 --suppress-cc=&lt;category&gt;
1315 </dt>
1316 <dd>
1318 Specify an additional category of recipients to suppress the
1319 auto-cc of:
1320 </p>
1321 <div class="openblock">
1322 <div class="content">
1323 <div class="ulist"><ul>
1324 <li>
1326 <em>author</em> will avoid including the patch author.
1327 </p>
1328 </li>
1329 <li>
1331 <em>self</em> will avoid including the sender.
1332 </p>
1333 </li>
1334 <li>
1336 <em>cc</em> will avoid including anyone mentioned in Cc lines in the patch header
1337 except for self (use <em>self</em> for that).
1338 </p>
1339 </li>
1340 <li>
1342 <em>bodycc</em> will avoid including anyone mentioned in Cc lines in the
1343 patch body (commit message) except for self (use <em>self</em> for that).
1344 </p>
1345 </li>
1346 <li>
1348 <em>sob</em> will avoid including anyone mentioned in the Signed-off-by trailers except
1349 for self (use <em>self</em> for that).
1350 </p>
1351 </li>
1352 <li>
1354 <em>misc-by</em> will avoid including anyone mentioned in Acked-by,
1355 Reviewed-by, Tested-by and other "-by" lines in the patch body,
1356 except Signed-off-by (use <em>sob</em> for that).
1357 </p>
1358 </li>
1359 <li>
1361 <em>cccmd</em> will avoid running the --cc-cmd.
1362 </p>
1363 </li>
1364 <li>
1366 <em>body</em> is equivalent to <em>sob</em> + <em>bodycc</em> + <em>misc-by</em>.
1367 </p>
1368 </li>
1369 <li>
1371 <em>all</em> will suppress all auto cc values.
1372 </p>
1373 </li>
1374 </ul></div>
1375 </div></div>
1376 <div class="paragraph"><p>Default is the value of <code>sendemail.suppressCc</code> configuration value; if
1377 that is unspecified, default to <em>self</em> if --suppress-from is
1378 specified, as well as <em>body</em> if --no-signed-off-cc is specified.</p></div>
1379 </dd>
1380 <dt class="hdlist1">
1381 --[no-]suppress-from
1382 </dt>
1383 <dd>
1385 If this is set, do not add the From: address to the cc: list.
1386 Default is the value of <code>sendemail.suppressFrom</code> configuration
1387 value; if that is unspecified, default to --no-suppress-from.
1388 </p>
1389 </dd>
1390 <dt class="hdlist1">
1391 --[no-]thread
1392 </dt>
1393 <dd>
1395 If this is set, the In-Reply-To and References headers will be
1396 added to each email sent. Whether each mail refers to the
1397 previous email (<code>deep</code> threading per <em>git format-patch</em>
1398 wording) or to the first email (<code>shallow</code> threading) is
1399 governed by "--[no-]chain-reply-to".
1400 </p>
1401 <div class="paragraph"><p>If disabled with "--no-thread", those headers will not be added
1402 (unless specified with --in-reply-to). Default is the value of the
1403 <code>sendemail.thread</code> configuration value; if that is unspecified,
1404 default to --thread.</p></div>
1405 <div class="paragraph"><p>It is up to the user to ensure that no In-Reply-To header already
1406 exists when <em>git send-email</em> is asked to add it (especially note that
1407 <em>git format-patch</em> can be configured to do the threading itself).
1408 Failure to do so may not produce the expected result in the
1409 recipient&#8217;s MUA.</p></div>
1410 </dd>
1411 </dl></div>
1412 </div>
1413 <div class="sect2">
1414 <h3 id="_administering">Administering</h3>
1415 <div class="dlist"><dl>
1416 <dt class="hdlist1">
1417 --confirm=&lt;mode&gt;
1418 </dt>
1419 <dd>
1421 Confirm just before sending:
1422 </p>
1423 <div class="openblock">
1424 <div class="content">
1425 <div class="ulist"><ul>
1426 <li>
1428 <em>always</em> will always confirm before sending
1429 </p>
1430 </li>
1431 <li>
1433 <em>never</em> will never confirm before sending
1434 </p>
1435 </li>
1436 <li>
1438 <em>cc</em> will confirm before sending when send-email has automatically
1439 added addresses from the patch to the Cc list
1440 </p>
1441 </li>
1442 <li>
1444 <em>compose</em> will confirm before sending the first message when using --compose.
1445 </p>
1446 </li>
1447 <li>
1449 <em>auto</em> is equivalent to <em>cc</em> + <em>compose</em>
1450 </p>
1451 </li>
1452 </ul></div>
1453 </div></div>
1454 <div class="paragraph"><p>Default is the value of <code>sendemail.confirm</code> configuration value; if that
1455 is unspecified, default to <em>auto</em> unless any of the suppress options
1456 have been specified, in which case default to <em>compose</em>.</p></div>
1457 </dd>
1458 <dt class="hdlist1">
1459 --dry-run
1460 </dt>
1461 <dd>
1463 Do everything except actually send the emails.
1464 </p>
1465 </dd>
1466 <dt class="hdlist1">
1467 --[no-]format-patch
1468 </dt>
1469 <dd>
1471 When an argument may be understood either as a reference or as a file name,
1472 choose to understand it as a format-patch argument (<code>--format-patch</code>)
1473 or as a file name (<code>--no-format-patch</code>). By default, when such a conflict
1474 occurs, git send-email will fail.
1475 </p>
1476 </dd>
1477 <dt class="hdlist1">
1478 --quiet
1479 </dt>
1480 <dd>
1482 Make git-send-email less verbose. One line per email should be
1483 all that is output.
1484 </p>
1485 </dd>
1486 <dt class="hdlist1">
1487 --[no-]validate
1488 </dt>
1489 <dd>
1491 Perform sanity checks on patches.
1492 Currently, validation means the following:
1493 </p>
1494 <div class="openblock">
1495 <div class="content">
1496 <div class="ulist"><ul>
1497 <li>
1499 Invoke the sendemail-validate hook if present (see <a href="githooks.html">githooks(5)</a>).
1500 </p>
1501 </li>
1502 <li>
1504 Warn of patches that contain lines longer than
1505 998 characters unless a suitable transfer encoding
1506 (<em>auto</em>, <em>base64</em>, or <em>quoted-printable</em>) is used;
1507 this is due to SMTP limits as described by
1508 <a href="https://www.ietf.org/rfc/rfc5322.txt">https://www.ietf.org/rfc/rfc5322.txt</a>.
1509 </p>
1510 </li>
1511 </ul></div>
1512 </div></div>
1513 <div class="paragraph"><p>Default is the value of <code>sendemail.validate</code>; if this is not set,
1514 default to <code>--validate</code>.</p></div>
1515 </dd>
1516 <dt class="hdlist1">
1517 --force
1518 </dt>
1519 <dd>
1521 Send emails even if safety checks would prevent it.
1522 </p>
1523 </dd>
1524 </dl></div>
1525 </div>
1526 <div class="sect2">
1527 <h3 id="_information">Information</h3>
1528 <div class="dlist"><dl>
1529 <dt class="hdlist1">
1530 --dump-aliases
1531 </dt>
1532 <dd>
1534 Instead of the normal operation, dump the shorthand alias names from
1535 the configured alias file(s), one per line in alphabetical order. Note
1536 that this only includes the alias name and not its expanded email addresses.
1537 See <em>sendemail.aliasesFile</em> for more information about aliases.
1538 </p>
1539 </dd>
1540 </dl></div>
1541 </div>
1542 </div>
1543 </div>
1544 <div class="sect1">
1545 <h2 id="_configuration">CONFIGURATION</h2>
1546 <div class="sectionbody">
1547 <div class="paragraph"><p>Everything below this line in this section is selectively included
1548 from the <a href="git-config.html">git-config(1)</a> documentation. The content is the same
1549 as what&#8217;s found there:</p></div>
1550 <div class="dlist"><dl>
1551 <dt class="hdlist1">
1552 sendemail.identity
1553 </dt>
1554 <dd>
1556 A configuration identity. When given, causes values in the
1557 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
1558 values in the <em>sendemail</em> section. The default identity is
1559 the value of <code>sendemail.identity</code>.
1560 </p>
1561 </dd>
1562 <dt class="hdlist1">
1563 sendemail.smtpEncryption
1564 </dt>
1565 <dd>
1567 See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
1568 setting is not subject to the <em>identity</em> mechanism.
1569 </p>
1570 </dd>
1571 <dt class="hdlist1">
1572 sendemail.smtpSSLCertPath
1573 </dt>
1574 <dd>
1576 Path to ca-certificates (either a directory or a single file).
1577 Set it to an empty string to disable certificate verification.
1578 </p>
1579 </dd>
1580 <dt class="hdlist1">
1581 sendemail.&lt;identity&gt;.*
1582 </dt>
1583 <dd>
1585 Identity-specific versions of the <em>sendemail.*</em> parameters
1586 found below, taking precedence over those when this
1587 identity is selected, through either the command-line or
1588 <code>sendemail.identity</code>.
1589 </p>
1590 </dd>
1591 <dt class="hdlist1">
1592 sendemail.multiEdit
1593 </dt>
1594 <dd>
1596 If true (default), a single editor instance will be spawned to edit
1597 files you have to edit (patches when <code>--annotate</code> is used, and the
1598 summary when <code>--compose</code> is used). If false, files will be edited one
1599 after the other, spawning a new editor each time.
1600 </p>
1601 </dd>
1602 <dt class="hdlist1">
1603 sendemail.confirm
1604 </dt>
1605 <dd>
1607 Sets the default for whether to confirm before sending. Must be
1608 one of <em>always</em>, <em>never</em>, <em>cc</em>, <em>compose</em>, or <em>auto</em>. See <code>--confirm</code>
1609 in the <a href="git-send-email.html">git-send-email(1)</a> documentation for the meaning of these
1610 values.
1611 </p>
1612 </dd>
1613 <dt class="hdlist1">
1614 sendemail.aliasesFile
1615 </dt>
1616 <dd>
1618 To avoid typing long email addresses, point this to one or more
1619 email aliases files. You must also supply <code>sendemail.aliasFileType</code>.
1620 </p>
1621 </dd>
1622 <dt class="hdlist1">
1623 sendemail.aliasFileType
1624 </dt>
1625 <dd>
1627 Format of the file(s) specified in sendemail.aliasesFile. Must be
1628 one of <em>mutt</em>, <em>mailrc</em>, <em>pine</em>, <em>elm</em>, <em>gnus</em>, or <em>sendmail</em>.
1629 </p>
1630 <div class="paragraph"><p>What an alias file in each format looks like can be found in
1631 the documentation of the email program of the same name. The
1632 differences and limitations from the standard formats are
1633 described below:</p></div>
1634 <div class="openblock">
1635 <div class="content">
1636 <div class="dlist"><dl>
1637 <dt class="hdlist1">
1638 sendmail
1639 </dt>
1640 <dd>
1641 <div class="ulist"><ul>
1642 <li>
1644 Quoted aliases and quoted addresses are not supported: lines that
1645 contain a <code>"</code> symbol are ignored.
1646 </p>
1647 </li>
1648 <li>
1650 Redirection to a file (<code>/path/name</code>) or pipe (<code>|command</code>) is not
1651 supported.
1652 </p>
1653 </li>
1654 <li>
1656 File inclusion (<code>:include: /path/name</code>) is not supported.
1657 </p>
1658 </li>
1659 <li>
1661 Warnings are printed on the standard error output for any
1662 explicitly unsupported constructs, and any other lines that are not
1663 recognized by the parser.
1664 </p>
1665 </li>
1666 </ul></div>
1667 </dd>
1668 </dl></div>
1669 </div></div>
1670 </dd>
1671 <dt class="hdlist1">
1672 sendemail.annotate
1673 </dt>
1674 <dt class="hdlist1">
1675 sendemail.bcc
1676 </dt>
1677 <dt class="hdlist1">
1678 sendemail.cc
1679 </dt>
1680 <dt class="hdlist1">
1681 sendemail.ccCmd
1682 </dt>
1683 <dt class="hdlist1">
1684 sendemail.chainReplyTo
1685 </dt>
1686 <dt class="hdlist1">
1687 sendemail.envelopeSender
1688 </dt>
1689 <dt class="hdlist1">
1690 sendemail.from
1691 </dt>
1692 <dt class="hdlist1">
1693 sendemail.headerCmd
1694 </dt>
1695 <dt class="hdlist1">
1696 sendemail.signedOffByCc
1697 </dt>
1698 <dt class="hdlist1">
1699 sendemail.smtpPass
1700 </dt>
1701 <dt class="hdlist1">
1702 sendemail.suppressCc
1703 </dt>
1704 <dt class="hdlist1">
1705 sendemail.suppressFrom
1706 </dt>
1707 <dt class="hdlist1">
1708 sendemail.to
1709 </dt>
1710 <dt class="hdlist1">
1711 sendemail.toCmd
1712 </dt>
1713 <dt class="hdlist1">
1714 sendemail.smtpDomain
1715 </dt>
1716 <dt class="hdlist1">
1717 sendemail.smtpServer
1718 </dt>
1719 <dt class="hdlist1">
1720 sendemail.smtpServerPort
1721 </dt>
1722 <dt class="hdlist1">
1723 sendemail.smtpServerOption
1724 </dt>
1725 <dt class="hdlist1">
1726 sendemail.smtpUser
1727 </dt>
1728 <dt class="hdlist1">
1729 sendemail.thread
1730 </dt>
1731 <dt class="hdlist1">
1732 sendemail.transferEncoding
1733 </dt>
1734 <dt class="hdlist1">
1735 sendemail.validate
1736 </dt>
1737 <dt class="hdlist1">
1738 sendemail.xmailer
1739 </dt>
1740 <dd>
1742 These configuration variables all provide a default for
1743 <a href="git-send-email.html">git-send-email(1)</a> command-line options. See its
1744 documentation for details.
1745 </p>
1746 </dd>
1747 <dt class="hdlist1">
1748 sendemail.signedOffCc (deprecated)
1749 </dt>
1750 <dd>
1752 Deprecated alias for <code>sendemail.signedOffByCc</code>.
1753 </p>
1754 </dd>
1755 <dt class="hdlist1">
1756 sendemail.smtpBatchSize
1757 </dt>
1758 <dd>
1760 Number of messages to be sent per connection, after that a relogin
1761 will happen. If the value is 0 or undefined, send all messages in
1762 one connection.
1763 See also the <code>--batch-size</code> option of <a href="git-send-email.html">git-send-email(1)</a>.
1764 </p>
1765 </dd>
1766 <dt class="hdlist1">
1767 sendemail.smtpReloginDelay
1768 </dt>
1769 <dd>
1771 Seconds to wait before reconnecting to the smtp server.
1772 See also the <code>--relogin-delay</code> option of <a href="git-send-email.html">git-send-email(1)</a>.
1773 </p>
1774 </dd>
1775 <dt class="hdlist1">
1776 sendemail.forbidSendmailVariables
1777 </dt>
1778 <dd>
1780 To avoid common misconfiguration mistakes, <a href="git-send-email.html">git-send-email(1)</a>
1781 will abort with a warning if any configuration options for "sendmail"
1782 exist. Set this variable to bypass the check.
1783 </p>
1784 </dd>
1785 </dl></div>
1786 </div>
1787 </div>
1788 <div class="sect1">
1789 <h2 id="_examples">EXAMPLES</h2>
1790 <div class="sectionbody">
1791 <div class="sect2">
1792 <h3 id="_use_gmail_as_the_smtp_server">Use gmail as the smtp server</h3>
1793 <div class="paragraph"><p>To use <em>git send-email</em> to send your patches through the GMail SMTP server,
1794 edit ~/.gitconfig to specify your account settings:</p></div>
1795 <div class="listingblock">
1796 <div class="content">
1797 <pre><code>[sendemail]
1798 smtpEncryption = tls
1799 smtpServer = smtp.gmail.com
1800 smtpUser = yourname@gmail.com
1801 smtpServerPort = 587</code></pre>
1802 </div></div>
1803 <div class="paragraph"><p>If you have multi-factor authentication set up on your Gmail account, you can
1804 generate an app-specific password for use with <em>git send-email</em>. Visit
1805 <a href="https://security.google.com/settings/security/apppasswords">https://security.google.com/settings/security/apppasswords</a> to create it.</p></div>
1806 <div class="paragraph"><p>Once your commits are ready to be sent to the mailing list, run the
1807 following commands:</p></div>
1808 <div class="literalblock">
1809 <div class="content">
1810 <pre><code>$ git format-patch --cover-letter -M origin/master -o outgoing/
1811 $ edit outgoing/0000-*
1812 $ git send-email outgoing/*</code></pre>
1813 </div></div>
1814 <div class="paragraph"><p>The first time you run it, you will be prompted for your credentials. Enter the
1815 app-specific or your regular password as appropriate. If you have credential
1816 helper configured (see <a href="git-credential.html">git-credential(1)</a>), the password will be saved in
1817 the credential store so you won&#8217;t have to type it the next time.</p></div>
1818 <div class="paragraph"><p>Note: the following core Perl modules that may be installed with your
1819 distribution of Perl are required:
1820 MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP.
1821 These additional Perl modules are also required:
1822 Authen::SASL and Mail::Address.</p></div>
1823 </div>
1824 </div>
1825 </div>
1826 <div class="sect1">
1827 <h2 id="_see_also">SEE ALSO</h2>
1828 <div class="sectionbody">
1829 <div class="paragraph"><p><a href="git-format-patch.html">git-format-patch(1)</a>, <a href="git-imap-send.html">git-imap-send(1)</a>, mbox(5)</p></div>
1830 </div>
1831 </div>
1832 <div class="sect1">
1833 <h2 id="_git">GIT</h2>
1834 <div class="sectionbody">
1835 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
1836 </div>
1837 </div>
1838 </div>
1839 <div id="footnotes"><hr /></div>
1840 <div id="footer">
1841 <div id="footer-text">
1842 Last updated
1843 2024-03-25 17:24:49 PDT
1844 </div>
1845 </div>
1846 </body>
1847 </html>