Enviar mails apex

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
lousada_cbc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Qua, 02 Dez 2009 2:57 pm
Localização: cabeceiras basto

Ola a todos,

Já alguém conseguiu efectivamente enviar e-mails por uma aplicação apex?

Já vi muitas formas de o fazer e varias explicações, o que é certo é que ainda não consegui por nenhuma delas a funcionar.
Acho que aqueles que explicam como se faz omitem sempre passos...

Nós temos um servidor smtp da empresa on-line, como é que poderia enviar e-mails através da aplicação apex por esse servidor?

Estou a utilizar oracle 10g

Obrigado a todos
PaoloCemim
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Ter, 22 Dez 2009 7:58 am
Localização: Gravataí - RS
Att, Paolo Cemim

Cara eu já consegui mandar o e-mail vo te falar como eu fiz...
primeiro criar uma processo:

create or replace PROCEDURE send_mail (
P_ORIGEM in varchar2,
P_DESTINO in varchar2,
P_TITULO in varchar2,
P_ASSUNTO in varchar2,
P_TEXTO in varchar2
)
IS
C UTL_SMTP.CONNECTION;

BEGIN
c:= utl_smtp.open_connection('myserversmtp',25);
utl_smtp.helo(c, 'myserversmtp');

UTL_SMTP.MAIL (C, ('<' || P_ORIGEM || '>')); /* E-mail de quem está mandando */
UTL_SMTP.RCPT (C, ('<' || P_DESTINO|| '>')); /* Para quem vou mandar */

utl_smtp.open_data(c);
UTL_SMTP.WRITE_RAW_DATA( c,UTL_RAW.CAST_TO_RAW('From:' ||P_ORIGEM||utl_tcp.CRLF));
UTL_SMTP.WRITE_RAW_DATA( c,UTL_RAW.CAST_TO_RAW('To:' ||P_DESTINO||utl_tcp.CRLF));
UTL_SMTP.WRITE_RAW_DATA( c,UTL_RAW.CAST_TO_RAW('Subject:' ||P_ASSUNTO||utl_tcp.CRLF));

utl_smtp.write_data(c,' '||utl_tcp.CRLF);
utl_smtp.write_raw_data(c,utl_raw.cast_to_raw(utl_tcp.CRLF||P_TEXTO));

utl_smtp.close_data(c);
UTL_SMTP.QUIT (C);

END;

Ali onde diz myserverSMTP é o endereço do teu servidor.

Depois no tua aplicação tu coloca um processo mais ou menus assim:

declare

begin

send_mail(envia_mail, recebe_mail, mensagem);

exception
WHEN OTHERS THEN
COMMIT;
end;

onde tu diz envia_mail é quem esta enviando, recebe_mail quem vai receber e mensagem é a mensagem do e-mail.
Responder
  • Informação
  • Quem está online

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