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
Enviar mails apex
-
- Rank: Estagiário Sênior
- Mensagens: 11
- Registrado em: Qua, 02 Dez 2009 2:57 pm
- Localização: cabeceiras basto
-
- 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.
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.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante