[interchange-cvs] interchange - ton modified code/UserTag/email_raw.tag

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Thu Feb 1 03:21:50 EST 2007


User:      ton
Date:      2007-02-01 08:21:50 GMT
Modified:  code/UserTag email_raw.tag
Log:
	Added Net::SMTP support as per Peter's patch (Apr 29, 2005).
	Seems this patch never made it to CVS.

Revision  Changes    Path
1.7       +21 -8     interchange/code/UserTag/email_raw.tag


rev 1.7, prev_rev 1.6
Index: email_raw.tag
===================================================================
RCS file: /var/cvs/interchange/code/UserTag/email_raw.tag,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- email_raw.tag	3 Nov 2005 05:16:55 -0000	1.6
+++ email_raw.tag	1 Feb 2007 08:21:50 -0000	1.7
@@ -1,11 +1,11 @@
 # Copyright 2002-2005 Interchange Development Group (http://www.icdevgroup.org/)
 # Licensed under the GNU GPL v2. See file LICENSE for details.
-# $Id: email_raw.tag,v 1.6 2005/11/03 05:16:55 jon Exp $
+# $Id: email_raw.tag,v 1.7 2007/02/01 08:21:50 ton Exp $
 
 UserTag email-raw hasEndTag
 UserTag email-raw addAttr
 UserTag email-raw Interpolate
-UserTag email-raw Version     $Revision: 1.6 $
+UserTag email-raw Version     $Revision: 1.7 $
 UserTag email-raw Routine     <<EOR
 sub {
     my($opt, $body) = @_;
@@ -37,12 +37,25 @@
 	}
 
     SEND: {
-        open(Vend::MAIL,"|$Vend::Cfg->{SendMailProgram} -t") or last SEND;
-        print Vend::MAIL $body 
-            or last SEND;
-        close Vend::MAIL
-            or last SEND;
-        $ok = ($? == 0);
+	my $using = $Vend::Cfg->{SendMailProgram};
+
+	if (lc $using eq 'none') {
+		$ok = 1;
+		last SEND;
+	} elsif (lc $using eq 'net::smtp') {
+		$body =~ s/^(.+?)(?:\r?\n){2}//s;
+		my $headers = $1;
+		last SEND unless $headers;
+		my @head = split(/\r?\n/,$headers);
+		$ok = send_mail(\@head,$body);
+	} else {
+		open(Vend::MAIL,"|$using -t") or last SEND;
+		print Vend::MAIL $body
+			or last SEND;
+		close Vend::MAIL
+			or last SEND;
+		$ok = ($? == 0);
+	}
     }
 
     if (!$ok) {








More information about the interchange-cvs mailing list