Enviar e-mail pelo banco com Xml em anexo.

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Nass
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 04 Fev 2009 12:10 pm
Localização: Joinville-SC
Nass.

Boa tarde pessoal.

Eu to precisando enviar um e-mail para o cliente com o arquivo .xml da NF-e que tenho salvo no servidor anexado ao e-mail.
Estava pensando em utilizar o pacote send_attach que envia email pelo banco. O banco que utilizo aqui é o 10G.
alguém já fez algo parecido e tem algumas dicas/exemplo para passar.

Obrigado.
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Nass.

Uma pergunta qual aplicativo usa para NF-e ? Mastersaf ou Syncro ?

Aqui resolvi meu problema direto pelo Portal Nf-e da Mastersaf.

Abs.
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Usando a UTL_SMTP e muito trabalho tem como...
e para anexar os arquivos sempre usar a utl_encode.quoted_printable_encode para codificar o arquivo conforme RFC1521 :D

joga no google que tem bastante lugar que mostra como usar a UTL_SMTP para mandar e-mail.
sid.neto
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Qui, 15 Dez 2011 7:47 am

Bom dia.

Utilizo a seguinte procedure para enviar os e-mail, até os de NF-e.

--DDL da procedure--

Selecionar tudo

create or replace function mailsender.AptMail(
p_from                  in varchar2,
p_to                    in varchar2,
p_cc                    in varchar2,
p_bcc                   in varchar2,
p_subject               in varchar2,
p_body                  in varchar2,
p_smtp_host             in varchar2,
p_file_name             in varchar2,
p_emailuser             in varchar2,
p_emailpass             in varchar2) return number
as language java name 'AptMail.send( java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String,
                               java.lang.String
                               ) return oracle.sql.NUMBER';

---Executando a chamada
(mailsender.AptMail(
                                             p_de   -- DE:
                                           , p_para -- PARA:
                                           , p_cc   -- CC:
                                           , NULL --BCC
                                           , p_assunto -- ASSUNTO:
                                           , p_corpo_email-- CORPO EMAIL
                                           , p_smtp --servidor EMAIL
                                           , p_arquivo -- ARQUIVO ANEXADO EX:'/tmp/teste.txt'
                                           , NULL
                                           , NULL
                                           ));
Espero que ajude, lembrando que o servidor de bando deve estar com a porta aberta para comunicação com o smtp.
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Só lembre-se que se enviar e-mail pelo banco e fizer rollback na transação o e-mail já foi e não volta atrás.

Uma alternativa é não enviar na hora, mas sim fazer um schedule de um job para enviar depois.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes