Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MAILBOT(1)			 S. Varshavchik.		      MAILBOT(1)

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 ex-
     pected 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  mes-
     sages.  If  mailbot  chooses not to send an autoresponse, it quietly termi-
     nates 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. Ei-
     ther  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 sta-
     tus  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.

     -faddress
	 Address the autoresponse to address, which must be an RFC  2822[1]  ad-
	 dress. 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 log-
	 ically  flows	into the next line. This allows the message to be refor-
	 matted 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 ad-
	     justing 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 with-
	 out any arguments to see the default character set.

     -m filename
	 Read a MIME autoresponse from filename. This is similar to the  -t  op-
	 tion,	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 spec-
	 ified	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  char-
	     acter  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 ad-
	 dress 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 replyfeed-
	 back".

     -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 de-
	     livery status notification.

	 *   "replydraft" - like "reply", with the text of the autoresponse com-
	     ing  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 cre-
	 ated by "reply", "replyall", "replydsn",  "feedback",	and  "replyfeed-
	 back" 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.

	     Additionally,  using  the	-m option to specify MIME contents other
	     than plain text automatically implies -N.

	     Note
	     For "replydsn", "feedback", and "replyfeedback" options,  the  con-
	     vention  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 "replyfeed-
	 back", instead of only its headers.

     -e
	 Generate a reply ("reply"-formats) to the address listed  in  any  "Er-
	 rors-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 ad-
	 dress (suppress autoresponses going back to the same senders, for  sub-
	 sequent 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  ad-
	 dresses  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 pur-
	 poses.

     --feedback-original-envelope-id "<envelopeid>",	       --feedback-origi-
     nal-mail-from "<mailfrom>",       --feedback-reporting-mta "dns; hostname",
     --feedback-source-ip aaa.bbb.ccc.ddd,    --feedback-incidents n,	 --feed-
     back-authentication-results "results",		       --feedback-origi-
     nal-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.

	 Where	appropriate, UTF-8 encoding should be used for non-ASCII charac-
	 ters.

     -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  creat-
     ing  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 au-
     toresponses, and to set the "From:" header on the autoresponse.

SEE ALSO
     maildrop(1)[4], reformail(1)[5], reformime(1)[6].

AUTHOR
     Sam Varshavchik
	 Author

NOTES
      1. RFC 2822
	 https://datatracker.ietf.org/doc/html/rfc2822

      2. RFC 1894
	 https://datatracker.ietf.org/doc/html/rfc1894

      3. RFC 5965
	 https://datatracker.ietf.org/doc/html/rfc5965

      4. maildrop(1)
	 http://www.courier-mta.org/maildrop/maildrop.html

      5. reformail(1)
	 http://www.courier-mta.org/maildrop/reformail.html

      6. reformime(1)
	 http://www.courier-mta.org/maildrop/reformime.html

Courier Mail Server		   01/30/2026			      MAILBOT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mailbot&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help