email, html, images, text, links vs embedded...
Dennis Malen
dmalen at malen.com
Fri May 13 09:14:31 PDT 2005
Thanks Brian,
That was very nice of you to share that!!
Dennis Malen
----- Original Message -----
From: "Brian K. White" <brian at aljex.com>
To: "filePro mailing list" <filepro-list at seaslug.org>
Sent: Thursday, May 12, 2005 7:52 PM
Subject: email, html, images, text, links vs embedded...
> Just figured I'd share a few interesting things I've learned recently.
> A few people have expressed interest in something I've mentioned a few
> times
> lately.
>
> Attached is a simple version of a bash script that sends an email.
> It's not intended to be a finished product to use as-is, although it does
> work fine.
> It's meant to be a reference of how to do a couple neat things.
>
> The interesting points are:
>
> 1) takes command line arguments for recipient address, subject, one or
> more
> text files and one or more image files. gets "from" address from the env
> variable MYMAIL. Intention being MYMAIL is set once during login and used
> many times at will.
>
> 2) takes plain text or pcl text such as from an output format and wraps it
> in html "pre" tags so that it lines up correctly in gui email clients that
> would have otherwise displayed it in a proportional font.
>
> 3) takes full page image files of any format/resolution and base64 encodes
> them into mime attachements
>
> 4) writes a body text in html that includes the txt files, followed by IMG
> tags that display the image files
>
> 5) the html includes css commands to control page-breaks. a page break is
> inserted before every txt or img file.
> this means when printed, the fp output and scanned docs all print sanely,
> and there is a 'wasted' sheet at the beginning that has the
> headers/letterhead that the email client inserted.
>
> The text files are just assumed to be 80-ish columns wide. I don't know of
> a
> good way to ensure that wide text doesn't chop off to the right when
> printed.
> Probably it can be done by testing line lengths and inserting a font size
> tag to compensate. Food for future development.
>
> Images are printed "100% width" which magically makes them fill a page if
> they were a full page to start with. Shrunken a little due to the header,
> footer, & margins that the email client/browser applies.
> it's also the most natural way to view the image on-screen. it results in
> one vertical scroll bar and you just maximize the window to zoom in enough
> to read the small print if necessary.
>
> The main point is the script shows how to do a few interesting things:
> 1) page-breaks in html
> 2) embedding images in an email in such a way that they:
> a) display in-line right in the email, no acrobat or other image viewer
> if you use one of the standard browser image formats (gif, jpg, png,
> etc...
> not tiff, ps, etc...)
> b) are physically present in the email and so not reliant on your web
> server, your net connection, or the recipient net connection all being up
> both now and forever in the future.
> c) are not blocked by recent versions of outlook express, which quite
> rightly block html tags in emails from downloadig things, includuing
> images,
> from remote web servers by default.
> d) intentionally don't look like "attachements" in outlook express. no
> paperclip. or you can tweak one line and have them look like attachements.
>
> It's intentionally a simple script so that the key html/mime magic that
> makes the above work is easy to follow, rather than have the script
> clogged
> with lots of other features and sanity checking etc...
> You can add all that at will, and/or impliment the actions all directly in
> filepro processing instead of bash, etc.
>
> It's quite lightweight and fast. The base64 conversion handles a fair
> chunk
> of data when it takes a 100k jpg and base64's it, but it's really doing
> almost no work. Little more than "cat".
> The rest of it is all just catting and echoing a little text. the unpcl &
> ibm2ascii commands are just 1 & 2 line sed scripts, also very light &
> fast.
> (unpcl & ibm2ascii, and bash for that matter, can be found at
> http://www.aljex.com/bkw/sco)
> Crude benchmarking had a given sample set of 3 or 4 pcl & 3 or 4 image
> files
> taking on average 30 seconds per image and 2 seconds per page of text, to
> generate a pdf equivalent of what this puts out, whereas this generated
> and
> sent the same set of images & text in 3/10ths of one second for the whole
> job. Repeated in different orders too, so it's not due to the 2nd test
> benefitting from any caching effects.
>
> It's this combination of client side convenience and server side
> efficiency
> that are why I so often preach "Don't give the customers pdf email without
> trying real hard to educate them away from it unless the content actually
> does require it."
>
> It also shows the basics of creating an email file and submitting it
> directly to sendmail in place of running a mail client like "mail" or
> mutt,
> pine, etc... but I don't claim that's new or interesting for most here.
>
> Brian K. White -- brian at aljex.com -- http://www.aljex.com/bkw/
> +++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
> filePro BBx Linux SCO Prosper/FACTS AutoCAD #callahans Satriani
>
--------------------------------------------------------------------------------
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> http://mailman.celestial.com/mailman/listinfo/filepro-list
>
More information about the Filepro-list
mailing list