Re: Triggers, Rules and email

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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@xxxxxxxxxxxxxxxxx>
To: <pgsql-php@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxx', 'webmaster@xxxxxxxxxxxxxxxx', '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@xxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxx | Telephone: (503) 667.4564
#-------------------------------------------------------


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux