| Email-Abstract-QpsmtpdTransaction documentation | Contained in the Email-Abstract-QpsmtpdTransaction distribution. |
Email::Abstract::QpsmtpdTransaction - Email::Abstract wrapper for Qpsmtpd::Transaction
use Email::Abstract;
my $email = Email::Abstract->new($transaction)->cast('Email::MIME');
$email->as_string;
$email->parts;
Email::Abstract::QpsmtpdTransaction wraps Qpsmtpd::Transaction mail handling library with an abstract interface, to be used with Email::Abstract.
set_bodyconstractThis means you can cast Qpsmtpd::Transaction to some object supported by Email::Abstract, but cannot cast Email::Abstract-ed object to Qpsmtpd::Transaction. Patches are welcome ;)
Naoki Tomita <tomita@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Email-Abstract-QpsmtpdTransaction documentation | Contained in the Email-Abstract-QpsmtpdTransaction distribution. |
package Email::Abstract::QpsmtpdTransaction; use strict; use warnings; our $VERSION = '0.02'; use Email::Abstract::Plugin; BEGIN { @Email::Abstract::QpsmtpdTransaction::ISA = 'Email::Abstract::Plugin'; }; sub target { "Qpsmtpd::Transaction" } sub construct { die "doesn't support now."; } sub get_header { my ($class, $obj, $header) = @_; $obj->header($header); } sub get_body { my ($class, $obj) = @_; $obj->body_as_string(); } sub set_header { my ($class, $obj, $header, @data) = @_; $obj->header($header, @data); } sub set_body { die "doesn't support now."; } sub as_string { my ($class, $obj) = @_; if ($obj->{_body_file}) { open(my $fh, '<', $obj->body_filename) or die $!; my $source = do { local $/; <$fh> }; close $fh; return $source; } else { return join "", @{ $obj->{_body_array} }; } } 1; __END__