STG-MAIL(1)

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)