Greg Schiedler wrote:
I know enough Perl to be dangerous!
I have a form that sends out several different confirmations depending on
who the receipient is.
One particular E-mail I need to be in html format so I can put it into a
specific format. I added a couple of lines to the sendmail routine I was
using and it fixed my E-mail problem but created a problem with my fax
gateway copy.
#1 gets sent the Joe Enduser plain E-mail(Can be html my tweek forced html)
#2 gets sent to the Office HTML Format.
#3 Fax gateway (Plain E-mail).
Fax gateway is in the US Telephone format ie. [EMAIL PROTECTED]
I thought about adding an if statment but it looks like if I added an
if/else to my tweeked else statement the receipient info has already been
sent....
Greg :-)
Best suggestion would be to switch to using a module. MIME::Lite for
instance but there a lot that will work. Check CPAN. Mail while it seems
simple is incredibly complex, re-inventing the wheel, especially with
such strict requirements is going to be time consuming.
http://danconia.org
file: sendmail.pl
<snip>
# Give the server the message header
print SMTP "DATA$CRLF";
sysread(SMTP, $_, 1024);
if (!/[^0-9]*354/) { $Error_Message = $_; return(6) }
print SMTP "To: @to$CRLF";
print SMTP "From: $from$CRLF";
print SMTP "CC: @cc$CRLF" if $cc;
print SMTP "Subject: $subject$CRLF";
# If there are mime files to attach, we need special headers.
if ($mime_id) {
print SMTP "x-sender: $from$CRLF";
print SMTP "x-mailer: CGI/Perl Cookbook$CRLF";
print SMTP "Mime-Version: 1.0$CRLF";
print SMTP "Content-Type: multipart/mixed;
boundary=\"$mime_id\"$CRLF$CRLF";
print SMTP "--$mime_id$CRLF";
print SMTP "Content-Type: text/plain;
charset=\"US-ASCII\"$CRLF$CRLF";
}
# Greg @ Limo.Net 01/24/2007
# Added two header lines for force HTML output.
# else { print SMTP $CRLF }
#
else {
print SMTP "Mime-Version: 1.0$CRLF";
print SMTP "Content-Type: text/html;
charset=\"ISO-8859-1\"$CRLF$CRLF";
}
# End Greg @ Limo.Net 01/24/2007
# Output the message body.
if ($body) {
if (!($body =~ /^[\\\/:]/) && ($body =~ /\s/)) { print SMTP $body }
elsif (-e $body && -T $body) { &parse_template($body, *SMTP) }
}
print SMTP $CRLF;
# Attach each file.
for ($i = 0; $i < @ATTACH_FILES; ++$i) {
$attach_file = $ATTACH_FILES[$i];
$encoding = $ENCODING[$i];
# Split the filename by directories. / for unix, \ for dos, : for
mac
</snip>
Scanned for Virus by http://Barracuda.Limo.Net
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/