Verp(3pm) User Contributed Perl Documentation Verp(3pm)NAME
Mail::Verp - encodes and decodes Variable Envelope Return Paths (VERP) addresses.
SYNOPSIS
use Mail::Verp;
#Using class methods
#Change separator to something else
Mail::Verp->separator('+');
#Create a VERP envelope sender of an email to recipient@example.net.
my $verp_email = Mail::Verp->encode('sender@example.com', 'recipient@example.net');
#If a bounce comes back, decode $verp_email to figure out
#the original recipient of the bounced mail.
my ($sender, $recipient) = Mail::Verp->decode($verp_email);
#Using instance methods
my $verp = Mail::Verp->new(separator => '+');
#Create a VERP envelope sender of an email to recipient@example.net.
my $verp_email = $verp->encode('sender@example.com', 'recipient@example.net');
#Decode a bounce
my ($sender, $recipient) = $verp->decode($verp_email);
ABSTRACT
Mail::Verp encodes and decodes Variable Envelope Return Paths (VERP) email addresses.
DESCRIPTION
Mail::Verp encodes the address of an email recipient into the envelope sender address so that a bounce can be more easily handled even if
the original recipient is forwarding their mail to another address and the remote Mail Transport Agents send back unhelpful bounce
messages. The module can also be used to decode bounce recipient addresses.
FUNCTIONS
new()
Primarily useful to save typing. So instead of typing "Mail::Verp" you can say my $x = Mail::Verp->new; then use $x whereever
"Mail::Verp" is usually required.
Accepts an optional "separator" argument for changing the separator, which defaults to hyphen '-'. The value can also be changed using
the "separator" accessor.
my $x = Mail::Verp->new(separator => '+');
encode(LOCAL-ADDRESS, REMOTE-ADDRESS)
Encodes LOCAL-ADDRESS, REMOTE-ADDRESS into a verped address suitable for use as an envelope return address. It may also be useful to
use the same address in Errors-To and Reply-To headers to compensate for broken Mail Transport Agents.
Uses current separator value.
decode(VERPED-ADDRESS)
Decodes VERPED-ADDRESS into its constituent parts. Returns LOCAL-ADDRESS and REMOTE-ADDRESS in list context, REMOTE-ADDRESS in scalar
context. Returns VERPED-ADDRESS if the decoding fails.
Uses current separator value.
separator
Returns current value of the VERP "separator"
separator(SEPARATOR)
Sets new value for VERP "separator" and returns the previous value.
EXPORT
None.
SEE ALSO
DJ Bernstein details verps here: http://cr.yp.to/proto/verp.txt.
Sam Varshavchik proposes an encoding here: http://www.courier-mta.org/draft-varshavchik-verp-smtpext.txt.
AUTHOR
Gyepi Sam <gyepi@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2007 by Gyepi Sam
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.0 2008-05-26 Verp(3pm)
Check Out this Related Man Page
Mail::Transport::Qmail(3pm) User Contributed Perl Documentation Mail::Transport::Qmail(3pm)NAME
Mail::Transport::Qmail - transmit messages using external Qmail program
INHERITANCE
Mail::Transport::Qmail
is a Mail::Transport::Send
is a Mail::Transport
is a Mail::Reporter
SYNOPSIS
my $sender = Mail::Transport::Qmail->new(...);
$sender->send($message);
DESCRIPTION
Implements mail transport using the external programs 'qmail-inject', part of the qmail mail-delivery system.
METHODS
Constructors
Mail::Transport::Qmail->new(OPTIONS)
-Option--Defined in --Default
executable Mail::Transport undef
hostname Mail::Transport 'localhost'
interval Mail::Transport 30
log Mail::Reporter 'WARNINGS'
password Mail::Transport undef
port Mail::Transport undef
proxy Mail::Transport 'qmail-inject'
retry Mail::Transport <false>
timeout Mail::Transport 120
trace Mail::Reporter 'WARNINGS'
username Mail::Transport undef
via Mail::Transport 'qmail'
executable => FILENAME
hostname => HOSTNAME|ARRAY-OF-HOSTNAMES
interval => SECONDS
log => LEVEL
password => STRING
port => INTEGER
proxy => PATH
retry => NUMBER|undef
timeout => SECONDS
trace => LEVEL
username => STRING
via => CLASS|NAME
Sending mail
$obj->destinations(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
See "Sending mail" in Mail::Transport::Send
$obj->putContent(MESSAGE, FILEHANDLE, OPTIONS)
See "Sending mail" in Mail::Transport::Send
$obj->send(MESSAGE, OPTIONS)
See "Sending mail" in Mail::Transport::Send
$obj->trySend(MESSAGE, OPTIONS)
Server connection
$obj->findBinary(NAME [, DIRECTORIES])
See "Server connection" in Mail::Transport
$obj->remoteHost()
See "Server connection" in Mail::Transport
$obj->retry()
See "Server connection" in Mail::Transport
Error handling
$obj->AUTOLOAD()
See "Error handling" in Mail::Reporter
$obj->addReport(OBJECT)
See "Error handling" in Mail::Reporter
$obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
Mail::Transport::Qmail->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
See "Error handling" in Mail::Reporter
$obj->errors()
See "Error handling" in Mail::Reporter
$obj->log([LEVEL [,STRINGS]])
Mail::Transport::Qmail->log([LEVEL [,STRINGS]])
See "Error handling" in Mail::Reporter
$obj->logPriority(LEVEL)
Mail::Transport::Qmail->logPriority(LEVEL)
See "Error handling" in Mail::Reporter
$obj->logSettings()
See "Error handling" in Mail::Reporter
$obj->notImplemented()
See "Error handling" in Mail::Reporter
$obj->report([LEVEL])
See "Error handling" in Mail::Reporter
$obj->reportAll([LEVEL])
See "Error handling" in Mail::Reporter
$obj->trace([LEVEL])
See "Error handling" in Mail::Reporter
$obj->warnings()
See "Error handling" in Mail::Reporter
Cleanup
$obj->DESTROY()
See "Cleanup" in Mail::Reporter
$obj->inGlobalDestruction()
See "Cleanup" in Mail::Reporter
DIAGNOSTICS
Error: Errors when closing Qmail mailer $program: $!
The Qmail mail transfer agent did start, but was not able to handle the message for some specific reason.
Warning: Message has no destination
It was not possible to figure-out where the message is intended to go to.
Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not implement this method where it should. This message means that
some other related classes do implement this method however the class at hand does not. Probably you should investigate this and
probably inform the author of the package.
Warning: Resent group does not specify a destination
The message which is sent is the result of a bounce (for instance created with Mail::Message::bounce()), and therefore starts with a
"Received" header field. With the "bounce", the new destination(s) of the message are given, which should be included as "Resent-To",
"Resent-Cc", and "Resent-Bcc".
The "To", "Cc", and "Bcc" header information is only used if no "Received" was found. That seems to be the best explanation of the
RFC.
As alternative, you may also specify the "to" option to some of the senders (for instance Mail::Transport::SMTP::send(to) to overrule
any information found in the message itself about the destination.
SEE ALSO
This module is part of Mail-Box distribution version 2.105, built on May 07, 2012. Website: http://perl.overmeer.net/mailbox/
LICENSE
Copyrights 2001-2012 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See
http://www.perl.com/perl/misc/Artistic.html
perl v5.14.2 2012-05-07 Mail::Transport::Qmail(3pm)