Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rdeliver(1) [debian man page]

rdeliver(1)						      General Commands Manual						       rdeliver(1)

NAME
rdeliver - Ruby mail filter script SYNOPSYS
rdeliver <options> [script] DESCRIPTION
This script serves as an example of how you can use the RFilter::DeliveryAgent class to perform mail delivery. You can also use this script as a fully functioning mail filter. This script is a basic mail local delivery agent (DeliveryAgent) that can be used in place of procmail, maildrop, etc. in a user's .forward or .qmail file. The user supplies a delivery script that is written in Ruby, which avoids the limitations of the crippled mini-languages so often used in other DeliveryAgent programs. USAGE
rdeliver is invoked from the command line using: % rdeliver <options> [script] The script argument is optional. If omitted the script will look for a file called .rdeliver in the home directory. Options are: --load-path directory Prepend the given directory to ruby's load path. --log filename Log to the given filename. If no log is specified, no logging occurs. --home directory Specify the home directory. rdeliver will change to this directory before reading and writing any files. The home directory defaults to the value of the HOME or LOGDIR environment variable. DELIVERY SCRIPT
The delivery script runs in the context of a class called Deliver (in contrast, most ruby scripts run in the context of the Object class). So any methods added with def will be added to the Deliver class. A minimal delivery script would be: def main agent.save('inbox') end This code defines a Deliver#main method that saves the mail into an mbox style mailbox. The only API the Deliver script has is the #agent method. This retrieves the RFilter::DeliveryAgent object associated with the current message. Using the API of the RFilter::DeliveryAgent object, you can access and modify the message body and headers, defer or reject the message delivery, and deliver into various mailbox formats. See also RFilter::DeliveryAgent and Deliver. INSTALLATION
Assuming you have the RubyMail mail classes installed, you typically have to put something like this in your .forward file: |"/usr/bin/rdeliver --log /home/you/.rlog" This will call rdeliver for each new message you get, and log to /home/you/.rlog. CATASTROPHIC ERRORS
The rdeliver script is very careful with errors. If there is any problem, it logs the error to the log file you specify. But if you do not specify a log file, or the error occurs before the log file is opened, a record of the error is placed in a file called CATASTROPH- IC_DELIVERY_FAILURE in the home directory. If that fails, the error information is printed to the standard output in the hopes that it will be part of a bounce message. In all cases, the exit code 75 is returned, which tells the MTA to re-try the delivery again. AUTHOR
rdeliver and RFilter support classes were written by Matt Armstrong <matt@lickey.com>. This document was originally an RD format document of rdeliver script. This manual page was converted from it for Debian GNU/Linux system. September 2003 rdeliver(1)

Check Out this Related Man Page

qmail-command(8)					      System Manager's Manual						  qmail-command(8)

NAME
qmail-command - user-specified mail delivery program SYNOPSIS
in .qmailext: |command DESCRIPTION
qmail-local will, upon your request, feed each incoming mail message through a program of your choice. When a mail message arrives, qmail-local runs sh -c command in your home directory. It makes the message available on command's standard input. WARNING: The mail message does not begin with qmail-local's usual Return-Path and Delivered-To lines. Note that qmail-local uses the same file descriptor for every delivery in your .qmail file, so it is not safe for command to fork a child that reads the message in the background while the parent exits. EXIT CODES
command's exit codes are interpreted as follows: 0 means that the delivery was successful; 99 means that the delivery was successful, but that qmail-local should ignore all further delivery instructions; 100 means that the delivery failed permanently (hard error); 111 means that the delivery failed but should be tried again in a little while (soft error). Currently 64, 65, 70, 76, 77, 78, and 112 are considered hard errors, and all other codes are considered soft errors, but command should avoid relying on this. ENVIRONMENT VARIABLES
qmail-local supplies several useful environment variables to command. WARNING: These environment variables are not quoted. They may con- tain special characters. They are under the control of a possibly malicious remote user. SENDER is the envelope sender address. NEWSENDER is the forwarding envelope sender address, as described in dot-qmail(5). RECIPIENT is the envelope recipient address, local@domain. USER is user. HOME is your home directory, homedir. HOST is the domain part of the recipi- ent address. LOCAL is the local part. EXT is the address extension, ext. HOST2 is the portion of HOST preceding the last dot; HOST3 is the portion of HOST preceding the second-to-last dot; HOST4 is the portion of HOST preceding the third-to-last dot. EXT2 is the portion of EXT following the first dash; EXT3 is the portion following the second dash; EXT4 is the portion following the third dash. DEFAULT is the portion corresponding to the default part of the .qmail-... file name; DEFAULT is not set if the file name does not end with default. DTLINE and RPLINE are the usual Delivered-To and Return-Path lines, including newlines. UFLINE is the UUCP-style From_ line that qmail- local adds to mbox-format files. SEE ALSO
dot-qmail(5), envelopes(5), qmail-local(8) qmail-command(8)
Man Page