Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Bound to Mail::Sendmail and need attachments

by frankus (Priest)
on Jul 29, 2002 at 09:31 UTC ( #185923=perlquestion: print w/ replies, xml ) Need Help??
frankus has asked for the wisdom of the Perl Monks concerning the following question:

Due to constraints I've had to roll my own attachment doohicky for Mail::SendMail.
It takes a hash of "filenames" and "contents",
the original script it's taken from here handles files using a binary read of files to be attached.
Here seems to be the problem, the encoding for the files seems to be duff, using quotable text,
I'm sending an XML attachment.

My code generates strings, I'm loathe to print them to a file and read them back using binmode,
can I use 'pack' or 'vec' or is there a different content type I can use?

use Mail::Sendmail; sub attach { my $f = shift; my $boundary = "====" . time() . "===="; $f->{body} = encode_qp( $f->{message} ); $f->{from} = 'test@thesite.org'; delete($f->{message}); $f->{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; $boundary = '--'.$boundary; $f->{body} = <<HEAD; $boundary Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable $f->{body} HEAD while ( my($file,$data) = each %{$f->{attachment}}){ $f->{body} .= <<ATTACH; $boundary Content-Type: application/octet-stream; name="$file" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="$file" $data $boundary-- ATTACH } delete($f->{attachment}); sendmail(%$f); }

--

Brother Frankus.

¤

Comment on Bound to Mail::Sendmail and need attachments
Select or Download Code
Re: Bound to Mail::Sendmail and need attachments
by frankus (Priest) on Jul 29, 2002 at 11:02 UTC
    Sorry this works and I can't edit the root node.
    My mistake was testing the results using Outlook.
    I had to save the file before opening it.

    I hate windows, I'm back on Debian again now :)

    --

    Brother Frankus.

    ¤

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://185923]
Approved by virtualsue
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2014-07-13 18:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (251 votes), past polls