The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
MAIL::AUDIT::CENTIPAID

This is the 1.0 release of Mail::Audit::Centipaid


OVERVIEW

This is what Mail::Audit::Centipaid is all about:

    NAME
        Mail::Audit::Centipaid - Mail filter that detects and verifies email postage


    HOW TO USE
	Mail::Audit::Centipaid can be used by individuals or companies to designate 
	one or more email accounts SPAM free.  This is done by installing a .forward
	for these account, and use the enclosed centifilter.pl program to filter out
	mail that does not contain valid postage.  Only paid email will be allowed
	through the filter.

	Centipaid supports two types of stamps.

	1. CENTIPIX stamps, which are bought by the sender and used to make payments.
	   Payment processing is deducted from the payment done by the sender.

        2. EZPASS stamps, which are issued by the receiver and given to individuals
	   he/she wants to grant them postage-free access the email account.
	   Payment processing is paid by the recepient.
	   
	The module can also be used in conjunction with SpamAssassin to autoamtically
	reject email messages with a certain spam ranking, and to be directed to pay 
	for postage. 

	Other uses include the designation of postage-requiered email accounts such 
	as the ones used for consulting, support, business to business, etc..


    SYNOPSIS
       use Mail::Audit qw(Centipaid); my $mail = Mail::Audit->new;

	# Configure the filter
	%conf = (
		'acct'   => "AEF001", 			# account_name merchant id 
		'amount' =>  0.005, 			# amount to charge per email
		'https'  => "http://pay.centipaid.com/",# payment url
	 	'pass'   => "adonis",			# receipt_password
	 	'lang'   => "en",			# language setting
		'authserver' => "pay001.centipaid.com", # centipaid_receipt_server
	 	'authport' => '2021',			# port of receipt server
	 	'email' => 'you@domain.com',		# email assigned to accept paid postage emails
		'debug' => 1 				# 1=show output, 0=supress output
		);

	# check mail for epostage
	($code,$reason)= $mail->check_mail(%conf);

	$reply_msg = qq{Your message here..};

	# reject email without postage
	if ( $code == 1 ) {
		$mail->reply(from=>$mail->from, 
			     subject=>"Email postage missing: could not deliver",
			     body=>$reply_msg);
		$mail->ignore;
	}

	# accept the ones that do have one
	if ( $code == 0 ) {$mail->accept; }

        ...


    DESCRIPTION

	This filter is intended to be called by MTAs prior to mail delivery
    to determine if the message contains a valid email postage obtained
    from centipaid.  If the message contains the stamp receipt and it is
    acknowledged by centipaid as being valid for the recipient account, then
    it is accepted, otherwise a custom reply is sent to the sender with
    instructions on how to pay for postage, and a properly formatted url.


INSTALLATION
To install:

1.  Compile the Mail::Audit::Centipaid module
    cd Mail-Centipaid-x.xx
    perl Makefile.PL
    make
    make test
    make install

2. copy the example/centifilter.pl to a prefered location
   We recommend /etc/smrsh

3. Customize the reply message in centifilter.pl if you need to

4. insert the command in the .forward or other methods used
   by your MTA to pipe commands through the filter

   | /etc/smrsh/cenfilter.pl

5. Test the filter by sending email to the account, and watch
   for the response letter.  If you are using the pre-shipped
   demo account of centipaid, then you will need an EZPASS to use
   for testing.  A copy is valid at centipaid.com

   http://demo.centipaid.com/030108EZPASS8nxlp6NQ.jpg

6. Once you get the filter to work with the demo account, register
   for a merchant account with centipaid and edit the %conf hash 
   with your account value.  

7. Enjoy your spam free email account!!!


BUG FIXES AND SUGGESTIONS

Suggestions, patches, can be emailed to aelfakih /at/ cpan dot org or
reported to the support forum at www.centipaid.com.