Docs: send-email: Man page option ordering
[git/spearce.git] / Documentation / git-send-email.txt
blob0c6dbf6d5303146a8f343bd7ea04627e86a2cdc0
1 git-send-email(1)
2 =================
4 NAME
5 ----
6 git-send-email - Send a collection of patches as emails
9 SYNOPSIS
10 --------
11 'git send-email' [options] <file|directory> [... file|directory]
14 DESCRIPTION
15 -----------
16 Takes the patches given on the command line and emails them out.
18 The header of the email is configurable by command line options.  If not
19 specified on the command line, the user will be prompted with a ReadLine
20 enabled interface to provide the necessary information.
22 OPTIONS
23 -------
24 The options available are:
26 --bcc::
27         Specify a "Bcc:" value for each email.
29 The --bcc option must be repeated for each user you want on the bcc list.
31 --cc::
32         Specify a starting "Cc:" value for each email.
34 The --cc option must be repeated for each user you want on the cc list.
36 --cc-cmd::
37         Specify a command to execute once per patch file which
38         should generate patch file specific "Cc:" entries.
39         Output of this command must be single email address per line.
40         Default is the value of 'sendemail.cccmd' configuration value.
42 --[no-]chain-reply-to::
43         If this is set, each email will be sent as a reply to the previous
44         email sent.  If disabled with "--no-chain-reply-to", all emails after
45         the first will be sent as replies to the first email sent.  When using
46         this, it is recommended that the first file given be an overview of the
47         entire patch series. Default is the value of the 'sendemail.chainreplyto'
48         configuration value; if that is unspecified, default to --chain-reply-to.
50 --compose::
51         Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
52         introductory message for the patch series.
54 --dry-run::
55         Do everything except actually send the emails.
57 --envelope-sender::
58         Specify the envelope sender used to send the emails.
59         This is useful if your default address is not the address that is
60         subscribed to a list. If you use the sendmail binary, you must have
61         suitable privileges for the -f parameter. Default is the value of
62         the 'sendemail.envelopesender' configuration variable; if that is
63         unspecified, choosing the envelope sender is left to your MTA.
65 --from::
66         Specify the sender of the emails.  This will default to
67         the value GIT_COMMITTER_IDENT, as returned by "git var -l".
68         The user will still be prompted to confirm this entry.
70 --identity::
71         A configuration identity. When given, causes values in the
72         'sendemail.<identity>' subsection to take precedence over
73         values in the 'sendemail' section. The default identity is
74         the value of 'sendemail.identity'.
76 --in-reply-to::
77         Specify the contents of the first In-Reply-To header.
78         Subsequent emails will refer to the previous email
79         instead of this if --chain-reply-to is set (the default)
80         Only necessary if --compose is also set.  If --compose
81         is not set, this will be prompted for.
83 --quiet::
84         Make git-send-email less verbose.  One line per email should be
85         all that is output.
87 --[no-]signed-off-by-cc::
88         If this is set, add emails found in Signed-off-by: or Cc: lines to the
89         cc list. Default is the value of 'sendemail.signedoffcc' configuration
90         value; if that is unspecified, default to --signed-off-by-cc.
92 --smtp-encryption::
93         Specify the encryption to use, either 'ssl' or 'tls'.  Any other
94         value reverts to plain SMTP.  Default is the value of
95         'sendemail.smtpencryption'.
97 --smtp-pass::
98         Password for SMTP-AUTH. The argument is optional: If no
99         argument is specified, then the empty string is used as
100         the password.
102 In place of this option, the following configuration variables
103 can be specified:
106                 * sendemail.smtppass
107                 * sendemail.<identity>.smtppass (see sendemail.identity).
110 However, --smtp-pass always overrides these variables.
112 Furthermore, passwords need not be specified in configuration files
113 or on the command line. If a username has been specified (with
114 --smtp-user or a configuration variable), but no password has been
115 specified (with --smtp-pass or a configuration variable), then the
116 user is prompted for a password while the input is masked for privacy.
118 --smtp-server::
119         If set, specifies the outgoing SMTP server to use (e.g.
120         `smtp.example.com` or a raw IP address).  Alternatively it can
121         specify a full pathname of a sendmail-like program instead;
122         the program must support the `-i` option.  Default value can
123         be specified by the 'sendemail.smtpserver' configuration
124         option; the built-in default is `/usr/sbin/sendmail` or
125         `/usr/lib/sendmail` if such program is available, or
126         `localhost` otherwise.
128 --smtp-server-port::
129         Specifies a port different from the default port (SMTP
130         servers typically listen to smtp port 25 and ssmtp port
131         465).
133 --smtp-ssl::
134         Legacy alias for '--smtp-encryption=ssl'.
136 --smtp-user::
137         Username for SMTP-AUTH. In place of this option, the following
138         configuration variables can be specified:
141                 * sendemail.smtpuser
142                 * sendemail.<identity>.smtpuser (see sendemail.identity).
145 However, --smtp-user always overrides these variables.
147 If a username is not specified (with --smtp-user or a
148 configuration variable), then authentication is not attempted.
150 --subject::
151         Specify the initial subject of the email thread.
152         Only necessary if --compose is also set.  If --compose
153         is not set, this will be prompted for.
155 --suppress-cc::
156         Specify an additional category of recipients to suppress the
157         auto-cc of.  'self' will avoid including the sender, 'author' will
158         avoid including the patch author, 'cc' will avoid including anyone
159         mentioned in Cc lines in the patch, 'sob' will avoid including
160         anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
161         running the --cc-cmd.  'all' will suppress all auto cc values.
162         Default is the value of 'sendemail.suppresscc' configuration value;
163         if that is unspecified, default to 'self' if --suppress-from is
164         specified, as well as 'sob' if --no-signed-off-cc is specified.
166 --[no-]suppress-from::
167         If this is set, do not add the From: address to the cc: list.
168         Default is the value of 'sendemail.suppressfrom' configuration
169         value; if that is unspecified, default to --no-suppress-from.
171 --[no-]thread::
172         If this is set, the In-Reply-To header will be set on each email sent.
173         If disabled with "--no-thread", no emails will have the In-Reply-To
174         header set. Default is the value of the 'sendemail.thread' configuration
175         value; if that is unspecified, default to --thread.
177 --to::
178         Specify the primary recipient of the emails generated. Generally, this
179         will be the upstream maintainer of the project involved. Default is the
180         value of the 'sendemail.to' configuration value; if that is unspecified,
181         this will be prompted for.
183 The --to option must be repeated for each user you want on the to list.
185 --no-validate::
186         Don't perform any sanity checks on patches.
187         Currently, validation means the following:
190                 *       Warn of patches that contain lines longer than 998 characters; this
191                         is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
195 CONFIGURATION
196 -------------
197 sendemail.identity::
198         The default configuration identity. When specified,
199         'sendemail.<identity>.<item>' will have higher precedence than
200         'sendemail.<item>'. This is useful to declare multiple SMTP
201         identities and to hoist sensitive authentication information
202         out of the repository and into the global configuration file.
204 sendemail.aliasesfile::
205         To avoid typing long email addresses, point this to one or more
206         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
208 sendemail.aliasfiletype::
209         Format of the file(s) specified in sendemail.aliasesfile. Must be
210         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
212 sendemail.to::
213         Email address (or alias) to always send to.
215 sendemail.cccmd::
216         Command to execute to generate per patch file specific "Cc:"s.
218 sendemail.bcc::
219         Email address (or alias) to always bcc.
221 sendemail.chainreplyto::
222         Boolean value specifying the default to the '--chain_reply_to'
223         parameter.
225 sendemail.smtpserver::
226         Default SMTP server to use.
228 sendemail.smtpserverport::
229         Default SMTP server port to use.
231 sendemail.smtpuser::
232         Default SMTP-AUTH username.
234 sendemail.smtppass::
235         Default SMTP-AUTH password.
237 sendemail.smtpencryption::
238         Default encryption method.  Use 'ssl' for SSL (and specify an
239         appropriate port), or 'tls' for TLS.  Takes precedence over
240         'smtpssl' if both are specified.
242 sendemail.smtpssl::
243         Legacy boolean that sets 'smtpencryption=ssl' if enabled.
245 Author
246 ------
247 Written by Ryan Anderson <ryan@michonline.com>
249 git-send-email is originally based upon
250 send_lots_of_email.pl by Greg Kroah-Hartman.
252 Documentation
253 --------------
254 Documentation by Ryan Anderson
258 Part of the linkgit:git[1] suite