Я хочу сохранить журнал электронной почты в своей личной таблице, используя oracle apex - PullRequest
0 голосов
/ 05 мая 2020
• 1000
DECLARE
    l_body      CLOB;
    l_body_html CLOB;
BEGIN
    l_body := 'To view the content of this message, please use an HTML enabled mail client.'||utl_tcp.crlf;

    l_body_html := '<html>
        <head>
            <style type="text/css">
                body{font-family: Arial, Helvetica, sans-serif;
                    font-size:10pt;
                    margin:30px;
                    background-color:#ffffff;}

                span.sig{font-style:italic;
                    font-weight:bold;
                    color:#811919;}
             </style>
         </head>
         <body>'||utl_tcp.crlf;
    l_body_html := l_body_html ||'<p>Thank you for your interest in the <strong>APEX_MAIL</strong> package.</p>'||utl_tcp.crlf;
    l_body_html := l_body_html ||'  Sincerely,<br />'||utl_tcp.crlf;
    l_body_html := l_body_html ||'  <span class="sig">The APEX Dev Team</span><br />'||utl_tcp.crlf;
    apex_mail.send(
    p_to   => 'some_user@somewhere.com',   -- change to your email address
    p_from => 'some_sender@somewhere.com', -- change to a real senders email address
    p_body      => l_body,
    p_body_html => l_body_html,
    p_subj      => 'APEX_MAIL Package - HTML formatted message');
END;

1 Ответ

0 голосов
/ 05 мая 2020

Чтобы гарантировать, что вы регистрируете каждый вызов apex_mail.send, создайте процедуру-оболочку (или пакет), которая регистрирует вызов и использует вашу оболочку только при отправке писем.

например:

create or replace package my_mail as
  procedure send( ... );
  ...
end;
/

create or replace package body my_mail as
  procedure send( ... ) as
  begin
    insert into log_table (column list) values (parameter value list);
    ...
    <additional custom code>
    ...
    apex_mail.send( ... );
  end;
  ...
end;
/

В качестве дополнительного преимущества использования вашей собственной оболочки вы можете добавить дополнительные функции, такие как автоматическая перезапись адреса получателя на тестовый адрес в среде разработки или UAT, чтобы вы случайно не спамили реальным пользователям тестовыми данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...