从Oracle Server发送动态电子邮件
我能够在配置后使用下面的脚本从Oracle发送电子邮件从Oracle Server发送动态电子邮件,oracle,email,Oracle,Email,我能够在配置后使用下面的脚本从Oracle发送电子邮件 BEGIN UTL_MAIL.send(sender => 'moiz@q8.com', recipients => 'moiz@q8.com', subject => 'UTL_MAIL Test', message => 'your procedure will come here ')
BEGIN
UTL_MAIL.send(sender => 'moiz@q8.com',
recipients => 'moiz@q8.com',
subject => 'UTL_MAIL Test',
message => 'your procedure will come here ');
END;
我需要将查询的输出附加到主体。如何实现这一点?我建议您编写一些PL/SQL,将想要的结果输出到VARCHAR2字符串中,并将其传递到消息体(即上面过程中的“message”参数)尝试以下操作(对于select返回的单行): 或者,如果您有多行,您可以建立v_消息的值(通过将select into替换为) 你可以附加一个文件
开始
UTL_MAIL.SEND_ATTACH_VARCHAR2
(
发送方=>'noreply@noreply.com'
,收件人=>'WHOEVER@WHATEVER.co.uk,WHOEVER@WHATEVER.co.uk,WHOEVER@WHATEVER.co.uk'
,cc=>null
,bcc=>NULL
,subject=>'来自的消息WHOEVER@WHATEVER.co.uk '
,message=>“”
,mime_type=>'text/html;charset=us ascii'
,优先级=>3
,附件=>'
数据小组
您在数据库上使用了错误的笛卡尔坐标
'
,att_inline=>TRUE
,att_mime_type=>'application/html'
,att_filename=>cartesien.html');
结束;
DECLARE
v_message VARCHAR2(4000);
BEGIN
SELECT text
INTO v_message
FROM yourtable;
UTL_MAIL.send(sender => 'moiz@q8.com',
recipients => 'moiz@q8.com',
subject => 'UTL_MAIL Test',
message => v_message);
END;
FOR rec IN
(
SELECT text
INTO v_message
FROM yourtable
)
LOOP
v_message:=v_message||rec.text;
END;
begin
UTL_MAIL.SEND_ATTACH_VARCHAR2
(
sender => 'noreply@noreply.com'
,recipients => 'WHOEVER@WHATEVER.co.uk,WHOEVER@WHATEVER.co.uk,WHOEVER@WHATEVER.co.uk'
,cc => null
,bcc => NULL
,subject => 'Message from WHOEVER@WHATEVER.co.uk '
,message => ''
,mime_type => 'text/html; charset=us-ascii'
,priority => 3
,attachment => '<html>
<head>
<p><img src="https://lh6.DWEDEEDEtent.com/-yeca6z1QTB8/To11ZnsaCCI/AAAAAAAAAFc/8tFVIZhl7YM/w674-h399-k/Picture1.jpg" alt="Site Logo" />
<title>data Team</title>
</head>
<body>
<body style="background-color:yellow;">
<p>You are using <b><i>bad Cartesian<b><i> on <b>DATABASE<B> </p>
</body>
</html>'
,att_inline => TRUE
,att_mime_type=>'application/html'
,att_filename => 'cartesien.html' );
end;