Re: Error handling in pltcl

Поиск
Список
Период
Сортировка
От Dinesh Pandey
Тема Re: Error handling in pltcl
Дата
Msg-id 20050418044339.B46FB533E3@svr1.postgresql.org
обсуждение исходный текст
Ответ на Re: Error handling in pltcl  (Michael Fuhr <mike@fuhr.org>)
Список 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 по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Error handling in pltcl
Следующее
От: "Dinesh Pandey"
Дата:
Сообщение: "pltcl" function.