1git-send-email(1) 2================= 3 4NAME 5---- 6git-send-email - Send a collection of patches as emails 7 8 9SYNOPSIS 10-------- 11'git send-email' [options] <file|directory|rev-list options>... 12 13 14DESCRIPTION 15----------- 16Takes the patches given on the command line and emails them out. 17 18The header of the email is configurable by command line options. If not 19specified on the command line, the user will be prompted with a ReadLine 20enabled interface to provide the necessary information. 21 22 23OPTIONS 24------- 25 26Composing 27~~~~~~~~~ 28 29--bcc:: 30 Specify a "Bcc:" value for each email. Default is the value of 31 'sendemail.bcc'. 32+ 33The --bcc option must be repeated for each user you want on the bcc list. 34 35--cc:: 36 Specify a starting "Cc:" value for each email. 37+ 38The --cc option must be repeated for each user you want on the cc list. 39 40--annotate:: 41 Review each patch you're about to send in an editor. The setting 42 'sendemail.multiedit' defines if this will spawn one editor per patch 43 or one for all of them at once. 44 45--compose:: 46 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an 47 introductory message for the patch series. 48+ 49When '--compose' is used, git send-email gets less interactive will use the 50values of the headers you set there. If the body of the email (what you type 51after the headers and a blank line) only contains blank (or GIT: prefixed) 52lines, the summary won't be sent, but git-send-email will still use the 53Headers values if you don't removed them. 54+ 55If it wasn't able to see a header in the summary it will ask you about it 56interactively after quitting your editor. 57 58--from:: 59 Specify the sender of the emails. This will default to 60 the value GIT_COMMITTER_IDENT, as returned by "git var -l". 61 The user will still be prompted to confirm this entry. 62 63--in-reply-to:: 64 Specify the contents of the first In-Reply-To header. 65 Subsequent emails will refer to the previous email 66 instead of this if --chain-reply-to is set (the default) 67 Only necessary if --compose is also set. If --compose 68 is not set, this will be prompted for. 69 70--subject:: 71 Specify the initial subject of the email thread. 72 Only necessary if --compose is also set. If --compose 73 is not set, this will be prompted for. 74 75--to:: 76 Specify the primary recipient of the emails generated. Generally, this 77 will be the upstream maintainer of the project involved. Default is the 78 value of the 'sendemail.to' configuration value; if that is unspecified, 79 this will be prompted for. 80+ 81The --to option must be repeated for each user you want on the to list. 82 83 84Sending 85~~~~~~~ 86 87--envelope-sender:: 88 Specify the envelope sender used to send the emails. 89 This is useful if your default address is not the address that is 90 subscribed to a list. If you use the sendmail binary, you must have 91 suitable privileges for the -f parameter. Default is the value of 92 the 'sendemail.envelopesender' configuration variable; if that is 93 unspecified, choosing the envelope sender is left to your MTA. 94 95--smtp-encryption:: 96 Specify the encryption to use, either 'ssl' or 'tls'. Any other 97 value reverts to plain SMTP. Default is the value of 98 'sendemail.smtpencryption'. 99 100--smtp-pass:: 101 Password for SMTP-AUTH. The argument is optional: If no 102 argument is specified, then the empty string is used as 103 the password. Default is the value of 'sendemail.smtppass', 104 however '--smtp-pass' always overrides this value. 105+ 106Furthermore, passwords need not be specified in configuration files 107or on the command line. If a username has been specified (with 108'--smtp-user' or a 'sendemail.smtpuser'), but no password has been 109specified (with '--smtp-pass' or 'sendemail.smtppass'), then the 110user is prompted for a password while the input is masked for privacy. 111 112--smtp-server:: 113 If set, specifies the outgoing SMTP server to use (e.g. 114 `smtp.example.com` or a raw IP address). Alternatively it can 115 specify a full pathname of a sendmail-like program instead; 116 the program must support the `-i` option. Default value can 117 be specified by the 'sendemail.smtpserver' configuration 118 option; the built-in default is `/usr/sbin/sendmail` or 119 `/usr/lib/sendmail` if such program is available, or 120 `localhost` otherwise. 121 122--smtp-server-port:: 123 Specifies a port different from the default port (SMTP 124 servers typically listen to smtp port 25 and ssmtp port 125 465). This can be set with 'sendemail.smtpserverport'. 126 127--smtp-ssl:: 128 Legacy alias for '--smtp-encryption ssl'. 129 130--smtp-user:: 131 Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser'; 132 if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'), 133 then authentication is not attempted. 134 135 136Automating 137~~~~~~~~~~ 138 139--cc-cmd:: 140 Specify a command to execute once per patch file which 141 should generate patch file specific "Cc:" entries. 142 Output of this command must be single email address per line. 143 Default is the value of 'sendemail.cccmd' configuration value. 144 145--[no-]chain-reply-to:: 146 If this is set, each email will be sent as a reply to the previous 147 email sent. If disabled with "--no-chain-reply-to", all emails after 148 the first will be sent as replies to the first email sent. When using 149 this, it is recommended that the first file given be an overview of the 150 entire patch series. Default is the value of the 'sendemail.chainreplyto' 151 configuration value; if that is unspecified, default to --chain-reply-to. 152 153--identity:: 154 A configuration identity. When given, causes values in the 155 'sendemail.<identity>' subsection to take precedence over 156 values in the 'sendemail' section. The default identity is 157 the value of 'sendemail.identity'. 158 159--[no-]signed-off-by-cc:: 160 If this is set, add emails found in Signed-off-by: or Cc: lines to the 161 cc list. Default is the value of 'sendemail.signedoffbycc' configuration 162 value; if that is unspecified, default to --signed-off-by-cc. 163 164--suppress-cc:: 165 Specify an additional category of recipients to suppress the 166 auto-cc of. 'self' will avoid including the sender, 'author' will 167 avoid including the patch author, 'cc' will avoid including anyone 168 mentioned in Cc lines in the patch, 'sob' will avoid including 169 anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid 170 running the --cc-cmd. 'all' will suppress all auto cc values. 171 Default is the value of 'sendemail.suppresscc' configuration value; 172 if that is unspecified, default to 'self' if --suppress-from is 173 specified, as well as 'sob' if --no-signed-off-cc is specified. 174 175--[no-]suppress-from:: 176 If this is set, do not add the From: address to the cc: list. 177 Default is the value of 'sendemail.suppressfrom' configuration 178 value; if that is unspecified, default to --no-suppress-from. 179 180--[no-]thread:: 181 If this is set, the In-Reply-To header will be set on each email sent. 182 If disabled with "--no-thread", no emails will have the In-Reply-To 183 header set. Default is the value of the 'sendemail.thread' configuration 184 value; if that is unspecified, default to --thread. 185 186 187Administering 188~~~~~~~~~~~~~ 189 190--dry-run:: 191 Do everything except actually send the emails. 192 193--quiet:: 194 Make git-send-email less verbose. One line per email should be 195 all that is output. 196 197--[no-]validate:: 198 Perform sanity checks on patches. 199 Currently, validation means the following: 200 201--[no-]format-patch:: 202 When an argument may be understood either as a reference or as a file name, 203 choose to understand it as a format-patch argument ('--format-patch') 204 or as a file name ('--no-format-patch'). By default, when such a conflict 205 occurs, git send-email will fail. 206+ 207-- 208 * Warn of patches that contain lines longer than 998 characters; this 209 is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt. 210-- 211+ 212Default is the value of 'sendemail.validate'; if this is not set, 213default to '--validate'. 214 215 216CONFIGURATION 217------------- 218 219sendemail.aliasesfile:: 220 To avoid typing long email addresses, point this to one or more 221 email aliases files. You must also supply 'sendemail.aliasfiletype'. 222 223sendemail.aliasfiletype:: 224 Format of the file(s) specified in sendemail.aliasesfile. Must be 225 one of 'mutt', 'mailrc', 'pine', or 'gnus'. 226 227sendemail.multiedit:: 228 If true (default), a single editor instance will be spawned to edit 229 files you have to edit (patches when '--annotate' is used, and the 230 summary when '--compose' is used). If false, files will be edited one 231 after the other, spawning a new editor each time. 232 233 234Author 235------ 236Written by Ryan Anderson <ryan@michonline.com> 237 238git-send-email is originally based upon 239send_lots_of_email.pl by Greg Kroah-Hartman. 240 241 242Documentation 243-------------- 244Documentation by Ryan Anderson 245 246 247GIT 248--- 249Part of the linkgit:git[1] suite