IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

[Forms]Email A Partir De Forms


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    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

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    Non, il n'existe pas de procédure pour cela.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut
    non il existe car j'ai trouvé cette provedure sur le net et j'ai rien compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Il existe bien des procédures, mais elles sont stockées en base.
    comme celle-ci par example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    /
    
    
    

  5. #5
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    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...

Discussions similaires

  1. probleme execution forms 10g a partir de forms builder
    Par userforms dans le forum Forms
    Réponses: 2
    Dernier message: 25/12/2010, 23h20
  2. Etat Excel à partir de forms 9i (report 9i)
    Par Process Linux dans le forum Reports
    Réponses: 8
    Dernier message: 29/04/2009, 12h23
  3. lancer un état reports à partir de forms
    Par shurized dans le forum Reports
    Réponses: 6
    Dernier message: 31/07/2007, 14h45
  4. Réponses: 2
    Dernier message: 01/07/2005, 14h54
  5. Inserer une photo dans une base 8i à partir de form 6i
    Par armando123 dans le forum Forms
    Réponses: 3
    Dernier message: 20/06/2005, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo