Re: Error handling in pltcl - Mailing list pgsql-sql

From Dinesh Pandey
Subject Re: Error handling in pltcl
Date
Msg-id 20050418044339.B46FB533E3@svr1.postgresql.org
Whole thread Raw
In response to Re: Error handling in pltcl  (Michael Fuhr <mike@fuhr.org>)
List pgsql-sql
I have attached below an e-mail program.

I want to log messages into a table from a function written in 'plpgsql'
whenever any exception occurs (like unable to connect/invalid email etc..)

Pls update the code attached below

Thanks
Dinesh Pandey
========================

CREATE OR REPLACE FUNCTION PGMAIL(text, text, text, text, text, text) 
RETURNS INT4 AS 'set mailfrom     $1set mailto     $2set mailcc     $3set mailserver     $4set mailsubject $5set
mailmessage$6
 

# Mail Server    set myHost $mailserver

# Mail Server SMTP Port    set myPort 25set mySock [socket $myHost $myPort]
# Mail To Addressset toemailaddress_start [string first "<" $mailto]if {$toemailaddress_start != -1} {    set
toemailaddress_finish[string first ">" $mailto]    set toemailaddress_start [expr $toemailaddress_start + 1]    set
toemailaddress_finish[expr $toemailaddress_finish - 1]    set toemailaddress [string range $mailto
 
$toemailaddress_start $toemailaddress_finish]} else {    set toemailaddress $mailto}

# Mail Cc Addressset ccemailaddress_start [string first "<" $mailcc]if {$ccemailaddress_start != -1} {    set
ccemailaddress_finish[string first ">" $mailcc]    set ccemailaddress_start [expr $ccemailaddress_start + 1]    set
ccemailaddress_finish[expr $ccemailaddress_finish - 1]    set ccemailaddress [string range $mailcc
 
$toemailaddress_start $ccemailaddress_finish]} else {    set ccemailaddress $mailcc}

# Mail From Address    set fromemailaddress_start [string first "<" $mailfrom]if {$fromemailaddress_start != -1} {
setfromemailaddress_finish [string first ">" $mailfrom]    set fromemailaddress_start [expr $fromemailaddress_start +
 
1]    set fromemailaddress_finish [expr $fromemailaddress_finish -
1]    set fromemailaddress [string range $mailfrom
$fromemailaddress_start $fromemailaddress_finish]} else {    set fromemailaddress $mailfrom}fileevent $mySock writable
[listsvcHandler $mySock]    fconfigure $mySock -buffering none        puts $mySock "helo $mailserver"        gets
$mySockname    puts $mySock "mail from: $fromemailaddress"        gets $mySock name    puts $mySock "rcpt to:
$toemailaddress"       gets $mySock name    puts $mySock "rcpt cc: $ccemailaddress"        gets $mySock name    puts
$mySock"data"        gets $mySock name    puts $mySock "To: $mailto"    puts $mySock "Cc: $mailcc"    puts $mySock
"From:$mailfrom"    puts $mySock "Subject: $mailsubject"        puts $mySock ""    puts $mySock "$mailmessage"
puts$mySock "."    gets $mySock nameclose $mySockreturn 1'
 

#Exception handling
LANGUAGE 'pltclu';


========================




pgsql-sql by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: Error handling in pltcl
Next
From: "Dinesh Pandey"
Date:
Subject: "pltcl" function.