---
name: "stg-mail"
section: "1"
platform: "linux"
package: "stgit"
version: "0.18-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/stg-mail"
---

# stg-mail(1)

Send a patch or series of patches by e-mail

## NAME

stg-mail - Send a patch or series of patches by e-mail

## SYNOPSIS

```
stg mail  [options] [--] [<patch1>] [<patch2>] [<patch3>..<patch4>]
```

## DESCRIPTION

Send a patch or a range of patches by e-mail using the SMTP server specified by the *stgit.smtpserver* configuration option, or the *--smtp-server* command line option. This option can also be an absolute path to *sendmail* followed by command line arguments.

The From address and the e-mail format are generated from the template file passed as argument to *--template* (defaulting to *.git/patchmail.tmpl* or *~/.stgit/templates/patchmail.tmpl* or */usr/share/stgit/templates/patchmail.tmpl*). A patch can be sent as attachment using the --attach option in which case the *mailattch.tmpl* template will be used instead of *patchmail.tmpl*.

The To/Cc/Bcc addresses can either be added to the template file or passed via the corresponding command line options. They can be e-mail addresses or aliases which are automatically expanded to the values stored in the \[mail "alias"\] section of GIT configuration files.

A preamble e-mail can be sent using the *--cover* and/or *--edit-cover* options. The first allows the user to specify a file to be used as a template. The latter option will invoke the editor on the specified file (defaulting to *.git/covermail.tmpl* or *~/.stgit/templates/covermail.tmpl* or */usr/share/stgit/templates/covermail.tmpl*).

All the subsequent e-mails appear as replies to the first e-mail sent (either the preamble or the first patch). E-mails can be seen as replies to a different e-mail by using the *--in-reply-to* option.

SMTP authentication is also possible with *--smtp-user* and *--smtp-password* options, also available as configuration settings: *smtpuser* and *smtppassword*. TLS encryption can be enabled by *--smtp-tls* option and *smtptls* setting.

The following variables are accepted by both the preamble and the patch e-mail templates:

```
%(diffstat)s     - diff statistics
%(number)s       - empty if only one patch is sent or 'patchnr/totalnr'
%(snumber)s      - stripped version of '%(number)s'
%(nspace)s       - ' ' if %(number)s is non-empty, otherwise empty string
%(patchnr)s      - patch number
%(sender)s       - 'sender'  or 'authname <authemail>' as per the config file
%(totalnr)s      - total number of patches to be sent
%(version)s      - 'version' string passed on the command line (or empty)
%(vspace)s       - ' ' if %(version)s is non-empty, otherwise empty string
```

In addition to the common variables, the preamble e-mail template accepts the following:

```
%(shortlog)s     - first line of each patch description, listed by author
```

In addition to the common variables, the patch e-mail template accepts the following:

```
%(authdate)s     - patch creation date
%(authemail)s    - author's email
%(authname)s     - author's name
%(commemail)s    - committer's e-mail
%(commname)s     - committer's name
%(diff)s         - unified diff of the patch
%(fromauth)s     - 'From: author\n\n' if different from sender
%(longdescr)s    - the rest of the patch description, after the first line
%(patch)s        - patch name
%(prefix)s       - 'prefix' string passed on the command line
%(pspace)s       - ' ' if %(prefix)s is non-empty, otherwise empty string
%(shortdescr)s   - the first line of the patch description
```

## OPTIONS

- \-a, --all

  E-mail all the applied patches.

- \--to TO

  Add TO to the To: list.

- \--cc CC

  Add CC to the Cc: list.

- \--bcc BCC

  Add BCC to the Bcc: list.

- \--auto

  Automatically cc the patch signers.

- \--no-thread

  Do not send subsequent messages as replies.

- \--unrelated

  Send patches without sequence numbering.

- \--attach

  Send a patch as attachment.

- \--attach-inline

  Send a patch inline and as an attachment.

- \-v VERSION, --version VERSION

  Add VERSION to the \[PATCH ...\] prefix.

- \--prefix PREFIX

  Add PREFIX to the \[... PATCH ...\] prefix.

- \-t FILE, --template FILE

  Use FILE as the message template.

- \-c FILE, --cover FILE

  Send FILE as the cover message.

- \-e, --edit-cover

  Edit the cover message before sending.

- \-E, --edit-patches

  Edit each patch before sending.

- \-s SECONDS, --sleep SECONDS

  Sleep for SECONDS between e-mails sending.

- \--in-reply-to REFID

  Use REFID as the reference id.

\--smtp-server HOST\[:PORT\] or "/path/to/sendmail -t -i"

SMTP server or command to use for sending mail.

- \-u USER, --smtp-user USER

  Username for SMTP authentication.

- \-p PASSWORD, --smtp-password PASSWORD

  Password for SMTP authentication.

- \-T, --smtp-tls

  Use SMTP with TLS encryption.

- \-b BRANCH, --branch BRANCH

  Use BRANCH instead of the default branch.

- \-m, --mbox

  Generate an mbox file instead of sending.

- \--git

  Use git send-email (EXPERIMENTAL).

- \-O OPTIONS, --diff-opts OPTIONS

  Extra options to pass to "git diff".

## STGIT

Part of the StGit suite - see [**stg**(1)](/stg/1.md)
