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 :

priorité dans utl_mail - différence outlook/lotus


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2010
    Messages : 48
    Par défaut priorité dans utl_mail - différence outlook/lotus
    Bonjour,

    Je cherche à utiliser a procédure oracle utl_mail.send pour envoyer un email.
    Lotus : ca marche
    Outlook : ca marche

    Mais mon but étant d'envoyer un email avec une importance haute, je modifie mon appel a la procédure utl_mail.send, et la, horreur :
    Outlook : mon mail apparait bien comme 'important'
    Lotus : mon mail est normal, pas urgent.

    Quelqu'un saurait comment faire, dans ce cas, pour q'un mail envoyé par lotus apparaisse comme "important"?

    Merci par avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2010
    Messages : 48
    Par défaut
    OUah, ça vous inspire autant que ça? Ou c'est que j'ai pas posté où il faut?

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    C'est posté au bon endroit, mais votre problématique est très spécifique : l'importance d'envoi d'un mail sous Lotus ce n'est pas l'occupation principale sous Oracle dirons-nous.

    Il suffit que quelqu'un qui a rencontré ce problème passe par ici, sinon n'hésitez pas à étendre votre recherche sur les forums officiels.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2010
    Messages : 48
    Par défaut
    Bon et bien, après plusieurs recherches/tests je m'autoréponds - après tout, ça peut peut-être servir à d'autre.

    Ce n'est donc pas possible avec la commande utl_mail.

    Il faut donc utiliser utl_smtp (plus fastidieux quand même...) et mettre comme paramètre dans l'en-tête 'Importance : High'

    Je posterai le code de la procédure quand j'aurai fait qq chose de propre

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Merci pour le retour !

  6. #6
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2010
    Messages : 48
    Par défaut
    Et voila la procédure.
    Bon je vous cacherai pas que j'ai pas testé cette version du code (qui ets une version expurgée de toute la partie spécifique à mon application).

    Mais la version d'origine marche aux p'tits oignons \o/.
    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
    PROCEDURE send (l_html IN VARCHAR2, l_priorite in VARCHAR2) IS
      p_smtp_hostname   VARCHAR2 (30);
      p_smtp_portnum    VARCHAR2 (4);
      p_to           varchar2 (150) := 'adresse@destinataire.fr';
      p_from         varchar2 (150) := 'adresse@expediteur.fr';
      p_subject      varchar2 (150) := 'Sujet de test';
      p_text         varchar2 (4000) := 'Ne pas répondre à ce mail';
      p_html         varchar2 (32767) := l_html;      
      p_priorite     varchar2(6) := l_priorite; -- Level of priority. Value = 'High', 'Normal' or 'Low'
      p_header       varchar2 (32767) default null; -- this char will be the header
      l_body_html     clob := empty_clob;  --This LOB will be the email message
      l_offset        number; -- use to keep the length of the email
      l_ammount       number; -- use to send the email in 1900 byte chunks
      l_connection    utl_smtp.connection;
    BEGIN
     
    	 -- select ip and port number for the smtp protocole
    	select substr(value,0,instr(value, ':')-1)
    	, substr(value,instr(value, ':')+1)
    	into p_smtp_hostname, p_smtp_portnum 
    	from v$parameter
    	where upper(name) like '%SMTP%';
     
    	utl_smtp.helo( l_connection, p_smtp_hostname );
    	utl_smtp.mail( l_connection, p_from );
    	utl_smtp.rcpt( l_connection, p_to );
     
    	-- Building the header
    	p_header := p_header || 'MIME-Version: 1.0' ||  chr(13) || chr(10);
    	p_header := p_header || 'To: ' || p_to || chr(13) || chr(10);
    	p_header := p_header || 'From: ' || p_from || chr(13) || chr(10);
    	p_header := p_header || 'Subject: ' || p_subject || chr(13) || chr(10);
    	p_header := p_header || 'Reply-To: ' || p_from ||  chr(13) || chr(10);
    	p_header := p_header || 'Importance: '|| p_priorite ||  chr(13) || chr(10);
    	p_header := p_header || 'Content-Type: text/html; charset=iso-8859-1' ||  chr(13) || chr(10); -- charset must be modify with the correct value
     
    	-- Building the email itself
    	dbms_lob.createtemporary( l_body_html, false, 10 );
    	dbms_lob.write(l_body_html,length(p_header),1,p_header);
     
    	l_offset := dbms_lob.getlength(l_body_html) + 1;
    	dbms_lob.write(l_body_html,length(p_html),l_offset,p_html);
     
    	-- Send the email in 1900 byte chunks to UTL_SMTP
    	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_raw_data(l_connection,utl_raw.cast_to_raw(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 NO_DATA_FOUND THEN
         raise_application_error (-20100, 'Invalid Registration');
      WHEN UTL_SMTP.invalid_operation THEN
         DBMS_OUTPUT.put_line (' Invalid Operation in SMTP transaction.');
         RAISE;
      WHEN UTL_SMTP.transient_error THEN
         DBMS_OUTPUT.put_line (' Temporary problems with sending email - try again later.');
         RAISE;
      WHEN UTL_SMTP.permanent_error THEN
         DBMS_OUTPUT.put_line (' Errors in code for SMTP transaction.');
         RAISE;
      WHEN OTHERS THEN
         -- Consider logging the error and then re-raise
         RAISE;
    END send;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Espace blanc dans les reply (outlook 2003)
    Par Lordkpo dans le forum Outlook
    Réponses: 4
    Dernier message: 11/04/2007, 16h23
  2. Priorité dans une requête
    Par Galaad dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 29/01/2007, 13h32
  3. [Mail] Ajout auto dans le calendrier "Outlook"
    Par EFCAugure dans le forum Langage
    Réponses: 7
    Dernier message: 04/12/2006, 16h42
  4. Mettre une priorité dans un JOIN
    Par ez3kiel dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/07/2006, 12h41
  5. [VBA-O]Calendrier dans un formulaire outlook
    Par imhotep_zr7s dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 09/02/2006, 21h25

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