diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/mailbot.1')
-rw-r--r-- | upstream/debian-bookworm/man1/mailbot.1 | 784 |
1 files changed, 784 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/mailbot.1 b/upstream/debian-bookworm/man1/mailbot.1 new file mode 100644 index 00000000..47399dae --- /dev/null +++ b/upstream/debian-bookworm/man1/mailbot.1 @@ -0,0 +1,784 @@ +'\" t +.\"<!-- Copyright 1998 - 2009 Double Precision, Inc. See COPYING for --> +.\"<!-- distribution information. --> +.\" Title: mailbot +.\" Author: Sam Varshavchik +.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> +.\" Date: 06/20/2015 +.\" Manual: Double Precision, Inc. +.\" Source: Courier Mail Server +.\" Language: English +.\" +.TH "MAILBOT" "1" "06/20/2015" "Courier Mail Server" "Double Precision, Inc\&." +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +mailbot \- A MIME\-aware autoresponder utility +.SH "SYNOPSIS" +.HP \w'\fBmailbot\fR\ 'u +\fBmailbot\fR [options] {\fIprogram\fR} [arg...] +.PP +In +\&.mailfilter: +.sp +.nf +if (/^Subject: *info/) +{ + cc "| mailbot \-t /usr/share/autoresponse/info \-d autoresponsedb \e + \-A \*(AqFrom: info@domain\&.com\*(Aq /usr/bin/sendmail \-f \*(Aq\*(Aq" +} +.fi +.SH "DESCRIPTION" +.PP +\fBmailbot\fR +reads an E\-mail message on standard input and creates an E\-mail message replying to the original message\*(Aqs sender\&. A +\fBprogram\fR +is specified as an argument to +\fBmailbot\fR +after all of +\fBmailbot\fR +options\&. +\fBprogram\fR +is expected to read the created autoreply on its standard input, and mail it\&. If +\fBprogram\fR +is not specified, +\fBmailbot\fR +runs \*(Aqsendmail \-f ""\*(Aq\&. +.PP +\fBmailbot\fR +has several options for suppressing duplicate autoresponse messages\&. If +\fBmailbot\fR +chooses not to send an autoresponse, it quietly terminates without running +\fBprogram\fR\&. The autoresponse is optionally formatted as a MIME delivery status notification\&. +.PP +The text of the autoresponse is specified by the +\fB\-t\fR +or the +\fB\-m\fR +argument\&. Either one is required\&. Everything else is optional\&. The only exception is the +\fB\-T replydraft\fR +option, which requires the +\fB\-l\fR +option instead of either +\fB\-t\fR +or +\fB\-m\fR\&. 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 +\fB\-M\fR +option formats the the autoresponse itself as a MIME delivery status notification\&. +.SH "OPTIONS" +.PP +\-A "\fIheader: value\fR" +.RS 4 +Add a header to the autoresponse\&. Multiple +\fB\-A\fR +options are allowed\&. In most situations, the +\fB\-A\fR +option must be used to set the +\(lqFrom:\(rq +header in the autogenerated response\&. +.RE +.PP +\-f\fIaddress\fR +.RS 4 +Address the autoresponse to +\fIaddress\fR, which must be an +\m[blue]\fBRFC 2822\fR\m[]\&\s-2\u[1]\d\s+2 +address\&. By default +\fBmailbot\fR +takes the autoresponse address from the +From: +(or the +Reply\-To:) header in the original message\&. +\fB\-f\fR, if present, overrides and explicitly sets the autoresponse address\&. "\fIaddress\fR" must immediately follow the +\fB\-f\fR +option without an intervening space (it\*(Aqs a single command line argument)\&. An +\fB\-f\fR +option without an +\fIaddress\fR +takes the address from the +\fBSENDER\fR +environment variable\&. +.RE +.PP +\-t \fIfilename\fR +.RS 4 +Read text autoresponse from +\fIfilename\fR, which must contain a plain text message in +\(lqflowed\-text\(rq +format\&. In a +\(lqflowed\-text\(rq\-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\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +Messages in languages (see the +\fB\-c\fR +option) which use spaces as word delimiters must have +\fItwo\fR +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\*(Aqs width for display\&. +.sp +Messages in ideographic languages that do not use spaces as word delimiters need only one space trailing a flowed line\&. +.sp .5v +.RE +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +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\&. +.sp .5v +.RE +.RE +.PP +\-c \fIcharset\fR +.RS 4 +Set the autoresponse\*(Aqs MIME character set to +\fIcharset\fR\&. Run +\fBmailbot\fR +without any arguments to see the default character set\&. +.RE +.PP +\-m \fIfilename\fR +.RS 4 +Read a MIME autoresponse from +filename\&. This is similar to the +\fB\-t\fR +option, except that +\fIfilename\fR +contains MIME headers, followed by a blank line, and the corresponding MIME content\&. The contents of +\fIfilename\fR +are inserted in the autoresponse without further processing\&. +.sp +The specified file must contain the +\(lqContent\-Type\(rq +header specifying the +\(lqtext/plain\(rq +MIME type, with the +\(lqformat=flowed\(rq, +\(lqdelsp=yes\(rq, and the +\(lqcharset\(rq +attributes, which override the +\fB\-c\fR +parameter\&. If the specified file has a +\(lqContent\-Transfer\-Encoding\(rq +header it must be either +\(lq7bit\(rq +or +\(lq8bit\(rq, it may not be +\(lqquoted\-printable\(rq\&. +\fBmailbot\fR +always drops any existing +\(lqContent\-Transfer\-Encoding\(rq +header and always adds the +\(lqContent\-Transfer\-Encoding: 8bit\(rq +header, even with the +\fB\-m\fR, since the salutation inserted into the message includes the sender\*(Aqs name, which may contain 8\-bit characters\&. Example: +.sp +.if n \{\ +.RS 4 +.\} +.nf +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\&. +.fi +.if n \{\ +.RE +.\} +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +When the +\fB\-m\fR +option is specified +\fBmailbot\fR +ignores the locale\*(Aqs character set and formats the autoreply according to the character set read from the +\(lqContent\-Type\(rq +header\&. +.sp .5v +.RE +.RE +.PP +\-M \fIaddress\fR +.RS 4 +Format the autoresponse as a delivery status notification (\m[blue]\fBRFC 1894\fR\m[]\&\s-2\u[2]\d\s+2)\&. +\fIaddress\fR +is an +\m[blue]\fBRFC 2822\fR\m[]\&\s-2\u[1]\d\s+2 +E\-mail address that generates the DSN\&. Note that the +\fB\-A\fR +option should still be used in addition to +\fB\-M\fR +in order to set the +From: +header on the autoresponse\&. +\fB\-M\fR +sets the DSN address only\&. The +\fB\-M\fR +option automatically sets +\fB\-T \fR\fBreplydsn\fR +.RE +.PP +\-R \fItype\fR +.RS 4 +Specify the feedback report type, with +\fItype\fR +set to +abuse, +fraud, +other, or +virus\&. Must be used together with +\(lq\-T feedback\(rq +or +\(lq\-T replyfeedback\(rq\&. +.RE +.PP +\-T \fIformat\fR +.RS 4 +Set the reply format\&. +\fIformat\fR +must be one of the following values: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqreply\(rq +\- the default reply format\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqreplyall\(rq +\- like +\(lqreply\(rq, except also puts the recipients in the original message\*(Aqs +\(lqTo:\(rq +and +\(lqCc:\(rq +headers into the +\(lqCc:\(rq +header of the generated reply\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqreplydsn\(rq +\- like +\(lqreply\(rq, except the message is formatted as a delivery status notification\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqreplydraft\(rq +\- like +\(lqreply\(rq, with the text of the autoresponse coming from a maildir specified by the +\fB\-l\fR +option\&. See +\(lqAutoreplies from a maildir folder\(rq, below\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqforward\(rq +\- attach the original message as forwarded text\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqforwardatt\(rq +\- attach the original message as a forwarded message attachment\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqfeedback\(rq +\- generate an Email Feedback Report message (see +\m[blue]\fBRFC 5965\fR\m[]\&\s-2\u[3]\d\s+2)\&. The +\(lq\-R\(rq +option is required when this is specified\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\(lqreplyfeedback\(rq +\- like +\(lqfeedback\(rq, but also adds a +\(lqTo:\(rq +header, addressed to the original message\*(Aqs sender\&. +.RE +.RE +.PP +\-N +.RS 4 +Do not quote the contents of the original message in the message created by +\(lqreply\(rq, +\(lqreplyall\(rq, +\(lqreplydsn\(rq, +\(lqfeedback\(rq, and +\(lqreplyfeedback\(rq +options\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +The original message gets quoted, in the absence of this option, only if the original message was formatted as plain text\&. +\fBmailbot\fR +is unable to quote an original message which was formatted as +HTML, or any other non\-plaintext format\&. +.sp .5v +.RE +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +For +\(lqreplydsn\(rq, +\(lqfeedback\(rq, and +\(lqreplyfeedback\(rq +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\&. +.sp .5v +.RE +.RE +.PP +\-a +.RS 4 +Attach the entire message, for +\(lqreplydsn\(rq, +\(lqfeedback\(rq, and +\(lqreplyfeedback\(rq, instead of only its headers\&. +.RE +.PP +\-e +.RS 4 +Generate a reply (\(lqreply\(rq\-formats) to the address listed in any +\(lqErrors\-To\(rq +or +\(lqReturn\-Path\(rq +header, if present, instead of the +\(lqFrom\(rq +header\&. +.RE +.PP +\-S \(lqsalutation\(rq +.RS 4 +Use the given +\fIsalutation\fR +in the +\(lqreply\(rq\&. The default value is +\(lq%F writes:\(rq\&. The following substitutions are recognized in the salutation string: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%% +\- an explicit +% +character\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%n +\- a newline character\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%C +\- the +\(lqX\-Newsgroup:\(rq +header from the original message\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%N +\- the +\(lqNewsgroups:\(rq +header from the original message\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%i +\- the +\(lqMessage\-ID:\(rq +header from the original message\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%f +\- the original message\*(Aqs sender\*(Aqs address\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%F +\- the original message\*(Aqs sender\*(Aqs name\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%S +\- the +\(lqSubject:\(rq +header from the original message +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%d +\- the original message\*(Aqs date, in the local timezone\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +%{\fI\&.\&.\&.\fR}d +\- use +\fBstrftime\fR() to format the original message\*(Aqs date\&. A plain +%d +is equivalent to +%{%a, %d %b %Y %H:%M:%S %z}d\&. +.RE +.sp +All other characters in the salutation string are left as is\&. +.RE +.PP +\-F \(lqmarker\(rq +.RS 4 +When generating a +forward, use the +\fImarker\fR +to separate the forwarded message from the autoreply text, instead of the default +\(lq\-\-\- Forwarded message \-\-\-\(rq +.RE +.PP +\-r \fIaddrlist\fR +.RS 4 +\fIaddrlist\fR +is a comma\-separated list of +\m[blue]\fBRFC 2822\fR\m[]\&\s-2\u[1]\d\s+2 +E\-mail addresses\&. +\fBmailbot\fR +sends an autoresponse only if the original message has at least one of the specified addresses in any +To: +or +Cc: +header\&. +.RE +.PP +\-d \fIfilename\fR +.RS 4 +Create a small database, +\fIfilename\fR, that keeps track of senders\*(Aq 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 +\fB\-d\fR +option is only available if +\fBmaildrop\fR +has GDBM/DB extensions enabled\&. +.RE +.PP +\-D \fIx\fR +.RS 4 +Do not send duplicate autoresponses (see the +\fB\-d\fR +option) for at least +\fIx\fR +days (default: 1 day)\&. The +\fB\-d\fR +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 +\fB\-D\fR +option has elapsed\&. +.RE +.PP +\-s "\fIsubject\fR" +.RS 4 +Set the +Subject: +header on the autoresponse to +\fIsubject\fR\&. +.RE +.PP +\-n +.RS 4 +Show the resulting message, do not send it\&. Used for debugging purposes\&. +.RE +.PP +\-\-feedback\-original\-envelope\-id\ \&\fI"<envelopeid>"\fR, \-\-feedback\-original\-mail\-from\ \&\fI"<mailfrom>"\fR, \-\-feedback\-reporting\-mta\ \&"\fIdns;\ \&hostname"\fR, \-\-feedback\-source\-ip\ \&\fIaaa\&.bbb\&.ccc\&.ddd\fR, \-\-feedback\-incidents\ \&\fIn\fR, \-\-feedback\-authentication\-results\ \&\fI"results"\fR, \-\-feedback\-original\-rcpt\-to\ \&\fI"<rcptto>"\fR, \-\-feedback\-reported\-domain\ \&\fIexample\&.com\fR +.RS 4 +Optional parameters to include in the feedback report generated by +\(lqfeedback\(rq +and +\(lqreplyfeedback\(rq\&. +\fBmailbot\fR +always adds +\(lqArrival\-Date\(rq +with the current time, as well as +\(lqVersion\(rq +and +\(lqUser\-Agent\(rq\&. +.sp +\(lq\-\-feedback\-authentication\-results\(rq, +\(lq\-\-feedback\-original\-rcpt\-to\(rq +and +\(lq\-\-feedback\-reported\-domain\(rq +may be specified more than once\&. +.RE +.PP +\-l \fImaildir\fR +.RS 4 +Specifies the maildir for the +\(lq\-T replydraft\(rq +option\&. See +\(lqAutoreplies from a maildir folder\(rq, below\&. +.RE +.SS "Autoreplies from a maildir folder" +.PP +In +\&.mailfilter: +.sp +.if n \{\ +.RS 4 +.\} +.nf +cc "| mailbot \-T replydraft \-l \*(Aq\&./Maildir/\&.Vacation\*(Aq \e + \-d autoresponsedb \e + \-A \*(AqFrom: info@domain\&.com\*(Aq /usr/bin/sendmail \-f \*(Aq\*(Aq" +to "\&./Maildir" +.fi +.if n \{\ +.RE +.\} +.PP +The +\fB\-T replydraft\fR +reply format takes the content of the autoresponse from the most recent message in a maildir\&. The +\fB\-l\fR +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 +\(lqVacation\(rq\&. +.PP +This makes it possible to install autoreplies via an IMAP client by creating a folder named +\(lqVacation\(rq, and copying a message into it\&. The contents of the message become the autoresponse\&. +.PP +If the named maildir does not exist, or is empty, +\fBmailbot\fR +does nothing\&. If the named maildir has more than one message, the most recent message gets used\&. +.PP +The above example uses additional +\fBmailbot\fR +options to suppress duplicate autoresponses, and to set the +\(lqFrom:\(rq +header on the autoresponse\&. +.SH "SEE ALSO" +.PP +\m[blue]\fB\fBmaildrop\fR(1)\fR\m[]\&\s-2\u[4]\d\s+2, +\m[blue]\fB\fBreformail\fR(1)\fR\m[]\&\s-2\u[5]\d\s+2, +\m[blue]\fB\fBreformime\fR(1)\fR\m[]\&\s-2\u[6]\d\s+2\&. +.SH "AUTHOR" +.PP +\fBSam Varshavchik\fR +.RS 4 +Author +.RE +.SH "NOTES" +.IP " 1." 4 +RFC 2822 +.RS 4 +\%http://tools.ietf.org/html/rfc2822 +.RE +.IP " 2." 4 +RFC 1894 +.RS 4 +\%http://tools.ietf.org/html/rfc1894 +.RE +.IP " 3." 4 +RFC 5965 +.RS 4 +\%http://tools.ietf.org/html/rfc5965 +.RE +.IP " 4." 4 +\fBmaildrop\fR(1) +.RS 4 +\%http://www.courier-mta.org/maildrop/maildrop.html +.RE +.IP " 5." 4 +\fBreformail\fR(1) +.RS 4 +\%http://www.courier-mta.org/maildrop/reformail.html +.RE +.IP " 6." 4 +\fBreformime\fR(1) +.RS 4 +\%http://www.courier-mta.org/maildrop/reformime.html +.RE |