Olá pessoal do blog!
Hoje a geração de email pelo PL/SQL. vou trabalha com o UTL_SMTP.
vou criar uma procedure de envio de e-mail, chamada EnviaEmail.
CREATE OR REPLACE PROCEDURE “ENVIAEMAIL”
(
recipient IN VARCHAR2, – VARIAVEL QUE RECEBERA O EMAIL DE DESTINO
subject IN VARCHAR2, – ASSUNTO DO EMAIL
message IN VARCHAR2– MESSAGEM DO EMAIL
) IS
crlf VARCHAR2(2) := CHR(13) || CHR(10);
email_conexao utl_smtp.connection;
mailhost VARCHAR2(30) := ‘smtp01.seusite.com.br’;
mesg VARCHAR2(1000);
sender varchar2(1000) := ‘quintiliano_jeh@gmail.com’; – EMAIL DE QUEM ESTÁ ENVIANDO
BEGIN
email_conexao := utl_smtp.open_connection(mailhost,25);
mesg := ‘Date: ‘||TO_CHAR(SYSDATE,‘dd Mon yy hh24:mi:ss’)||crlf||
‘From: ‘||sender||”||crlf||
’Subject: ‘||subject||crlf||
’To: ‘||recipient;
utl_smtp.helo(email_conexao, mailhost);
utl_smtp.mail(email_conexao, sender);
utl_smtp.rcpt(connection, recipient);
utl_smtp.open_data(email_conexao);
utl_smtp.write_raw_data(email_conexao, utl_raw.cast_to_raw(mesg || crlf));
utl_smtp.write_raw_data(email_conexao, utl_raw.cast_to_raw(crlf || message));
utl_smtp.close_data(email_conexao);
utl_smtp.quit(email_conexao);
EXCEPTION
WHEN UTL_SMTP.INVALID_OPERATION THEN
dbms_output.put_line(SQLERRM||‘ – OPERAÇÃO INVÁLIDA SMTP.’);
WHEN UTL_SMTP.TRANSIENT_ERROR THEN
dbms_output.put_line(SQLERRM||‘ – PROBLEMAS COM ENVIO DO EMAIL.’);
WHEN UTL_SMTP.PERMANENT_ERROR THEN
dbms_output.put_line(SQLERRM||‘ – CÓDIGO INCORRETO NA TRANSAÇÃO DO SMTP.’);
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM||‘ – OUTROS.’);
END;
Nenhum comentário:
Postar um comentário