![Page 1: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/1.jpg)
PerlEmail Project
the 2007 PEP talk!!!
![Page 2: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/2.jpg)
How I Learned To Stop Worrying
andLove Email
![Page 4: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/4.jpg)
![Page 5: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/5.jpg)
we’re hiring: http://xrl.us/pobox
![Page 6: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/6.jpg)
Perl Email Project
![Page 7: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/7.jpg)
PEP
![Page 8: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/8.jpg)
Email::
![Page 9: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/9.jpg)
simpleefficientaccurate
![Page 10: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/10.jpg)
less processor time
![Page 11: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/11.jpg)
less memory
![Page 12: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/12.jpg)
fewer classes
![Page 13: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/13.jpg)
fewer methods
![Page 14: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/14.jpg)
LESS OF A PAIN IN THE ASS
![Page 15: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/15.jpg)
Make Email Handling Suck
Less
![Page 16: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/16.jpg)
writing better modules
![Page 17: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/17.jpg)
maintaining old modules
![Page 18: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/18.jpg)
sharing knowledge
![Page 19: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/19.jpg)
Modules!
![Page 20: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/20.jpg)
Frameworks
![Page 21: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/21.jpg)
Mail-Box
![Page 22: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/22.jpg)
Email::
![Page 23: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/23.jpg)
Message Objects
![Page 24: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/24.jpg)
Email::Simple&
Email::MIME
![Page 25: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/25.jpg)
![Page 26: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/26.jpg)
use Email::Simple;
![Page 27: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/27.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
![Page 28: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/28.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;
![Page 29: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/29.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create(
![Page 30: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/30.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [
![Page 31: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/31.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’,
![Page 32: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/32.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’,
![Page 33: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/33.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’,
![Page 34: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/34.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => ‘1099’,
![Page 35: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/35.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => ‘1099’, Keyword => ‘1040’,
![Page 36: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/36.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => ‘1099’, Keyword => ‘1040’, ],
![Page 37: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/37.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => ‘1099’, Keyword => ‘1040’, ], body => “[ insert threatening text here ]”
![Page 38: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/38.jpg)
use Email::Simple;
my $email = Email::Simple->new($string);
use Email::Simple::Creator;my $email = Email::Simple->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => ‘1099’, Keyword => ‘1040’, ], body => “[ insert threatening text here ]”);
![Page 39: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/39.jpg)
![Page 40: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/40.jpg)
$email->as_string;
![Page 41: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/41.jpg)
$email->as_string;
$email->header(‘Subject’);
![Page 42: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/42.jpg)
$email->as_string;
$email->header(‘Subject’);
$email->header_set(Subject => ‘Re: mtfnpy’);
![Page 43: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/43.jpg)
$email->as_string;
$email->header(‘Subject’);
$email->header_set(Subject => ‘Re: mtfnpy’);
$email->body;
![Page 44: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/44.jpg)
$email->as_string;
$email->header(‘Subject’);
$email->header_set(Subject => ‘Re: mtfnpy’);
$email->body;
$email->body_set($big_string);
![Page 45: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/45.jpg)
![Page 46: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/46.jpg)
use Email::Simple;
![Page 47: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/47.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );
![Page 48: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/48.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
![Page 49: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/49.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
use Email::Simple::FromHandle;
![Page 50: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/50.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
use Email::Simple::FromHandle;
my $email = Email::SimpleFromHandle->new(
![Page 51: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/51.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
use Email::Simple::FromHandle;
my $email = Email::SimpleFromHandle->new( $input_handle
![Page 52: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/52.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
use Email::Simple::FromHandle;
my $email = Email::SimpleFromHandle->new( $input_handle);
![Page 53: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/53.jpg)
use Email::Simple;
my $email = Email::Simple->new( \$string );$email->body_set( \$new_body );
use Email::Simple::FromHandle;
my $email = Email::SimpleFromHandle->new( $input_handle);
$email->stream_to($output_handle);
![Page 54: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/54.jpg)
![Page 55: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/55.jpg)
my $email = Email::MIME->new(\$string);
![Page 56: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/56.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;
![Page 57: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/57.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create(
![Page 58: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/58.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [
![Page 59: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/59.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’,
![Page 60: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/60.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’,
![Page 61: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/61.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’,
![Page 62: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/62.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
![Page 63: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/63.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes =>
![Page 64: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/64.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
![Page 65: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/65.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
parts => [
![Page 66: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/66.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
parts => [ Email::MIME->create(...),
![Page 67: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/67.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
parts => [ Email::MIME->create(...), Email::MIME->create(...),
![Page 68: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/68.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
parts => [ Email::MIME->create(...), Email::MIME->create(...), ],
![Page 69: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/69.jpg)
my $email = Email::MIME->new(\$string);
use Email::MIME::Creator;my $email = Email::MIME->create( header => [ To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ],
attributes => { content_type => ‘multipart/mixed’ },
parts => [ Email::MIME->create(...), Email::MIME->create(...), ],);
![Page 70: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/70.jpg)
![Page 71: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/71.jpg)
$email->subparts;
![Page 72: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/72.jpg)
$email->subparts;
$email->parts_set(@parts);
![Page 73: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/73.jpg)
$email->subparts;
$email->parts_set(@parts);
$email->body_raw;
![Page 74: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/74.jpg)
problems
![Page 75: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/75.jpg)
still not efficient enough
problems
![Page 76: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/76.jpg)
still not efficient enough
FromHandle doesn’t do MIME
problems
![Page 77: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/77.jpg)
still not efficient enough
FromHandle doesn’t do MIME
Email::MIME doesn’t stream
problems
![Page 78: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/78.jpg)
still not efficient enough
FromHandle doesn’t do MIME
Email::MIME doesn’t stream
fairly small feature set*
problems
![Page 79: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/79.jpg)
MIME::Entity
![Page 80: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/80.jpg)
![Page 81: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/81.jpg)
my $entity = MIME::Entity->new($input_handle);
![Page 82: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/82.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
![Page 83: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/83.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build(
![Page 84: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/84.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’,
![Page 85: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/85.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’,
![Page 86: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/86.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’,
![Page 87: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/87.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ],
![Page 88: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/88.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],
![Page 89: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/89.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],);
![Page 90: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/90.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],);
$entity->attach(
![Page 91: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/91.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],);
$entity->attach( Path => ‘./reports/audit-results.pdf’,
![Page 92: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/92.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],);
$entity->attach( Path => ‘./reports/audit-results.pdf’, Type => ‘application/pdf’,
![Page 93: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/93.jpg)
my $entity = MIME::Entity->new($input_handle);my $entity = MIME::Entity->new(\@lines);
my $entity = MIME::Entity->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, ‘Keyword:’ => [ 1099, 1040 ], Data => [ “This might be an audit.” ],);
$entity->attach( Path => ‘./reports/audit-results.pdf’, Type => ‘application/pdf’,);
![Page 94: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/94.jpg)
problems
![Page 95: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/95.jpg)
really big (loads 50+ extra modules)
problems
![Page 96: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/96.jpg)
really big (loads 50+ extra modules)
large, sometimes confusing interface
problems
![Page 97: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/97.jpg)
really big (loads 50+ extra modules)
large, sometimes confusing interface
history of subtle bugs
problems
![Page 98: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/98.jpg)
Mail::Message(a Mail::Box Production)
![Page 99: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/99.jpg)
![Page 100: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/100.jpg)
my $mail = Mail::Message->read($input_handle);
![Page 101: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/101.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build(
![Page 102: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/102.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’,
![Page 103: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/103.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’,
![Page 104: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/104.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’,
![Page 105: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/105.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099,
![Page 106: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/106.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099, Keyword => 1040,
![Page 107: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/107.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099, Keyword => 1040,
![Page 108: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/108.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099, Keyword => 1040, data => “This might be an audit.\n”,
![Page 109: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/109.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099, Keyword => 1040, data => “This might be an audit.\n”, file => ‘./reports/audit-results.pdf’,
![Page 110: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/110.jpg)
my $mail = Mail::Message->read($input_handle);
my $mail = Mail::Message->build( To => ‘[email protected]’, From => ‘IRS <[email protected]>’, Subject => ‘Please See Me’, Keyword => 1099, Keyword => 1040, data => “This might be an audit.\n”, file => ‘./reports/audit-results.pdf’,);
![Page 111: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/111.jpg)
![Page 112: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/112.jpg)
$mail->string;
![Page 113: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/113.jpg)
$mail->string;
$mail->head->get(‘Subject’);
![Page 114: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/114.jpg)
$mail->string;
$mail->head->get(‘Subject’);
$mail->head->delete(‘X-Pointles’);
![Page 115: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/115.jpg)
$mail->string;
$mail->head->get(‘Subject’);
$mail->head->delete(‘X-Pointles’);
$mail->head->reset(Subject => “I’m on TV!”);
![Page 116: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/116.jpg)
$mail->string;
$mail->head->get(‘Subject’);
$mail->head->delete(‘X-Pointles’);
$mail->head->reset(Subject => “I’m on TV!”);
$mail->body(
![Page 117: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/117.jpg)
$mail->string;
$mail->head->get(‘Subject’);
$mail->head->delete(‘X-Pointles’);
$mail->head->reset(Subject => “I’m on TV!”);
$mail->body( Mail::Message::Body->new(data => $data),
![Page 118: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/118.jpg)
$mail->string;
$mail->head->get(‘Subject’);
$mail->head->delete(‘X-Pointles’);
$mail->head->reset(Subject => “I’m on TV!”);
$mail->body( Mail::Message::Body->new(data => $data),);
![Page 119: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/119.jpg)
![Page 120: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/120.jpg)
$mail->body->parts;
![Page 121: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/121.jpg)
$mail->body->parts;
$mail->body->attach(@things);
![Page 122: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/122.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
![Page 123: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/123.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
my @parts = $mail->body->parts(
![Page 124: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/124.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
my @parts = $mail->body->parts( sub { $_[0]->mimeType eq ‘text/html }
![Page 125: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/125.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
my @parts = $mail->body->parts( sub { $_[0]->mimeType eq ‘text/html });
![Page 126: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/126.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
my @parts = $mail->body->parts( sub { $_[0]->mimeType eq ‘text/html });$_->delete for @parts;
![Page 127: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/127.jpg)
$mail->body->parts;
$mail->body->attach(@things);$mail->body->part(1)->delete;
my @parts = $mail->body->parts( sub { $_[0]->mimeType eq ‘text/html });$_->delete for @parts;$mail->body->rebuild;
![Page 128: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/128.jpg)
problems
![Page 129: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/129.jpg)
really big (loads 40+ extra modules)
problems
![Page 130: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/130.jpg)
really big (loads 40+ extra modules)
large, sometimes confusing interface
problems
![Page 131: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/131.jpg)
Mail::Internet
![Page 132: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/132.jpg)
Mail::Internet
![Page 133: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/133.jpg)
MIME::Lite
![Page 134: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/134.jpg)
MIME::Lite
![Page 135: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/135.jpg)
Email::Abstract
![Page 136: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/136.jpg)
![Page 137: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/137.jpg)
my $abstract = Email::Abstract->new($thing);
![Page 138: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/138.jpg)
my $abstract = Email::Abstract->new($thing);
![Page 139: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/139.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);
![Page 140: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/140.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
![Page 141: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/141.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
![Page 142: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/142.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;
![Page 143: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/143.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;$abstract->set_body(‘This is a short body!’);
![Page 144: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/144.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;$abstract->set_body(‘This is a short body!’);
![Page 145: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/145.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;$abstract->set_body(‘This is a short body!’);
$abstract->as_string;
![Page 146: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/146.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;$abstract->set_body(‘This is a short body!’);
$abstract->as_string;
![Page 147: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/147.jpg)
my $abstract = Email::Abstract->new($thing);
$abstract->get_header(‘Subject’);$abstract->set_header(Subject => ‘Foo!’);
$abstract->get_body;$abstract->set_body(‘This is a short body!’);
$abstract->as_string;
$abstract->cast(‘Mail::Internet’);
![Page 148: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/148.jpg)
![Page 149: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/149.jpg)
Email::Simple & ::MIME
![Page 150: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/150.jpg)
Email::Simple & ::MIME
MIME::Entity
![Page 151: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/151.jpg)
Email::Simple & ::MIME
MIME::Entity
Mail::Internet
![Page 152: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/152.jpg)
Email::Simple & ::MIME
MIME::Entity
Mail::Internet
Mail::Message
![Page 153: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/153.jpg)
Email::Simple & ::MIME
MIME::Entity
Mail::Internet
Mail::Message
more coming
![Page 154: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/154.jpg)
problems
![Page 155: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/155.jpg)
missing some key methods
problems
![Page 156: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/156.jpg)
missing some key methods
needs more testing for complex message types
problems
![Page 157: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/157.jpg)
missing some key methods
needs more testing for complex message types
can be inefficient
problems
![Page 158: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/158.jpg)
suggestion
![Page 159: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/159.jpg)
suggestion
learn all of Email::Simple and most of Email::MIME
![Page 160: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/160.jpg)
suggestion
learn all of Email::Simple and most of Email::MIME
for sending your own simple emails, use these
![Page 161: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/161.jpg)
suggestion
![Page 162: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/162.jpg)
learn the basics of Mail::Message
suggestion
![Page 163: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/163.jpg)
learn the basics of Mail::Message
use it if you know you’ll need to use more of Mail::Box in the future
suggestion
![Page 164: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/164.jpg)
learn the basics of Mail::Message
use it if you know you’ll need to use more of Mail::Box in the future
use it if you have complex encoding or MIME-handling requirements
suggestion
![Page 165: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/165.jpg)
suggestion
![Page 166: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/166.jpg)
learn the basics of handling MIME::Entity messages
suggestion
![Page 167: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/167.jpg)
learn the basics of handling MIME::Entity messages
lots of code uses them
suggestion
![Page 168: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/168.jpg)
learn the basics of handling MIME::Entity messages
lots of code uses them
use MIME::Entity when you need to cope with crappy input that nothing else can parse
suggestion
![Page 169: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/169.jpg)
suggestion
![Page 170: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/170.jpg)
suggestion
if you write an API that is passed an email message, consider using Abstract
![Page 171: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/171.jpg)
suggestion
if you write an API that is passed an email message, consider using Abstract
if it exists primarily for handling email, pick a more complete library to use, and stick to it.
![Page 172: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/172.jpg)
Email Collections
![Page 173: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/173.jpg)
Mail::Box
![Page 174: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/174.jpg)
![Page 175: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/175.jpg)
my $maildir = Mail::Box::Maildir->new
![Page 176: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/176.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,
![Page 177: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/177.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
![Page 178: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/178.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
![Page 179: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/179.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
![Page 180: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/180.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
![Page 181: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/181.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
![Page 182: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/182.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
![Page 183: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/183.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
my $newmsg = Mail::Message->new(...);
![Page 184: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/184.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
my $newmsg = Mail::Message->new(...);
![Page 185: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/185.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
my $newmsg = Mail::Message->new(...);
$maildir->addMessage($newmsg);
![Page 186: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/186.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
my $newmsg = Mail::Message->new(...);
$maildir->addMessage($newmsg);
![Page 187: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/187.jpg)
my $maildir = Mail::Box::Maildir->new folder => ‘./Maildir/’,);
my $message = $maildir->message(4);
$message->delete;
my $newmsg = Mail::Message->new(...);
$maildir->addMessage($newmsg);
$maildir->write;
![Page 188: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/188.jpg)
folders over the net
![Page 189: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/189.jpg)
subfolders
![Page 190: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/190.jpg)
threading
![Page 191: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/191.jpg)
delayed reading&
construction
![Page 192: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/192.jpg)
suggestion
![Page 193: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/193.jpg)
suggestion
if you need to manage mailboxes, just use it
![Page 194: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/194.jpg)
suggestion
if you need to manage mailboxes, just use it
there isn’t really any alternative
![Page 195: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/195.jpg)
suggestion
if you need to manage mailboxes, just use it
there isn’t really any alternative
unless you count...
![Page 196: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/196.jpg)
Email::Folder(and friends)
![Page 197: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/197.jpg)
a bunch of modules
![Page 198: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/198.jpg)
Email::Feature::Type
![Page 199: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/199.jpg)
Email::FolderType
![Page 200: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/200.jpg)
![Page 201: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/201.jpg)
use Email::FolderType qw(folder_type);
![Page 202: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/202.jpg)
use Email::FolderType qw(folder_type);
![Page 203: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/203.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);
![Page 204: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/204.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
![Page 205: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/205.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
![Page 206: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/206.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
my $type = folder_type(‘./Maildir/’);
![Page 207: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/207.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
my $type = folder_type(‘./Maildir/’);# => ‘Maildir’
![Page 208: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/208.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
my $type = folder_type(‘./Maildir/’);# => ‘Maildir’
![Page 209: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/209.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
my $type = folder_type(‘./Maildir/’);# => ‘Maildir’
my $type = folder_type(‘./Maildir//’);
![Page 210: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/210.jpg)
use Email::FolderType qw(folder_type);
my $type = folder_type(‘./Maildir’);# => ‘Mbox’
my $type = folder_type(‘./Maildir/’);# => ‘Maildir’
my $type = folder_type(‘./Maildir//’);# => Ezmlm
![Page 211: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/211.jpg)
Email::Folder
![Page 212: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/212.jpg)
Email::Folder::Reader
![Page 213: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/213.jpg)
![Page 214: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/214.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
![Page 215: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/215.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
![Page 216: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/216.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) {
![Page 217: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/217.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) { print “to delete!”
![Page 218: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/218.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) { print “to delete!” if $email->header(‘from’) =~ /Laura/i;
![Page 219: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/219.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) { print “to delete!” if $email->header(‘from’) =~ /Laura/i;}
![Page 220: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/220.jpg)
Email::Delete
![Page 221: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/221.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) { $email->delete if $email->header(‘from’) =~ /Laura/i;}
![Page 222: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/222.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
while (my $email = $reader->next_message) { $email->delete if $email->header(‘from’) =~ /Laura/i;}
NOT REAL CODE
![Page 223: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/223.jpg)
![Page 224: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/224.jpg)
delete_message(
![Page 225: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/225.jpg)
delete_message(from => “./Maildir/”,
![Page 226: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/226.jpg)
delete_message(from => “./Maildir/”,matching => sub {
![Page 227: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/227.jpg)
delete_message(from => “./Maildir/”,matching => sub { shift->header(‘message-id’)
![Page 228: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/228.jpg)
delete_message(from => “./Maildir/”,matching => sub { shift->header(‘message-id’)
eq
![Page 229: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/229.jpg)
delete_message(from => “./Maildir/”,matching => sub { shift->header(‘message-id’)
eq$email->header(‘message-id’)
![Page 230: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/230.jpg)
delete_message(from => “./Maildir/”,matching => sub { shift->header(‘message-id’)
eq$email->header(‘message-id’)
},
![Page 231: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/231.jpg)
delete_message(from => “./Maildir/”,matching => sub { shift->header(‘message-id’)
eq$email->header(‘message-id’)
},);
![Page 232: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/232.jpg)
![Page 233: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/233.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
![Page 234: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/234.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
![Page 235: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/235.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1
![Page 236: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/236.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
![Page 237: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/237.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
![Page 238: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/238.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message(
![Page 239: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/239.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
![Page 240: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/240.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift;
![Page 241: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/241.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
![Page 242: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/242.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
and
![Page 243: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/243.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
and! $saw_id{ $email->header(‘references’) }
![Page 244: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/244.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
and! $saw_id{ $email->header(‘references’) }
},
![Page 245: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/245.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
and! $saw_id{ $email->header(‘references’) }
},);
![Page 246: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/246.jpg)
my $reader = Email::Folder->new(“./Maildir/”);
$saw_id{ $_->header(‘message-id’) } = 1 while my $_ = $reader->next_message;
delete_message( from => “./Maildir”,
matching => sub { my $email = shift; $email->header(‘references’)
and! $saw_id{ $email->header(‘references’) }
},);
![Page 247: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/247.jpg)
so, we can delete
![Page 248: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/248.jpg)
(sort of)
![Page 249: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/249.jpg)
how do we add?
![Page 250: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/250.jpg)
Email::LocalDelivery
![Page 251: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/251.jpg)
![Page 252: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/252.jpg)
@successes = Email::LocalDelivery->deliver(
![Page 253: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/253.jpg)
@successes = Email::LocalDelivery->deliver($string,
![Page 254: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/254.jpg)
@successes = Email::LocalDelivery->deliver($string,‘./Maildir/’,
![Page 255: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/255.jpg)
@successes = Email::LocalDelivery->deliver($string,‘./Maildir/’,‘/var/spool/mail/rjbs’,
![Page 256: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/256.jpg)
@successes = Email::LocalDelivery->deliver($string,‘./Maildir/’,‘/var/spool/mail/rjbs’,‘imap://[email protected]/INBOX’,
![Page 257: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/257.jpg)
@successes = Email::LocalDelivery->deliver($string,‘./Maildir/’,‘/var/spool/mail/rjbs’,‘imap://[email protected]/INBOX’,
);
![Page 258: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/258.jpg)
@successes = Email::LocalDelivery->deliver($string,‘./Maildir/’,‘/var/spool/mail/rjbs’,‘imap://[email protected]/INBOX’,
);
![Page 259: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/259.jpg)
can’t stream the message
must load it all into memory
and then copy it
![Page 260: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/260.jpg)
problems
![Page 261: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/261.jpg)
problems
the pieces don’t fit together
![Page 262: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/262.jpg)
problems
the pieces don’t fit together
can be very inefficient
![Page 263: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/263.jpg)
problems
the pieces don’t fit together
can be very inefficient
difficult to extend
![Page 264: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/264.jpg)
suggestion
![Page 265: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/265.jpg)
suggestion
fine for a quick one-off
![Page 266: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/266.jpg)
suggestion
fine for a quick one-off
not ready for prime time
![Page 267: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/267.jpg)
Net::Protocol
![Page 268: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/268.jpg)
Net::IMAP::Simple
Net::IMAP
Mail::IMAPClient
Net::POP3
Mail::POP3Client
![Page 269: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/269.jpg)
Sending Mail
![Page 270: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/270.jpg)
Mail::Send
![Page 271: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/271.jpg)
Mail::Mailer
![Page 272: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/272.jpg)
![Page 273: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/273.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
![Page 274: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/274.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
![Page 275: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/275.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({
![Page 276: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/276.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],
![Page 277: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/277.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,
![Page 278: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/278.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
![Page 279: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/279.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
![Page 280: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/280.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
![Page 281: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/281.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
print $mailer "Body of message";
![Page 282: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/282.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
print $mailer "Body of message";
![Page 283: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/283.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
print $mailer "Body of message";
$mailer->close;
![Page 284: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/284.jpg)
my $mailer = Mail::Mailer->new(‘sendmail’);
$mailer->open({To => [ ‘boss@corp’, ‘boss2@corp’ ],Bcc => ‘the.ceo@corp’,Subject => ‘u sux’,
});
print $mailer "Body of message";
$mailer->close;# ...and it gets sent
![Page 285: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/285.jpg)
Mail::Sender
![Page 286: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/286.jpg)
my $sender = Mail::Sender->new({smtp => ‘smtp.haliburton.gov’,});
$sender->Open({ from => '[email protected]',
to => '[email protected]', subject => 'HTML test', ctype => "text/html", encoding => "7bit"}) or die $Mail::Sender::Error,"\n";
while (<$input>) {$sender->SendEx($_); # no encoding!};
$sender->Close();
![Page 287: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/287.jpg)
Mail::Sendmail
![Page 288: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/288.jpg)
use Mail::Sendmail;
sendmail( To => ‘[email protected]’, From => ‘[email protected]’, Subject => ‘STFU’, Body => $entire_message_body,) or die “sendmail: $Mail::Sendmail::error”;
![Page 289: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/289.jpg)
Mail::Transport(a Mail::Box Production)
![Page 290: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/290.jpg)
![Page 291: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/291.jpg)
my $sender = Mail::Transport::SMTP->new(
![Page 292: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/292.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’,
![Page 293: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/293.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’,
![Page 294: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/294.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,
![Page 295: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/295.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
![Page 296: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/296.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
![Page 297: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/297.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
$sender->send(
![Page 298: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/298.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
$sender->send($message,
![Page 299: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/299.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
$sender->send($message,
from => $env_sender,
![Page 300: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/300.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
$sender->send($message,
from => $env_sender, to => $env_rcpt,
![Page 301: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/301.jpg)
my $sender = Mail::Transport::SMTP->new( hostname => ‘nebu.fleet.zion.gov’, username => ‘[email protected]’, password => ‘viagra’,);
$sender->send($message,
from => $env_sender, to => $env_rcpt,);
![Page 302: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/302.jpg)
::Exim::Mailx::Qmail::SMTP::Sendmail
![Page 303: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/303.jpg)
Email::Send
![Page 304: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/304.jpg)
![Page 305: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/305.jpg)
my $sender = Email::Send->new({
![Page 306: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/306.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’,
![Page 307: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/307.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [
![Page 308: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/308.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’,
![Page 309: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/309.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’,
![Page 310: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/310.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’,
![Page 311: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/311.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],
![Page 312: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/312.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
![Page 313: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/313.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
![Page 314: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/314.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
my $rv = $sender->send($email);
![Page 315: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/315.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
my $rv = $sender->send($email);
![Page 316: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/316.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
my $rv = $sender->send($email);
unless ($rv) {
![Page 317: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/317.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
my $rv = $sender->send($email);
unless ($rv) { die “failed to send: “ . $rv->string;
![Page 318: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/318.jpg)
my $sender = Email::Send->new({ mailer => ‘SMTP’, mailer_args => [ Host => ‘sir-mx-a-lot.plusplus.com’, username => ‘rjbs’, password => ‘g0t b4ckUPS’, ],});
my $rv = $sender->send($email);
unless ($rv) { die “failed to send: “ . $rv->string;}
![Page 319: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/319.jpg)
problems
![Page 320: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/320.jpg)
problems
Return::Value
![Page 321: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/321.jpg)
problems
Return::Value
no envelope sender
![Page 322: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/322.jpg)
problems
Return::Value
no envelope sender
awkward mailer/sender distinction
![Page 323: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/323.jpg)
problems
Return::Value
no envelope sender
awkward mailer/sender distinction
difficult to extend api
![Page 324: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/324.jpg)
problems
Return::Value
no envelope sender
awkward mailer/sender distinction
difficult to extend api
not enough API guaranteed for interchangeability
![Page 325: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/325.jpg)
Email::Sender?
![Page 326: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/326.jpg)
![Page 327: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/327.jpg)
my $sender = Email::Sender::SMTP->new({
![Page 328: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/328.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
![Page 329: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/329.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,
![Page 330: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/330.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
![Page 331: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/331.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
![Page 332: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/332.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
![Page 333: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/333.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send(
![Page 334: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/334.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email,
![Page 335: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/335.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email, {
![Page 336: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/336.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email, { to => $env_rcpt, # or \@env_rcpts
![Page 337: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/337.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email, { to => $env_rcpt, # or \@env_rcpts from => $env_sender,
![Page 338: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/338.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email, { to => $env_rcpt, # or \@env_rcpts from => $env_sender, }
![Page 339: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/339.jpg)
my $sender = Email::Sender::SMTP->new({ host => ‘sir-mx-a-lot.plusplus.com’,
user => ‘rjbs’,pass => ‘wishiwereanoscarmeyerweiner’,
});
$sender->send( $email, { to => $env_rcpt, # or \@env_rcpts from => $env_sender, });
![Page 340: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/340.jpg)
Email::Sender::Simple->send( $email, { to => $recipient, from => $sender, },);
![Page 341: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/341.jpg)
Email::Sender::Simple->send( $email, { to => $recipient, from => $sender, },);
$ EMAIL_SENDER=SQLite ./your-program
![Page 342: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/342.jpg)
Filtering Mail
![Page 343: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/343.jpg)
Mail::Audit
![Page 344: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/344.jpg)
![Page 345: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/345.jpg)
my $mail = Mail::Audit->new;
![Page 346: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/346.jpg)
my $mail = Mail::Audit->new;
![Page 347: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/347.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
![Page 348: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/348.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
![Page 349: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/349.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’)
![Page 350: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/350.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
![Page 351: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/351.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
![Page 352: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/352.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
![Page 353: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/353.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
![Page 354: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/354.jpg)
my $mail = Mail::Audit->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
$mail->accept;
![Page 355: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/355.jpg)
Email::Filter
![Page 356: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/356.jpg)
![Page 357: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/357.jpg)
my $mail = Email::Filter->new;
![Page 358: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/358.jpg)
my $mail = Email::Filter->new;
![Page 359: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/359.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
![Page 360: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/360.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
![Page 361: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/361.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’)
![Page 362: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/362.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
![Page 363: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/363.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
![Page 364: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/364.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
![Page 365: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/365.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
![Page 366: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/366.jpg)
my $mail = Email::Filter->new;
$mail->ignore if $mail->from_daemon;
$mail->accept(‘apologies’) if $mail->subject =~ /sorry/i;
$mail->reject if $mail->from =~ /laura/i;
$mail->accept;
![Page 367: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/367.jpg)
key differences
![Page 368: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/368.jpg)
key differences
Mail::Audit does more
![Page 369: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/369.jpg)
key differences
Mail::Audit does more
Mail::Audit is > 4x the size
![Page 370: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/370.jpg)
key differences
Mail::Audit does more
Mail::Audit is > 4x the size
Mail::Audit is totally insane
![Page 371: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/371.jpg)
key differences
Mail::Audit does more
Mail::Audit is > 4x the size
Mail::Audit is totally insane
Mail::Audit is better tested
![Page 372: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/372.jpg)
Mail::Procmail
![Page 373: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/373.jpg)
Mail::Procmail
It’s like Mail::Audit
![Page 374: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/374.jpg)
Mail::Procmail
It’s like Mail::Audit
but exports a bunch of subs
![Page 375: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/375.jpg)
Mail::Procmail
It’s like Mail::Audit
but exports a bunch of subs
can be made into a E::F plugin
![Page 376: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/376.jpg)
Mail::Procmail
It’s like Mail::Audit
but exports a bunch of subs
can be made into a E::F plugin
built-in logging
![Page 377: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/377.jpg)
Mail::Sort
![Page 378: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/378.jpg)
Mail::Sort
It’s like Mail::Audit
![Page 379: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/379.jpg)
Mail::Sort
It’s like Mail::Audit
but has lots more methods
![Page 380: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/380.jpg)
Mail::Sort
It’s like Mail::Audit
but has lots more methods
mostly for common matches
![Page 381: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/381.jpg)
Mail::Sort
It’s like Mail::Audit
but has lots more methods
mostly for common matches
could be some E::F plugins
![Page 382: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/382.jpg)
Email Addresses
![Page 383: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/383.jpg)
HATE!!
![Page 384: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/384.jpg)
Mail::Address
Email::Address
![Page 385: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/385.jpg)
Mail::Address
Email::Address
![Page 386: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/386.jpg)
Mail::Message::Field::
Address
![Page 387: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/387.jpg)
Email::Validaddress is well-formed
domain name is valid
domain is fqdn in a tld
domain actually exists
some per-domain rules
some fudging allowed
![Page 388: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/388.jpg)
Cool Stuff
![Page 389: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/389.jpg)
Email::Stuff
![Page 390: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/390.jpg)
![Page 391: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/391.jpg)
Email::Stuff
![Page 392: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/392.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>')
![Page 393: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/393.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]')
![Page 394: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/394.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”)
![Page 395: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/395.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”)
![Page 396: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/396.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”) ->header(Keywords => “deep”)
![Page 397: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/397.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”) ->header(Keywords => “deep”) ->attach(
![Page 398: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/398.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”) ->header(Keywords => “deep”) ->attach( slurp(‘1099.pdf’),
![Page 399: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/399.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”) ->header(Keywords => “deep”) ->attach( slurp(‘1099.pdf’), filename => 'dead_bunbun_proof.gif')
![Page 400: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/400.jpg)
Email::Stuff ->from('Principal Skinner <[email protected]>') ->to('[email protected]') ->text_body(“Please see me after class.”) ->header(Keywords => “trouble”) ->header(Keywords => “deep”) ->attach( slurp(‘1099.pdf’), filename => 'dead_bunbun_proof.gif')
->send;
![Page 401: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/401.jpg)
HTML Email(yeah, I know)
![Page 402: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/402.jpg)
Email::MIME::CreateHTML
![Page 403: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/403.jpg)
![Page 404: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/404.jpg)
![Page 405: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/405.jpg)
use Email::MIME::CreateHTML;
![Page 406: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/406.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
![Page 407: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/407.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [
![Page 408: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/408.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’,
![Page 409: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/409.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’,
![Page 410: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/410.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,
![Page 411: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/411.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,],
![Page 412: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/412.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,],body => $html,
![Page 413: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/413.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,],body => $html,
);
![Page 414: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/414.jpg)
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,],body => $html,text_body => $text,
);
![Page 415: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/415.jpg)
my $markdown = slurp(STDIN);
use Email::MIME::CreateHTML;my $email = Email::MIME->create_html(
header => [ to => ‘[email protected]’, from => ‘[email protected]’, subject => ‘Happy Birthday!’,],body => markdown($markdown),text_body => $markdown,
);
![Page 416: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/416.jpg)
use Email::StripMIME qw(strip_mime);
my $stripped_email = Email::MIME->new( strip_mime($email->as_string));
![Page 417: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/417.jpg)
Sifting Through MIME Parts
![Page 418: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/418.jpg)
Email::MIME::XPath
![Page 419: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/419.jpg)
![Page 420: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/420.jpg)
use Email::MIME::XPath;
![Page 421: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/421.jpg)
use Email::MIME::XPath;
![Page 422: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/422.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
![Page 423: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/423.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
![Page 424: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/424.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes(
![Page 425: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/425.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes( “//png|//jpeg|//gif”
![Page 426: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/426.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes( “//png|//jpeg|//gif”);
![Page 427: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/427.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes( “//png|//jpeg|//gif”);
![Page 428: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/428.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes( “//png|//jpeg|//gif”);
my $address = $part->xpath_address;
![Page 429: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/429.jpg)
use Email::MIME::XPath;
my ($part) = $email->xpath_findnodes(“//plain”);
my @images = $email->xpath_findnodes( “//png|//jpeg|//gif”);
my $address = $part->xpath_address;die “error in part $address!”;
![Page 430: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/430.jpg)
Sending Signed Mail
![Page 431: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/431.jpg)
![Page 432: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/432.jpg)
my $gpg = Mail::GPG->new(
![Page 433: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/433.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,
![Page 434: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/434.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,;
![Page 435: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/435.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,;
![Page 436: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/436.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,;
my $signed_entity = $gpg->mime_sign(
![Page 437: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/437.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,;
my $signed_entity = $gpg->mime_sign( entity => $entity,
![Page 438: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/438.jpg)
my $gpg = Mail::GPG->new( default_key_id => ‘12345678’,;
my $signed_entity = $gpg->mime_sign( entity => $entity,);
![Page 439: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/439.jpg)
Managing Your Mail
![Page 440: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/440.jpg)
![Page 441: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/441.jpg)
addressbook = App::Addex::AddressBook::Apple
![Page 442: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/442.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Mutt
![Page 443: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/443.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmail
![Page 444: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/444.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
![Page 445: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/445.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
![Page 446: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/446.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]
![Page 447: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/447.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
![Page 448: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/448.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
![Page 449: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/449.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]
![Page 450: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/450.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
![Page 451: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/451.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
![Page 452: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/452.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
[App::Addex::Output::SpamAssassin]
![Page 453: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/453.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
[App::Addex::Output::SpamAssassin]filename = spamassassin/whitelists-abook
![Page 454: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/454.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
[App::Addex::Output::SpamAssassin]filename = spamassassin/whitelists-abook
![Page 455: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/455.jpg)
addressbook = App::Addex::AddressBook::Appleoutput = App::Addex::Output::Muttoutput = App::Addex::Output::Procmailoutput = App::Addex::Output::SpamAssassin
[App::Addex::Output::Mutt]filename = mutt/alias-abook
[App::Addex::Output::Procmail]filename = procmail/friends.rc
[App::Addex::Output::SpamAssassin]filename = spamassassin/whitelists-abook
![Page 456: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/456.jpg)
![Page 457: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/457.jpg)
![Page 458: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/458.jpg)
alias mollymillions [email protected] (Molly Millions)alias mollymillions-home [email protected] (Molly Millions)alias mollymillions-work [email protected] (Molly Millions)alias mollymillions-work-1 [email protected] (Molly Millions)
![Page 459: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/459.jpg)
alias mollymillions [email protected] (Molly Millions)alias mollymillions-home [email protected] (Molly Millions)alias mollymillions-work [email protected] (Molly Millions)alias mollymillions-work-1 [email protected] (Molly Millions)
mailboxes =friends.molly
![Page 460: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/460.jpg)
alias mollymillions [email protected] (Molly Millions)alias mollymillions-home [email protected] (Molly Millions)alias mollymillions-work [email protected] (Molly Millions)alias mollymillions-work-1 [email protected] (Molly Millions)
mailboxes =friends.molly
save-hook [email protected] =friends.mollysave-hook [email protected] =friends.mollysave-hook [email protected] =friends.molly
![Page 461: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/461.jpg)
alias mollymillions [email protected] (Molly Millions)alias mollymillions-home [email protected] (Molly Millions)alias mollymillions-work [email protected] (Molly Millions)alias mollymillions-work-1 [email protected] (Molly Millions)
send-hook [email protected] set signature="~/.sig/ninja"send-hook [email protected] set signature="~/.sig/ninja"send-hook [email protected] set signature="~/.sig/ninja"
mailboxes =friends.molly
save-hook [email protected] =friends.mollysave-hook [email protected] =friends.mollysave-hook [email protected] =friends.molly
![Page 462: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/462.jpg)
![Page 464: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/464.jpg)
:0* From:.*[email protected]/
:0* From:.*[email protected]/
:0* From:.*[email protected]/
whitelist_from [email protected]_from [email protected]_from [email protected]
![Page 465: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/465.jpg)
The Future
![Page 466: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/466.jpg)
Email::Corpus
![Page 467: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/467.jpg)
Email::Corpus::Email
![Page 468: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/468.jpg)
Email::Corpus::Addr
![Page 469: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/469.jpg)
Email::KB::Headers
![Page 470: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/470.jpg)
Metadata Plugin
![Page 471: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/471.jpg)
Bounce Classifier
![Page 473: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.net/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/473.jpg)
ThankYou!