Thread: Triggers, Rules and email

Triggers, Rules and email

From
Paul
Date:
Anyone know if I can create a trigger or a rule in Pgsql that will send
an email in the event of an attempt to update a database field no-one
should be updating?

TIA,
Paul

Re: Triggers, Rules and email

From
"scott.marlowe"
Date:
On Tue, 20 Jan 2004, Paul wrote:

> Anyone know if I can create a trigger or a rule in Pgsql that will send
> an email in the event of an attempt to update a database field no-one
> should be updating?

Sure, that would involve installing the pl language of your choice as an
untrusted language.  PHP can be installed that way as a pl, btw, then you
can just use the mail() trigger function in it.

http://www.commandprompt.com/entry.lxp?lxpe=294


Re: Triggers, Rules and email

From
Robby Russell
Date:
scott.marlowe typed this on 01/20/2004 09:59 AM:
> On Tue, 20 Jan 2004, Paul wrote:
>
>
>>Anyone know if I can create a trigger or a rule in Pgsql that will send
>>an email in the event of an attempt to update a database field no-one
>>should be updating?
>
>
> Sure, that would involve installing the pl language of your choice as an
> untrusted language.  PHP can be installed that way as a pl, btw, then you
> can just use the mail() trigger function in it.
>
> http://www.commandprompt.com/entry.lxp?lxpe=294
>
>

Yes, plPHP can be used for this. If you want an example, let me know and
I'll post one on the list.

-Robby

--
#-------------------------------------------------------
# Robby Russell,  |  Sr. Administrator / Lead Programmer
# Command Prompt, Inc.   |  http://www.commandprompt.com
# rrussell@commandprompt.com | Telephone: (503) 667.4564
#-------------------------------------------------------

Re: Triggers, Rules and email

From
"Aldo Leyva Alvarado"
Date:
Yes, I want to see an example!!!!!!


Aldo Leyva
----- Original Message -----
From: "Robby Russell" <rrussell@commandprompt.com>
To: <pgsql-php@postgresql.org>
Sent: Friday, January 30, 2004 10:49 AM
Subject: Re: [PHP] Triggers, Rules and email


> scott.marlowe typed this on 01/20/2004 09:59 AM:
> > On Tue, 20 Jan 2004, Paul wrote:
> >
> >
> >>Anyone know if I can create a trigger or a rule in Pgsql that will send
> >>an email in the event of an attempt to update a database field no-one
> >>should be updating?
> >
> >
> > Sure, that would involve installing the pl language of your choice as an
> > untrusted language.  PHP can be installed that way as a pl, btw, then
you
> > can just use the mail() trigger function in it.
> >
> > http://www.commandprompt.com/entry.lxp?lxpe=294
> >
> >
>
> Yes, plPHP can be used for this. If you want an example, let me know and
> I'll post one on the list.
>
> -Robby
>
> --
> #-------------------------------------------------------
> # Robby Russell,  |  Sr. Administrator / Lead Programmer
> # Command Prompt, Inc.   |  http://www.commandprompt.com
> # rrussell@commandprompt.com | Telephone: (503) 667.4564
> #-------------------------------------------------------
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faqs/FAQ.html


Re: Triggers, Rules and email

From
Robby Russell
Date:
Aldo Leyva Alvarado typed this on 01/30/2004 08:00 AM:
> Yes, I want to see an example!!!!!!
>
>
> Aldo Leyva
> ----- Original Message -----
> From: "Robby Russell" <rrussell@commandprompt.com>
> To: <pgsql-php@postgresql.org>
> Sent: Friday, January 30, 2004 10:49 AM
> Subject: Re: [PHP] Triggers, Rules and email
>
>
>
>>scott.marlowe typed this on 01/20/2004 09:59 AM:
>>
>>>On Tue, 20 Jan 2004, Paul wrote:
>>>
>>>
>>>
>>>>Anyone know if I can create a trigger or a rule in Pgsql that will send
>>>>an email in the event of an attempt to update a database field no-one
>>>>should be updating?
>>>
>>>
>>>Sure, that would involve installing the pl language of your choice as an
>>>untrusted language.  PHP can be installed that way as a pl, btw, then
>
> you
>
>>>can just use the mail() trigger function in it.
>>>
>>>http://www.commandprompt.com/entry.lxp?lxpe=294
>>>
>>>
>>
>>Yes, plPHP can be used for this. If you want an example, let me know and
>>I'll post one on the list.
>>
>>-Robby

As requested, here is a simple function that takes 4 arguments ($arg0-3)
and utilizes the php mail() function. I added the headers for an example
of how easy it is to utilize plPHP in PostrgreSQL.


CREATE OR REPLACE FUNCTION phpmail(text,text,text,text) RETURNS integer AS '
   # Argument list
   $email_address = $arg0;
   $email_from = $arg1;
   $subject = $arg2;
   $body = $arg3;


   #
   # ..Typically, you would validate arguments here


   # Build email headers
   $headers  =  "From: $email_from\r\n";
   $headers .= "Reply-To: $email_from\r\n";
   $headers .= "X-Mailer: plPHP";


   # Send email
   if (mail($email_address, $subject, $body, $headers)) {
     return 1;
   }
   else {
     return 0;
   }


' LANGUAGE 'plphp';


#############################################
# Usage
#############################################
plphp_test=# SELECT phpmail('rrussell@commandprompt.com',
'webmaster@robbyrussell.com', 'Subject Line', 'This is the email
body\n\nMore body. Testing email. Test!\n\n\n-Robby') as email;
INFO:  ret_val(long): 1
  email
-------
      1
(1 row)

#############################################
# Output
#############################################
webmaster@robbyrussell.com typed this on 01/30/2004 08:34 AM:
 > This is a body
 >
 > More body. Testing email. Test!
 >
 >
 > -Robby


Feel free to join the plPHP mailing list as well.
   http://mail.commandprompt.com/mailman/listinfo/plphp


Cheers,

Robby Russell



--
#-------------------------------------------------------
# Robby Russell,  |  Sr. Administrator / Lead Programmer
# Command Prompt, Inc.   |  http://www.commandprompt.com
# rrussell@commandprompt.com | Telephone: (503) 667.4564
#-------------------------------------------------------