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