Re: Tweeking a sendmail routine.

2007-03-26 Thread Robert Hicks

Wiggins d'Anconia wrote:

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.




I like MIME::Lite and use it in anything of this sort.  : )

Robert

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/




Re: Tweeking a sendmail routine.

2007-03-25 Thread Wiggins d'Anconia

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/




Tweeking a sendmail routine.

2007-03-22 Thread Greg Schiedler
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 :-)


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/