Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

We currently have a listserv (Listproc) that mails out text messages to various lists. A proposed new method will be to create pdf files that need to be attached to the mails sent by the listserv -- instead of putting text in the body of the messages. I've seen various applications which attach files from form input, but I will be dealing with batch processing. I'm sure it can be done with perl, but have no clue at this point how. I see "attach" being used, but do not find that in my perl books. Is "attach" a valid perl method? Any suggestions or help would be greatly appreciated. Thanks!

Replies are listed 'Best First'.
Re: attaching files for listserv mailing
by tachyon (Chancellor) on Nov 13, 2002 at 18:36 UTC

    You need to use something like Mime::Entity or Mime::Lite. If you do a Super Search of this site for 'Mail Attachments' you will find a ton of examples.

    Here is an example using Mine::Lite

    use MIME::Lite; ### Create a new multipart message: $msg = MIME::Lite->new( From =>'me@myhost.com', To =>'you@yourhost.com', Cc =>'some@other.com, some@more.com', Subject =>'A message with 2 parts...', Type =>'multipart/mixed' ); ### Add parts (each "attach" has same arguments as "new"): $msg->attach(Type =>'TEXT', Data =>"Here's the GIF file you wanted" ); $msg->attach(Type =>'image/gif', Path =>'aaa000123.gif', Filename =>'logo.gif', Disposition => 'attachment' ); ### Print to a filehandle (say, a "sendmail" stream): open SENDMAIL, "|/usr/lib/sendmail -t" or die $!; $msg->print(\*SENDMAIL); close SENDMAIL;

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print