how i learned to stop worrying and love email::: the 2007 pep talk!!
DESCRIPTION
Ready? 250 OK! Everybody loves email, right? Right! What better language than Perl for handling all your email needs? None, right? Right! After all, with about nine hundred email modules on the CPAN, the only question is: which tool is right for the job?This year, the Perl Email Project is going to tell you what's what. We'll see what modules solve what problems, how they differ, and how they (may or my not) work together.We'll also show what problems aren't well-solved, what is in the works to make it happen, and how you can help.TRANSCRIPT
![Page 1: How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!](https://reader038.vdocuments.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/reader038/viewer/2022110119/5558c5acd8b42a995d8b46f4/html5/thumbnails/473.jpg)
ThankYou!