Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2006, 14h05   #1
Invité de passage
 
Inscription : décembre 2005
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 9
Points : 3
Points : 3
Par défaut [Forms]Email A Partir De Forms

Bonjour

Je veux envoyer un email à partir de Forms 6i

Y-a-t-il une procédure qui fait çà, si oui quelle sont les paramètres
Velodrom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 15h16   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Non, il n'existe pas de procédure pour cela.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 15h27   #3
Invité de passage
 
Inscription : décembre 2005
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 9
Points : 3
Points : 3
non il existe car j'ai trouvé cette provedure sur le net et j'ai rien compris
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE PROCEDURE send_mail (p_sender IN VARCHAR2,p_recipient IN VARCHAR2,p_message IN VARCHAR2) AS
l_mailhost VARCHAR2(255) := 'xx.xxm.xx';
l_mail_conn utl_smtp.connection;
 BEGIN
 l_mail_conn := utl_smtp.open_connection(l_mailhost, 25);
 utl_smtp.helo(l_mail_conn, l_mailhost);
 utl_smtp.mail(l_mail_conn, p_sender);
 utl_smtp.rcpt(l_mail_conn, p_recipient);
 utl_smtp.open_data(l_mail_conn );
 utl_smtp.write_data(l_mail_conn, p_message);
 utl_smtp.close_data(l_mail_conn );
 utl_smtp.quit(l_mail_conn);
 end;
Velodrom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 15h30   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Il existe bien des procédures, mais elles sont stockées en base.
comme celle-ci par example:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
CREATE OR REPLACE PROCEDURE Html_Email(p_to            IN VARCHAR2,
                       p_from          IN VARCHAR2,
                       p_subject       IN VARCHAR2,
                       p_text          IN VARCHAR2 DEFAULT NULL,
                       p_html          IN VARCHAR2 DEFAULT NULL,
                       p_smtp_hostname IN VARCHAR2,
                       p_smtp_portnum  IN VARCHAR2) IS
    l_boundary   VARCHAR2(255) DEFAULT 'a1b2c3d4e3f2g1';
    l_connection utl_smtp.connection;
    l_body_html  CLOB := EMPTY_CLOB;
    l_offset     NUMBER;
    l_ammount    NUMBER;
    l_temp       VARCHAR2(32767) DEFAULT NULL;
    l_dest       VARCHAR2(32767);
    l_dest_tmp   VARCHAR2(32767);
  BEGIN
    -------------------------------
    -- Procedure d'envoi de mail --
 -------------------------------
    l_dest       := p_to;
    l_connection := utl_smtp.open_connection(p_smtp_hostname, p_smtp_portnum);
    utl_smtp.helo(l_connection, p_smtp_hostname);
    utl_smtp.mail(l_connection, p_from);
    WHILE INSTR(l_dest, ',') != 0 LOOP
      l_dest_tmp := SUBSTR(l_dest, 1, INSTR(l_dest, ',') - 1);
      l_dest     := SUBSTR(l_dest, INSTR(l_dest, ',') + 1);
      utl_smtp.rcpt(l_connection, l_dest_tmp);
    END LOOP;
    utl_smtp.rcpt(l_connection, l_dest);
    l_temp := l_temp || 'MIME-Version: 1.0' || CHR(13) || CHR(10);
    l_temp := l_temp || 'To: ' || p_to || CHR(13) || CHR(10);
    l_temp := l_temp || 'From: ' || p_from || CHR(13) || CHR(10);
    l_temp := l_temp || 'Subject: ' || p_subject || CHR(13) || CHR(10);
    l_temp := l_temp || 'Reply-To: ' || p_from || CHR(13) || CHR(10);
    l_temp := l_temp || 'Content-Type: multipart/alternative; boundary=' ||
              CHR(34) || l_boundary || CHR(34) || CHR(13) || CHR(10);
    dbms_lob.createtemporary(l_body_html, FALSE, 10);
    dbms_lob.WRITE(l_body_html, LENGTH(l_temp), 1, l_temp);
    l_offset := dbms_lob.getlength(l_body_html) + 1;
    l_temp   := '--' || l_boundary || CHR(13) || CHR(10);
    l_temp   := l_temp || 'content-type: text/plain; charset=windows-1252' ||
                CHR(13) || CHR(10) || CHR(13) || CHR(10);
    dbms_lob.WRITE(l_body_html, LENGTH(l_temp), l_offset, l_temp);
    l_offset := dbms_lob.getlength(l_body_html) + 1;
    dbms_lob.WRITE(l_body_html, LENGTH(p_text), l_offset, p_text);
    l_temp   := CHR(13) || CHR(10) || CHR(13) || CHR(10) || '--' ||
                l_boundary || CHR(13) || CHR(10);
    l_temp   := l_temp || 'content-type: text/html; charset=windows-1252' ||utl_tcp.CRLF||
             'Content-Transfer-Encoding: 8bit' || utl_tcp.CRLF||
                CHR(13) || CHR(10) || CHR(13) || CHR(10);
    l_offset := dbms_lob.getlength(l_body_html) + 1;
    dbms_lob.WRITE(l_body_html, LENGTH(l_temp), l_offset, l_temp);
    l_offset := dbms_lob.getlength(l_body_html) + 1;
    dbms_lob.WRITE(l_body_html, LENGTH(p_html), l_offset, p_html);
    l_temp   := CHR(13) || CHR(10) || '--' || l_boundary || '--' || CHR(13);
    l_offset := dbms_lob.getlength(l_body_html) + 1;
    dbms_lob.WRITE(l_body_html, LENGTH(l_temp), l_offset, l_temp);
    l_offset  := 1;
    l_ammount := 1900;
    utl_smtp.open_data(l_connection);
    WHILE l_offset < dbms_lob.getlength(l_body_html) LOOP
      utl_smtp.write_data(l_connection, dbms_lob.SUBSTR(l_body_html, l_ammount, l_offset));
      l_offset  := l_offset + l_ammount;
      l_ammount := LEAST(1900, dbms_lob.getlength(l_body_html) - l_ammount);
    END LOOP;
    utl_smtp.close_data(l_connection);
    utl_smtp.quit(l_connection);
    dbms_lob.freetemporary(l_body_html);
  EXCEPTION
    WHEN OTHERS THEN
      ROLLBACK;
  END;
/


__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 16h33   #5
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par Velodrom
non il existe car j'ai trouvé cette provedure sur le net et j'ai rien compris
Oui, mais ce n'est pas une procédure forms...
Après il existe plein de solutions de contournement : envoyer le mail depuis la base (UTL_SMTP ou UTL_MAIL si tu es en 10g) dans ce cas attention aux problème des pièces jointes qui doivent être accessibles depuis le serveur de base de données, classe java, programme d'envoi de mails (par exemple BLAT) couplé à la commande host...
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h39.


 
 
 
 
Partenaires

Hébergement Web