Hello,
I'm using a perl function in my PosgreSQL database to send an email.
However, field data containing single quotes causes the function to fail.
I'm having trouble escaping the quotes. Sample function definition follows.
If company_name is Bob's Fixit, the function will fail.
CREATE OR REPLACE FUNCTION public.send_rma(rma_info)
RETURNS void AS
'
use Mail::Sender;
my ($rma_data) = @_;
my ($sender) = new Mail::Sender {
smtp => \'192.168.1.1\',
from => \'supp@cog.com\',
on_errors => \'die\'
};
$sender->Open({
to => \'pgsql-admin@postgresql.org\',
cc => \'supp@cog.com\',
subject => "RMA Request $rma_data->{\'rma\'}"
});
$sender->SendLineEnc("[RMA]");
$sender->SendLineEnc("$rma_data->{\'rma\'}");
$sender->SendLineEnc("[CASE NUMBER]");
$sender->SendLineEnc("$rma_data->{\'case_number\'}");
$sender->SendLineEnc("[COMPANY NAME]");
$sender->SendLineEnc("$rma_data->{\'company_name\'}");
$sender->Close();
'
LANGUAGE 'plperlu' STABLE;
Thanks,
Chuck
***********************
Confidentiality notice: This electronic transmission message is intended only for the use of the individual or entity
towhom it is addressed. This information should be treated as proprietary, confidential, legally privileged and exempt
fromdisclosure under applicable law. If the reader of this message is not the intended recipient, (or the employee or
agentresponsible for delivering the message to the intended recipient), you are hereby notified that any use,
dissemination,distribution, or copying of this message is strictly prohibited. If you have received this communication
inerror, please immediately notify us by telephone (720) 221-9421 or by return e-mail and delete this message. Thank
youfor your cooperation.