git-send-email(1)
=================

NAME
----
git-send-email - Send a collection of patches as emails


SYNOPSIS
--------
'git send-email' [options] <file|directory> [... file|directory]



DESCRIPTION
-----------
Takes the patches given on the command line and emails them out.

The header of the email is configurable by 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.

OPTIONS
-------
The options available are:

--bcc::
	Specify a "Bcc:" value for each email.
+
The --bcc option must be repeated for each user you want on the bcc list.

--cc::
	Specify a starting "Cc:" value for each email.
+
The --cc option must be repeated for each user you want on the cc list.

--cc-cmd::
	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 'sendemail.cccmd' configuration value.

--chain-reply-to::
--no-chain-reply-to::
	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.
	Default is the value of the 'sendemail.chainreplyto' configuration
	value; if that is unspecified, default to --chain-reply-to.

--compose::
	Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
	introductory message for the patch series.

--from::
	Specify the sender of the emails.  This will default to
	the value GIT_COMMITTER_IDENT, as returned by "git var -l".
	The user will still be prompted to confirm this entry.

--in-reply-to::
	Specify the contents of the first In-Reply-To header.
	Subsequent emails will refer to the previous email
	instead of this if --chain-reply-to is set (the default)
	Only necessary if --compose is also set.  If --compose
	is not set, this will be prompted for.

--signed-off-by-cc::
--no-signed-off-by-cc::
        If this is set, add emails found in Signed-off-by: or Cc: lines to the
        cc list.
        Default is the value of 'sendemail.signedoffcc' configuration value;
        if that is unspecified, default to --signed-off-by-cc.

--quiet::
	Make git-send-email less verbose.  One line per email should be
	all that is output.

--identity::
	A configuration identity. When given, causes values in the
	'sendemail.<identity>' subsection to take precedence over
	values in the 'sendemail' section. The default identity is
	the value of 'sendemail.identity'.

--smtp-server::
	If set, specifies the outgoing SMTP server to use (e.g.
	`smtp.example.com` or a raw IP address).  Alternatively it can
	specify a full pathname of a sendmail-like program instead;
	the program must support the `-i` option.  Default value can
	be specified by the 'sendemail.smtpserver' configuration
	option; the built-in default is `/usr/sbin/sendmail` or
	`/usr/lib/sendmail` if such program is available, or
	`localhost` otherwise.

--smtp-server-port::
	Specifies a port different from the default port (SMTP
	servers typically listen to smtp port 25 and ssmtp port
	465).

--smtp-user::
	Username for SMTP-AUTH. In place of this option, the following
	configuration variables can be specified:
+
--
		* sendemail.smtpuser
		* sendemail.<identity>.smtpuser (see sendemail.identity).
--
+
However, --smtp-user always overrides these variables.
+
If a username is not specified (with --smtp-user or a
configuration variable), then authentication is not attempted.

--smtp-pass::
	Password for SMTP-AUTH. The argument is optional: If no
	argument is specified, then the empty string is used as
	the password.
+
In place of this option, the following configuration variables
can be specified:
+
--
		* sendemail.smtppass
		* sendemail.<identity>.smtppass (see sendemail.identity).
--
+
However, --smtp-pass always overrides these variables.
+
Furthermore, passwords need not be specified in configuration files
or on the command line. If a username has been specified (with
--smtp-user or a configuration variable), but no password has been
specified (with --smtp-pass or a configuration variable), then the
user is prompted for a password while the input is masked for privacy.

--smtp-encryption::
	Specify the encryption to use, either 'ssl' or 'tls'.  Any other
	value reverts to plain SMTP.  Default is the value of
	'sendemail.smtpencryption'.

--smtp-ssl::
	Legacy alias for '--smtp-encryption=ssl'.

--subject::
	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.

--suppress-from::
--no-suppress-from::
        If this is set, do not add the From: address to the cc: list.
        Default is the value of 'sendemail.suppressfrom' configuration value;
        if that is unspecified, default to --no-suppress-from.

--suppress-cc::
	Specify an additional category of recipients to suppress the
	auto-cc of.  'self' will avoid including the sender, 'author' will
	avoid including the patch author, 'cc' will avoid including anyone
	mentioned in Cc lines in the patch, 'sob' will avoid including
	anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
	running the --cc-cmd.  'all' will suppress all auto cc values.
	Default is the value of 'sendemail.suppresscc' configuration value;
	if that is unspecified, default to 'self' if --suppress-from is
	specified, as well as 'sob' if --no-signed-off-cc is specified.

--thread::
--no-thread::
	If this is set, the In-Reply-To header will be set on each email sent.
	If disabled with "--no-thread", no emails will have the In-Reply-To
	header set.
	Default is the value of the 'sendemail.thread' configuration value;
	if that is unspecified, default to --thread.

--dry-run::
	Do everything except actually send the emails.

--envelope-sender::
	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. If you use the sendmail binary, you must have
	suitable privileges for the -f parameter.
	Default is the value of the 'sendemail.envelopesender' configuration
	variable; if that is unspecified, choosing the envelope sender is left
	to your MTA.

--to::
	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 'sendemail.to' configuration value;
	if that is unspecified, this will be prompted for.
+
The --to option must be repeated for each user you want on the to list.


CONFIGURATION
-------------
sendemail.identity::
	The default configuration identity. When specified,
	'sendemail.<identity>.<item>' will have higher precedence than
	'sendemail.<item>'. This is useful to declare multiple SMTP
	identities and to hoist sensitive authentication information
	out of the repository and into the global configuration file.

sendemail.aliasesfile::
	To avoid typing long email addresses, point this to one or more
	email aliases files.  You must also supply 'sendemail.aliasfiletype'.

sendemail.aliasfiletype::
	Format of the file(s) specified in sendemail.aliasesfile. Must be
	one of 'mutt', 'mailrc', 'pine', or 'gnus'.

sendemail.to::
	Email address (or alias) to always send to.

sendemail.cccmd::
	Command to execute to generate per patch file specific "Cc:"s.

sendemail.bcc::
	Email address (or alias) to always bcc.

sendemail.chainreplyto::
	Boolean value specifying the default to the '--chain_reply_to'
	parameter.

sendemail.smtpserver::
	Default SMTP server to use.

sendemail.smtpserverport::
	Default SMTP server port to use.

sendemail.smtpuser::
	Default SMTP-AUTH username.

sendemail.smtppass::
	Default SMTP-AUTH password.

sendemail.smtpencryption::
	Default encryption method.  Use 'ssl' for SSL (and specify an
	appropriate port), or 'tls' for TLS.  Takes precedence over
	'smtpssl' if both are specified.

sendemail.smtpssl::
	Legacy boolean that sets 'smtpencryption=ssl' if enabled.

Author
------
Written by Ryan Anderson <ryan@michonline.com>

git-send-email is originally based upon
send_lots_of_email.pl by Greg Kroah-Hartman.

Documentation
--------------
Documentation by Ryan Anderson

GIT
---
Part of the linkgit:git[1] suite
