Hi I'm currently working on sending an HTML e-mail with inline images using Mail::Sender and running into problems. I can get the images to show up fine in Outlook but when I print the messages the images show up as the "not found" x's.

The code below is mostly shamelessly cut from the Mail::Sender docs. Also different clients seem to handle the results very differently. I'm looking for any insight into this particular problem, or best practices for getting this to work in *most* clients.

Thanks,
vroom

use Mail::Sender; my $sender = new Mail::Sender {smtp => 'smtp@blah.com', from => 'emailforyou@blah.com'}; if (ref $sender->OpenMultipart({ from => 'webmaster@ci.grand-rapids.mi.us', to => $to, subject => 'mail message', boundary => 'boundary-test-1', multipart => 'related'})) { $sender->Attach( {description => 'html body', ctype => 'text/html; charset=us-ascii', encoding => '7bit', disposition => 'NONE', file => 'file.html' }); $sender->Attach({ description => 'file1.jpg', ctype => 'image/gif', encoding => 'base64', disposition => "inline; filename=\"file1.jpg\";\r\nContent-ID: <img1>" +, file => 'file1.jpg' }); $sender->Attach({ description => 'logo.gif', ctype => 'image/gif', encoding => 'base64', disposition => "inline; filename=\"logo.gif\";\r\nContent-ID: <img2>", file => 'logo.gif' }); $sender->Close() or die "Close failed! $Mail::Sender::Error\n"; } else { die "Cannot send mail: $Mail::Sender::Error\n"; }

Update:It does in fact appear to be the Outlook Issue referenced in the KB article in bbfu's post below. I ended up using Mime::Lite as jlongino suggested since the code was somewhat more succinct.


In reply to Sending Inline Images in e-mail with Mail::Sender (or getting them to print in Outlook) by vroom

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.