Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

test::email(3pm) [debian man page]

Test::Email(3pm)					User Contributed Perl Documentation					  Test::Email(3pm)

NAME
Test::Email - Test Email Contents SYNOPSIS
use Test::Email; # is-a MIME::Entity my $email = Test::Email->new(@lines); # all-in-one test $email->ok({ # optional search parameters from => ($is or qr/$regex/), subject => ($is or qr/$regex/), body => ($is or qr/$regex/), headername => ($is or qr/$regex/), }, "passed tests"); # single-test header methods $email->header_is($header_name, $value, "$header_name matches"); $email->header_ok($header_name, $value, "$header_name matches"); $email->header_like($header_name, qr/regex/, "$header_name matches"); # single-test body methods $email->body_is($header_name, $value, "$header_name matches"); $email->body_ok($header_name, $value, "$header_name matches"); $email->body_like($header_name, qr/regex/, "$header_name matches"); # how many MIME parts does the messages contain? $email->parts_ok($parts_count, "there were $parts_count parts found"); # what is the MIME type of the firs part my @parts = $email->parts(); # see MIME::Entity $parts[0]->mime_type_ok('test/html', 'the first part is type text/html'); DESCRIPTION
Please note that this is ALPHA CODE. As such, the interface is likely to change. Test::Email is a subclass of MIME::Entity, with the above methods. If you want the messages fetched from a POP3 account, use Test::POP3. Tests for equality remove trailing newlines from strings before testing. This is because some mail messages have newlines appended to them during the mailing process, which could cause unnecessary confusion. This module should be 100% self-explanatory. If not, then please look at Test::Simple and Test::More for clarification. METHODS
"my $email = Test::Email->new($lines_aref);" This is identical to "MIME::Entity->new()". See there for details. "$email->ok($test_href, $description);" Using this method, you can test multiple qualities of an email message with one test. This will execute the tests as expected and will produce output just like "Test::Simple::ok" and "Test::More::ok". Keys for $test_href are either "body", or they are considered to be the name of a header, case-insensitive. single-test methods The single-test methods in the synopsis above are very similar to their counterparts in Test::Simple and Test::More. Please consult those modules for documentation. Please note that tests for equality remove newlines from their operands before testing. This is because some email messages have newlines appended to them during mailing. "my $ok = $email-"parts_ok($parts_count, $description);> Check to see how many MIME parts this email contains. Each part is also a Test::Email object. "my $ok = $email-"mime_type_ok($expected_mime_type, $description);> Check the MIME type of an email or an email part. EXPORT
None. SEE ALSO
Test::Builder, Test::Simple, Test::More, Test::POP3 TODO
I am open to suggestions. AUTHOR
James Tolley, <james@cpan.org> COPYRIGHT AND LICENSE
Copyright (C) 2007-2008 by James Tolley This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.10.0 2008-10-24 Test::Email(3pm)

Check Out this Related Man Page

Email::Abstract(3pm)					User Contributed Perl Documentation				      Email::Abstract(3pm)

NAME
Email::Abstract - unified interface to mail representations SYNOPSIS
my $message = Mail::Message->read($rfc822) || Email::Simple->new($rfc822) || Mail::Internet->new([split / /, $rfc822]) || ... || $rfc822; my $email = Email::Abstract->new($message); my $subject = $email->get_header("Subject"); $email->set_header(Subject => "My new subject"); my $body = $email->get_body; $rfc822 = $email->as_string; my $mail_message = $email->cast("Mail::Message"); DESCRIPTION
"Email::Abstract" provides module writers with the ability to write simple, representation-independent mail handling code. For instance, in the cases of "Mail::Thread" or "Mail::ListDetector", a key part of the code involves reading the headers from a mail object. Where previously one would either have to specify the mail class required, or to build a new object from scratch, "Email::Abstract" can be used to perform certain simple operations on an object regardless of its underlying representation. "Email::Abstract" currently supports "Mail::Internet", "MIME::Entity", "Mail::Message", "Email::Simple" and "Email::MIME". Other representations are encouraged to create their own "Email::Abstract::*" class by copying "Email::Abstract::EmailSimple". All modules installed under the "Email::Abstract" hierarchy will be automatically picked up and used. METHODS
All of these methods may be called either as object methods or as class methods. When called as class methods, the email object (of any class supported by Email::Abstract) must be prepended to the list of arguments, like so: my $return = Email::Abstract->method($message, @args); This is provided primarily for backwards compatibility. new my $email = Email::Abstract->new($message); Given a message, either as a string or as an object for which an adapter is installed, this method will return a Email::Abstract object wrapping the message. If the message is given as a string, it will be used to construct an object, which will then be wrapped. get_header my $header = $email->get_header($header_name); my @headers = $email->get_header($header_name); This returns the values for the given header. In scalar context, it returns the first value. set_header $email->set_header($header => @values); This sets the $header header to the given one or more values. get_body my $body = $email->get_body; This returns the body as a string. set_body $email->set_body($string); This changes the body of the email to the given string. WARNING! You probably don't want to call this method, despite what you may think. Email message bodies are complicated, and rely on things like content type, encoding, and various MIME requirements. If you call "set_body" on a message more complicated than a single-part seven-bit plain-text message, you are likely to break something. If you need to do this sort of thing, you should probably use a specific message class from end to end. This method is left in place for backwards compatibility. as_string my $string = $email->as_string; This returns the whole email as a decoded string. cast my $mime_entity = $email->cast('MIME::Entity'); This method will convert a message from one message class to another. It will throw an exception if no adapter for the target class is known, or if the adapter does not provide a "construct" method. object my $message = $email->object; This method returns the message object wrapped by Email::Abstract. If called as a class method, it returns false. Note that, because strings are converted to message objects before wrapping, this method will return an object when the Email::Abstract was constructed from a string. PERL EMAIL PROJECT
This module is maintained by the Perl Email Project <http://emailproject.perl.org/wiki/Email::Abstract> AUTHOR
Casey West, <casey@geeknest.com> Simon Cozens, <simon@cpan.org> Ricardo SIGNES, <rjbs@cpan.org> COPYRIGHT AND LICENSE
Copyright 2004 by Simon Cozens This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2011-02-18 Email::Abstract(3pm)
Man Page