Re: Triggers, Rules and email

Поиск
Список
Период
Сортировка
От Robby Russell
Тема Re: Triggers, Rules and email
Дата
Msg-id 401A8967.1040106@commandprompt.com
обсуждение исходный текст
Ответ на Re: Triggers, Rules and email  ("Aldo Leyva Alvarado" <aleyva@medifarma.com.pe>)
Список pgsql-php
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
#-------------------------------------------------------

В списке pgsql-php по дате отправления:

Предыдущее
От: "Aldo Leyva Alvarado"
Дата:
Сообщение: Re: Triggers, Rules and email
Следующее
От: Alexander Popkov
Дата:
Сообщение: LOCKing method in my situation?