# phpman > man > mailbot(1)

[MAILBOT(1)](https://www.chedong.com/phpMan.php/man/MAILBOT/1/markdown)                             Double Precision, Inc.                             [MAILBOT(1)](https://www.chedong.com/phpMan.php/man/MAILBOT/1/markdown)



## NAME
       mailbot - A MIME-aware autoresponder utility

## SYNOPSIS
       **mailbot** [options] {_program_} [arg...]

       In .mailfilter:

       if (/^Subject: *info/)
       {
            cc "| mailbot -t /usr/share/autoresponse/info -d autoresponsedb \
                   -A 'From: <info@domain.com>' /usr/bin/sendmail -f ''"
       }

## DESCRIPTION
       **mailbot** reads an E-mail message on standard input and creates an E-mail message replying to
       the original message's sender. A **program** is specified as an argument to **mailbot** after all of
       **mailbot** options.  **program** is expected to read the created autoreply on its standard input,
       and mail it. If **program** is not specified, **mailbot** runs 'sendmail -f ""'.

       **mailbot** has several options for suppressing duplicate autoresponse messages. If **mailbot**
       chooses not to send an autoresponse, it quietly terminates without running **program**. The
       autoresponse is optionally formatted as a MIME delivery status notification.

       The text of the autoresponse is specified by the **-t** or the **-m** argument. Either one is
       required. Everything else is optional. The only exception is the **-T** **replydraft** option, which
       requires the **-l** option instead of either **-t** or **-m**. The default behavior is to send an
       autoresponse unless the original message has the "Precedence: junk" or the "Precedence: bulk"
       header, or the "Precedence: list" header, or the "List-ID:" header, or if its MIME content
       type is "multipart/report" (this is the MIME content type for delivery status notifications).
       The **-M** option formats the the autoresponse itself as a MIME delivery status notification.

## OPTIONS
       -A "_header:_ _value_"
           Add a header to the autoresponse. Multiple **-A** options are allowed. In most situations,
           the **-A** option must be used to set the “From:” header in the autogenerated response.

### -f_address_
           Address the autoresponse to _address_, which must be an **RFC** **2822**[1] address. By default
           **mailbot** takes the autoresponse address from the From: (or the Reply-To:) header in the
           original message.  **-f**, if present, overrides and explicitly sets the autoresponse
           address. "_address_" must immediately follow the **-f** option without an intervening space
           (it's a single command line argument). An **-f** option without an _address_ takes the address
           from the **SENDER** environment variable.

       -t _filename_
           Read text autoresponse from _filename_, which must contain a plain text message in
           “flowed-text” format. In a “flowed-text”-formatted message, each line that ends with a
           space character indicates that the line logically flows into the next line. This allows
           the message to be reformatted for any shown display width.

               **Note**
               Messages in languages (see the **-c** option) which use spaces as word delimiters must
               have _two_ spaces at the end of a flowed line. The last space on a flowed line is
               logically removed, and the first space separates the last word on the previous line
               from the first word on the next line. Otherwise, the two words will not have a
               logical space between them if they get repositioned as part of adjusting the
               message's width for display.

               Messages in ideographic languages that do not use spaces as word delimiters need only
               one space trailing a flowed line.

               **Note**
               The trailing whitespace has no visual impact when shown by software that does not
               implemented flowed text format, and always displays messages using their original
               width.

       -c _charset_
           Set the autoresponse's MIME character set to _charset_. Run **mailbot** without any arguments
           to see the default character set.

       -m _filename_
           Read a MIME autoresponse from filename. This is similar to the **-t** option, except that
           _filename_ contains MIME headers, followed by a blank line, and the corresponding MIME
           content. The contents of _filename_ are inserted in the autoresponse without further
           processing.

           The specified file must contain the “Content-Type” header specifying the “text/plain”
           MIME type, with the “format=flowed”, “delsp=yes”, and the “charset” attributes, which
           override the **-c** parameter. If the specified file has a “Content-Transfer-Encoding” header
           it must be either “7bit” or “8bit”, it may not be “quoted-printable”.  **mailbot** always
           drops any existing “Content-Transfer-Encoding” header and always adds the
           “Content-Transfer-Encoding: 8bit” header, even with the **-m**, since the salutation inserted
           into the message includes the sender's name, which may contain 8-bit characters. Example:

               Content-Type: text/plain; format=flowed; delsp=yes; charset="iso-8859-1"

               Mary had a little lamb,
               Its fleece was white as snow.
               And everywhere Mary went,
               The lamb was sure to go.

               **Note**
               When the **-m** option is specified **mailbot** ignores the locale's character set and
               formats the autoreply according to the character set read from the “Content-Type”
               header.

       -M _address_
           Format the autoresponse as a delivery status notification (**RFC** **1894**[2]).  _address_ is an
           **RFC** **2822**[1] E-mail address that generates the DSN. Note that the **-A** option should still
           be used in addition to **-M** in order to set the From: header on the autoresponse.  **-M** sets
           the DSN address only. The **-M** option automatically sets **-T** **replydsn**

       -R _type_
           Specify the feedback report type, with _type_ set to abuse, fraud, other, or virus. Must be
           used together with “-T feedback” or “-T replyfeedback”.

       -T _format_
           Set the reply format.  _format_ must be one of the following values:

           •   “reply” - the default reply format.

           •   “replyall” - like “reply”, except also puts the recipients in the original message's
               “To:” and “Cc:” headers into the “Cc:” header of the generated reply.

           •   “replydsn” - like “reply”, except the message is formatted as a delivery status
               notification.

           •   “replydraft” - like “reply”, with the text of the autoresponse coming from a maildir
               specified by the **-l** option. See “Autoreplies from a maildir folder”, below.

           •   “forward” - attach the original message as forwarded text.

           •   “forwardatt” - attach the original message as a forwarded message attachment.

           •   “feedback” - generate an Email Feedback Report message (see **RFC** **5965**[3]). The “-R”
               option is required when this is specified.

           •   “replyfeedback” - like “feedback”, but also adds a “To:” header, addressed to the
               original message's sender.

### -N
           Do not quote the contents of the original message in the message created by “reply”,
           “replyall”, “replydsn”, “feedback”, and “replyfeedback” options.

               **Note**
               The original message gets quoted, in the absence of this option, only if the original
               message was formatted as plain text.  **mailbot** is unable to quote an original message
               which was formatted as HTML, or any other non-plaintext format.

               **Note**
               For “replydsn”, “feedback”, and “replyfeedback” options, the convention is to attach
               the original message, or only its headers, separately; so this option should always
               be specified for these three reply formats.

### -a
           Attach the entire message, for “replydsn”, “feedback”, and “replyfeedback”, instead of
           only its headers.

### -e
           Generate a reply (“reply”-formats) to the address listed in any “Errors-To” or
           “Return-Path” header, if present, instead of the “From” header.

       -S “salutation”
           Use the given _salutation_ in the “reply”. The default value is “%F writes:”. The following
           substitutions are recognized in the salutation string:

           •   %% - an explicit % character.

           •   %n - a newline character.

           •   %C - the “X-Newsgroup:” header from the original message.

           •   %N - the “Newsgroups:” header from the original message.

           •   %i - the “Message-ID:” header from the original message.

           •   %f - the original message's sender's address.

           •   %F - the original message's sender's name.

           •   %S - the “Subject:” header from the original message

           •   %d - the original message's date, in the local timezone.

           •   %{_..._}d - use **strftime**() to format the original message's date. A plain %d is
               equivalent to %{%a, %d %b %Y %H:%M:%S %z}d.

           All other characters in the salutation string are left as is.

       -F “marker”
           When generating a forward, use the _marker_ to separate the forwarded message from the
           autoreply text, instead of the default “--- Forwarded message ---”

       -r _addrlist_
           _addrlist_ is a comma-separated list of **RFC** **2822**[1] E-mail addresses.  **mailbot** sends an
           autoresponse only if the original message has at least one of the specified addresses in
           any To: or Cc: header.

       -d _filename_
           Create a small database, _filename_, that keeps track of senders' E-mail addresses, and
           prevent duplicate autoresponses going to the same address (suppress autoresponses going
           back to the same senders, for subsequent received messages). The **-d** option is only
           available if **maildrop** has GDBM/DB extensions enabled.

       -D _x_
           Do not send duplicate autoresponses (see the **-d** option) for at least _x_ days (default: 1
           day). The **-d** option creates a database of E-mail addresses and the times an autoresponse
           was last mailed to them. Another autoresponse to the same address will not be mailed
           until at least the amount of time specified by the **-D** option has elapsed.

       -s "_subject_"
           Set the Subject: header on the autoresponse to _subject_.

### -n
           Show the resulting message, do not send it. Used for debugging purposes.

       --feedback-original-envelope-id _"<envelopeid>"_, --feedback-original-mail-from _"<mailfrom>"_,
       --feedback-reporting-mta "_dns;_ _hostname"_, --feedback-source-ip _aaa.bbb.ccc.ddd_,
       --feedback-incidents _n_, --feedback-authentication-results _"results"_,
       --feedback-original-rcpt-to _"<rcptto>"_, --feedback-reported-domain _example.com_
           Optional parameters to include in the feedback report generated by “feedback” and
           “replyfeedback”.  **mailbot** always adds “Arrival-Date” with the current time, as well as
           “Version” and “User-Agent”.

           “--feedback-authentication-results”, “--feedback-original-rcpt-to” and
           “--feedback-reported-domain” may be specified more than once.

       -l _maildir_
           Specifies the maildir for the “-T replydraft” option. See “Autoreplies from a maildir
           folder”, below.

### Autoreplies from a maildir folder
       In .mailfilter:

           cc "| mailbot -T replydraft -l './Maildir/.Vacation' \
                   -d autoresponsedb \
                   -A 'From: <info@domain.com>' /usr/bin/sendmail -f ''"
           to "./Maildir"

       The **-T** **replydraft** reply format takes the content of the autoresponse from the most recent
       message in a maildir. The **-l** option specifies the maildir. The above example takes the
       message from $HOME/Maildir/.Drafts which should be a maildir (with the usual cur, new, and
       tmp subdirectories). It would typically get created by Courier-IMAP as a folder named
       “Vacation”.

       This makes it possible to install autoreplies via an IMAP client by creating a folder named
       “Vacation”, and copying a message into it. The contents of the message become the
       autoresponse.

       If the named maildir does not exist, or is empty, **mailbot** does nothing. If the named maildir
       has more than one message, the most recent message gets used.

       The above example uses additional **mailbot** options to suppress duplicate autoresponses, and to
       set the “From:” header on the autoresponse.

## SEE ALSO
       [**maildrop**(1)](https://www.chedong.com/phpMan.php/man/maildrop/1/markdown)[4], [**reformail**(1)](https://www.chedong.com/phpMan.php/man/reformail/1/markdown)[5], [**reformime**(1)](https://www.chedong.com/phpMan.php/man/reformime/1/markdown)[6].

## AUTHOR
### Sam Varshavchik
           Author

## NOTES
        1. RFC 2822
           <http://tools.ietf.org/html/rfc2822>

        2. RFC 1894
           <http://tools.ietf.org/html/rfc1894>

        3. RFC 5965
           <http://tools.ietf.org/html/rfc5965>

        4. [**maildrop**(1)](https://www.chedong.com/phpMan.php/man/maildrop/1/markdown)
           <http://www.courier-mta.org/maildrop/maildrop.html>

        5. [**reformail**(1)](https://www.chedong.com/phpMan.php/man/reformail/1/markdown)
           <http://www.courier-mta.org/maildrop/reformail.html>

        6. [**reformime**(1)](https://www.chedong.com/phpMan.php/man/reformime/1/markdown)
           <http://www.courier-mta.org/maildrop/reformime.html>



Courier Mail Server                          06/20/2015                                   [MAILBOT(1)](https://www.chedong.com/phpMan.php/man/MAILBOT/1/markdown)
