6 git-send-email - Send a collection of patches as emails
11 'git send-email' [options] <file|directory> [... file|directory]
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.
24 The options available are:
27 Specify a "Bcc:" value for each email.
29 The --bcc option must be repeated for each user you want on the bcc list.
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.
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.
51 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
52 introductory message for the patch series.
55 Do everything except actually send the emails.
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.
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.
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'.
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.
84 Make git-send-email less verbose. One line per email should be
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.
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'.
98 Password for SMTP-AUTH. The argument is optional: If no
99 argument is specified, then the empty string is used as
102 In place of this option, the following configuration variables
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.
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.
129 Specifies a port different from the default port (SMTP
130 servers typically listen to smtp port 25 and ssmtp port
134 Legacy alias for '--smtp-encryption=ssl'.
137 Username for SMTP-AUTH. In place of this option, the following
138 configuration variables can be specified:
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.
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.
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.
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.
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.
186 Perform 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.
194 This option can be set with sendemail[.<identity>].validate; default to --validate
200 The default configuration identity. When specified,
201 'sendemail.<identity>.<item>' will have higher precedence than
202 'sendemail.<item>'. This is useful to declare multiple SMTP
203 identities and to hoist sensitive authentication information
204 out of the repository and into the global configuration file.
206 sendemail.aliasesfile::
207 To avoid typing long email addresses, point this to one or more
208 email aliases files. You must also supply 'sendemail.aliasfiletype'.
210 sendemail.aliasfiletype::
211 Format of the file(s) specified in sendemail.aliasesfile. Must be
212 one of 'mutt', 'mailrc', 'pine', or 'gnus'.
215 Email address (or alias) to always send to.
218 Command to execute to generate per patch file specific "Cc:"s.
221 Email address (or alias) to always bcc.
223 sendemail.chainreplyto::
224 Boolean value specifying the default to the '--[no-]chain-reply-to'
227 sendemail.smtpserver::
228 Default SMTP server to use.
230 sendemail.smtpserverport::
231 Default SMTP server port to use.
234 Default SMTP-AUTH username.
237 Default SMTP-AUTH password.
239 sendemail.smtpencryption::
240 Default encryption method. Use 'ssl' for SSL (and specify an
241 appropriate port), or 'tls' for TLS. Takes precedence over
242 'smtpssl' if both are specified.
245 Legacy boolean that sets 'smtpencryption=ssl' if enabled.
248 Boolean override for --[no-]validate.
252 Written by Ryan Anderson <ryan@michonline.com>
254 git-send-email is originally based upon
255 send_lots_of_email.pl by Greg Kroah-Hartman.
259 Documentation by Ryan Anderson
263 Part of the linkgit:git[1] suite