重複の可能性:
psql トリガー メール送信
PL/Perl 言語を使用して Postgresql でメールを送信しています。データセット テーブルの upload_status が公開に変更されると、データセット テーブルの作成者のメール アドレスにメールが送信されます。そしてレターには、データセット内のこの著者のいくつかのレコードが含まれています。データセット PK は識別子です。
xx@mail.com から (dataset.email)@mail.com に送信する
親愛なる博士 (dataset.author)
あなたの...... (dataset.product) はすでに .......
PL/Perl とトリガー関数を使用して関数を作成する方法について説明します。
ありがとう、私はこの方法を使用していますhttp://evilrouters.net/2008/02/01/send-email-from-postgresql/
mydb=# CREATE OR REPLACE FUNCTION mydb_mytable_insert_send_mail_function()
mydb-# RETURNS "trigger" AS
mydb-# $BODY$
mydb$# use Mail::Sendmail;
mydb$#
mydb$# $message = "A new entry has been added to the 'mytable' table.\n\n";
mydb$# $message .= "The new name is: $_TD->{new}{name}\n\n";
mydb$#
mydb$# %mail = ( From => $_[0], To => $_[1], Subject => $_[2], Message => $message);
mydb$#
mydb$# sendmail(%mail) or die $Mail::Sendmail::error;
mydb$# return undef;
mydb$# $BODY$
mydb-# LANGUAGE 'plperlu' VOLATILE;
mydb=# CREATE TRIGGER mydb_mytable_insert_send_mail_trigger
mydb=# AFTER INSERT ON mytable
mydb=# FOR EACH ROW
mydb=# EXECUTE PROCEDURE mydb_mytable_insert_send_mail_function('from@domain.com', 'to@domain.com', 'subject here');
しかし、それはエラーが発生したことを示しています