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

PL/SQL Oracle Discussion :

Envoi de mail utl_smtp


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Envoi de mail utl_smtp
    Bonjour tout le monde,

    voila mon problème,
    j'avais créé un trigger qui envoyait des emails à des clients en se basant sur une table où il récupère les informations comme le corps du mail ,objet, cc et le ccc. ça marchait très bien
    mais ces derniers temps nous avons eu quelques réclamations des clients qui n'ont pas reçu de mail, je voudrais maintenant ajouter à mon trigger un accusé de réception ou une trace qui permet de faire le suivi des emails et vérifier qu'ils sont bien arrivés aux destinataires ,
    donc j'ai ajouté les deux ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       'Return-Receipt-To: <a href="mailto:test1@gmail.com">test1@gmail.com</a> '|| crlf ||   
       'X-Confirm-Reading-To: <a href="mailto:test2@gmail.com">test2@gmail.com</a> '|| crlf ||
    le résultat est que le mail a été transmis et lu mais je n'ai pas reçu ni d'accusé de réception ,ni confirmation de lecture de mail,
    merci de votre aide , sinon si vous avez d'autre proposition je suis ouvert
    merci d'avance,

    version de la base de donnée:9.2.0.7.0
    le corps du trigger:


    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
    CREATE OR REPLACE TRIGGER OWNER.TRIG_SEND_EMAIL_OT
    AFTER INSERT
    ON OWNER.MAIL 
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    Declare
    /*
    =======================================
    --  Trigger pour l'envoie des emails 
    =======================================
    */
      v_From        OWNER.MAIL.MLQ100%type := :new.MLQ100;
      v_Recipient1 OWNER.MAIL.MLQ120%type := :new.MLQ120;
      v_Recipient2 OWNER.MAIL.MLQ143%type := :new.MLQ143;
      v_Subject     OWNER.MAIL.MLDL011%type := :new.MLDL011;
      v_Mail_Host VARCHAR2(30) := '10.10.10.49';
      v_Mail_Conn utl_smtp.Connection;
      v_message1   OWNER.MAIL.MLAPTA%type := :new.MLAPTA;
      crlf        VARCHAR2(2)  := chr(13)||chr(10);
    BEGIN
     
     v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
     utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
     utl_smtp.Mail(v_Mail_Conn, v_From);
     utl_smtp.Rcpt(v_Mail_Conn, v_Recipient1);
     utl_smtp.Rcpt(v_Mail_Conn, v_Recipient2);
      UTL_SMTP.OPEN_DATA(v_Mail_Conn);
     
     
      UTL_SMTP.WRITE_RAW_DATA(v_Mail_Conn, 
      UTL_RAW.CAST_TO_RAW(   'Date: '   || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
       'From: '   || v_From || crlf ||
       'Subject: '|| v_Subject || crlf ||
       'To: '     || v_Recipient1 || crlf ||
       'Cc: '     || v_Recipient2 || crlf || 
       'Return-Receipt-To: <a href="mailto:test1@gmail.com">test1@gmail.com</a> '|| crlf ||   
       'X-Confirm-Reading-To: <a href="mailto:test2@gmail.com">test2@gmail.com</a> '|| crlf ||            
       v_message1|| crlf || -- Message body
       '   '|| crlf ||
       '========================================'|| crlf ||
       'Centre de Relation Clients '|| crlf ||
       '========================================'|| crlf));
      UTL_SMTP.WRITE_DATA(v_Mail_Conn, UTL_TCP.CRLF);
      UTL_SMTP.CLOSE_DATA(v_Mail_Conn);
     
     utl_smtp.Quit(v_mail_conn);
    EXCEPTION
     WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
       raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
     
     
    END;
    /

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Je n'ai pas vérifié le protocole SMTP, mais avez vous vérifié les SPAMS Gmail (il redirige systématiquement les faux positifs en spam)

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'ai vérifié les spam de Gmail , non il n'y a rien aucun messages reçu , j'ai testé avec yahoo et ma boite professionnel le même problème

Discussions similaires

  1. utl_smtp, envoie de mail
    Par dnllfriart dans le forum SQL
    Réponses: 29
    Dernier message: 10/06/2007, 21h17
  2. Réponses: 3
    Dernier message: 21/05/2007, 12h11
  3. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22
  4. Outlook ne se ferme pas après un envoi de mail
    Par Joke dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2003, 17h32
  5. envoi de mail, protocol SMTP langage C
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 23/05/2003, 11h22

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