RE: attachment names
"Simon, Michael S" <[email protected]> Wed, 20 Jul 2005 20:15:26 -0600
| Newsgroups | gmane.comp.lang.perl.modules.mail-box |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
------_=_NextPart_001_01C58D9A.0FC80F8A
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
OK. Hopefully this will be it. I now have all the parts from the
original email. Now I need to reconstruct an email with the parts.
This is what I have so far.
sub sendEmail()
{
my $message =3D Mail::Message->build
( From =3D> $from
, To =3D> $to
, Cc =3D> $cc
, Bcc =3D> $bcc
, Subject =3D> $subject
#, attach =3D> $bodyParts[0]
# , file =3D> $zipFile
);
Now how to I append parts to this email message? I could have multiple
attachments and possibly multiple parts as text/html. For sure I have
the text of the message. I may or may not have an attachment(s).
Any help is appreciated.
I was thinking along the lines of the below where @bodyParts were of
$msg->parts. But when I take the original message text as a part and
added it to the Mail::Message it becomes a forward. So then I stripped
that down to the $part->decoded and that looked write. But when I then
added the zip file it ended up as text instead of an attachment.
I'm looking to do something of the following nature.=20
foreach $body (@bodyParts)
{
$message-attachFile(); or=20
$message-attachText();
}
=20
$message->send
(via =3D> 'sendmail'
);
}=20
Creating a mail in unknown number of parts just seems difficult
Help!!! Thanks
______________________________________________________
Michael Simon Actuate Architect
* Work Tel#: 510-272-8010 * Email: [email protected]
______________________________________________________=20
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Mark Overmeer
Sent: Wednesday, July 20, 2005 2:55 PM
To: Simon, Michael S
Cc: Mail-Box Mailinglist
Subject: Re: attachment names
* Simon, Michael S ([email protected]) [050720 22:32]:
> I'm intercepting mail messages before being sent out. If the
attachment
> size is > XXX then I need to zip the attachment. But I can't get a
> handle on what the file name is. At the bottom of the message is a
> start of an email that is going out. I need to get a hold of
> the"March31.xls" so that when I zip the file I can call it
> March31.xls.zip or what ever.
>=20
> I can get a hold of then entire Content head, but I can't get a hold
of
> the name itself. Do I just need to parse it out myself or am I
missing
> something?
>=20
> Thanks for your help.
>=20
> Content-Type: application/octet-stream; name=3D"March31.XLS"
>=20
> Content-Disposition: attachment
>=20
> Content-Transfer-Encoding: base64
In http://perl.overmeer.net/mailbox/html
look for method dispositionFilename()
my $fn =3D $msg->decoded->dispositionFilename;
--=20
MarkOv
------------------------------------------------------------------------
drs Mark A.C.J. Overmeer MARKOV Solutions
[email protected] [email protected]
http://Mark.Overmeer.net http://solutions.overmeer.net
------_=_NextPart_001_01C58D9A.0FC80F8A
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7226.0">
<TITLE>RE: attachment names</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">OK. Hopefully this will be it. I now have =
all the parts from the original email. Now I need to reconstruct =
an email with the parts.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">This is what I have so far.</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">sub sendEmail()</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">{</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> my $message =3D =
Mail::Message->build</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> ( From =3D> =
$from</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> , To =3D> =
$to</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> , Cc =3D> =
$cc</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> , Bcc =3D> =
$bcc</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> , Subject =3D> =
$subject</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">#</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana">, =
attach =3D> $bodyParts[0]</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">#</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana"> , =
file =3D> $zipFile</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"></FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#800000" FACE=3D"Verdana"> =
);</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">Now how to I</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#800000" =
FACE=3D"Verdana">append</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana"> parts to this =
email message?</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> </FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#800000" FACE=3D"Verdana">I could have =
multiple attachments and possibly multiple parts as =
text/html.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#800000" FACE=3D"Verdana"> For sure =
I have the text of the message. I may or may not have an =
attachment(s).</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">Any help is appreciated.</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">I was thinking along the lines</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#800000" =
FACE=3D"Verdana">of the</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana"> below where =
@bodyParts were of $msg->parts. But when I take the original =
message text as a part and added it to the Mail::Message it becomes a =
forward.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#800000" FACE=3D"Verdana"> So then I =
stripped that down to the $part->decoded and that looked write. =
But when I then added the zip file it ended up</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#800000" =
FACE=3D"Verdana">as text instead of an attachment.</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">I</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">’</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana">m looking to do =
something of the following nature.</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> </SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> foreach $body (@bodyParts)</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> {</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> =
$message-attach</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">File</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">();</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana"> or =
</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> =
$message-attach</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">Text</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">();</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> }</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> $message->send</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> (via =
=3D> 'sendmail'</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> );</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">}</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"></FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> </SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">Creating a mail in</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#800000" =
FACE=3D"Verdana">unknown number of</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#800000" =
FACE=3D"Verdana">parts just seems difficult</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"></SPAN><A NAME=3D""><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#800000" FACE=3D"Verdana">Help!!! =
Thanks</FONT></SPAN></A></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">______________________________________________________</=
FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">Michael Simon Actuate Architect</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">* Work Tel#: 510-272-8010 * Email: =
[email protected]</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">______________________________________________________ =
</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">-----Original Message-----<BR>
From: [email protected] [<A =
HREF=3D"mailto:[email protected]">mailto:[email protected]=
TComputing.nl</A>] On Behalf Of Mark Overmeer<BR>
Sent: Wednesday, July 20, 2005 2:55 PM<BR>
To: Simon, Michael S<BR>
Cc: Mail-Box Mailinglist<BR>
Subject: Re: attachment names</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">* Simon, Michael S ([email protected]) [050720 =
22:32]:</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> I'm intercepting mail messages before being sent =
out. If the attachment</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> size is > XXX then I need to zip the =
attachment. But I can't get a</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> handle on what the file name is. At the =
bottom of the message is a</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> start of an email that is going out. I need =
to get a hold of</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> the"March31.xls" so that when I zip the =
file I can call it</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> March31.xls.zip or what ever.</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> I can get a hold of then entire Content head, but =
I can't get a hold of</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> the name itself. Do I just need to parse it =
out myself or am I missing</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> something?</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> Thanks for your help.</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> Content-Type: application/octet-stream; =
name=3D"March31.XLS"</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> Content-Disposition: attachment</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">> Content-Transfer-Encoding: =
base64</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">In <A =
HREF=3D"http://perl.overmeer.net/mailbox/html">http://perl.overmeer.net/m=
ailbox/html</A></FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">look for method =
dispositionFilename()</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> my $fn =3D =
$msg->decoded->dispositionFilename;</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">-- </FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> &n=
bsp; MarkOv</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">--------------------------------------------------------=
----------------</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana">drs Mark A.C.J. =
Overmeer  =
; =
MARKOV =
Solutions</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"> =
[email protected] &n=
bsp; &nb=
sp; [email protected]</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#800000" =
FACE=3D"Verdana"><A =
HREF=3D"http://Mark.Overmeer.net">http://Mark.Overmeer.net</A>  =
; =
<A =
HREF=3D"http://solutions.overmeer.net">http://solutions.overmeer.net</A><=
/FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
</BODY>
</HTML>
------_=_NextPart_001_01C58D9A.0FC80F8A--