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

JavaScript Discussion :

Empêcher les sauts de lignes dans un mail


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut Empêcher les sauts de lignes dans un mail
    Bonjour tout le monde,

    dans nos programmes, en JAVASCRIPT, nous utilisons SMTP pour envoyer des mails formatés de manière spécifiques.
    Ces mails sont ensuite décortiqués et interprétés à l'arrivée pour une application en VB qui fonctionne sous Outlook.

    Mais voila, dans certains cas (lignes trop longue), nous avons remarqué que des sauts de lignes étaient insérés automatiquement.
    On pense que ça se produit au-delà de 72 caractères par ligne.

    Est-ce qu'il y aurait un moyen de supprimer ou de repousser cette limite, soit pas code, soit pas configuration ?

    Merci d'avance pour votre aide.

    Si ça peut aider, voici un morceau du code qui nous permet d'envoyer ces mails :

    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
     
    var objEmail = new ActiveXObject("CDO.Message");  
    objEmail.From =  WUser;
    objEmail.Subject = WObjet; // "HELLO WORLD";  
    // we are sending a text email. simply switch the comments around to send an html email instead
    objEmail.Textbody = WCorps;  //		objEmail.HTMLBody = "this is the body"
    // Send the message using the network (SMTP over the network).
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;  
    //		
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = WSmtp;
    // If your server requires outgoing authentication uncomment the lines bleow and use a valid email address and password.		
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 //basic (clear-text) authentication		
    //Your UserID on the SMTP server
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = WUser;
    //Your password on the SMTP server
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = WMdp;
    // Port...		
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = WPort;  
    //Use SSL for the connection (False or True)
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = false;
    if (WObjet == "...Envoi d'un message.")
    {
    	objEmail.Bcc = P_CopieCachee; 
    	P_CopieCachee = WDestinataire + ";" + P_CopieCachee;
    	WBcc = P_CopieCachee.split(";");
    	WCptSend = 0;
    	WCptTot = WBcc.length - 2; // ON NE PREND PAS EN COMPTE LES 2 DERNIERS SPLIT CAR ILS SONT VIDES
    	G_ERRSEND = false;
    	WCptErr = 0;
    	WNomErr = "";
    	while (WCptSend <= WCptTot)
    	{
    		objEmail.To = WBcc[WCptSend]; 
    		objEmail.Cc = ""; 
    		objEmail.Bcc = ""; 
    		objEmail.Configuration.Fields.Update(); 
    		try 
    		   { 
    				objEmail.Send(); 
    		   }
    		catch (err) 
    		   {
    				WMessErr = "err = " + err + G_CrLf;
    				WMessErr = WMessErr + "err.number = " + err.number + G_CrLf;
    				WMessErr = WMessErr + "err.name = " + err.name + G_CrLf;
    				WMessErr = WMessErr + "err.message = " + err.message + G_CrLf;
    				alert(WMessErr);
    				WCptErr = WCptErr + 1;
    				WNomErr = WBcc[WCptSend] + " - ";
    				G_ERRSEND = true;
    		   };
     
    		WCptSend = WCptSend + 1;
    	};
    ...
    ...
    ...

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par Zebulon777
    dans nos programmes, nous utilisons SMTP pour envoyer des mails formaté de manière spécifiques.
    Ces mails sont ensuite décortiqués et interprétés à l'arrivée pour une application en VB qui fonctionne sous Outlook.
    Quel rapport avec
    Forum > Webmasters - Développement Web > JavaScript, AJAX, TypeScript & Dart > JavaScript ?

    A+JYT

  3. #3
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Bah, tout simplement, car c'est du Javascript ???
    L'application qui envoie les emails est développée en HTML et Javascript et fonctionne avec IE.

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Ce n'est pas le navigateur qui envoi le Mail c'est soit le serveur soit le logiciel de mail

    Ce n'est pas parce que l'action est déclanchée depuis le navigateur que cela s'exécute dans le navigateur.
    De plus tu donne bien un code en VB
    Ce n'est donc pas le navigateur qui l'exécute

    A+JYT

  5. #5
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Heu, désolé, mais c'est du code Javascript et c'est ce code qui provoque l'envoie de l'email via SMTP.
    Toute l'application fonctionne sous IE qui est alors utilisé comme interpréteur.

    Quoiqu'il en soit, je me suis peut-être trompé de section, et j'en suis désolé, mais je ne comprends pas pourquoi une telle agressivité ?

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    il n'y a aucgressivité juste un constat

    IE affiche une page HTML qui vient d'un serveur HTTP
    Le javascript dans IE NE PEUX PAS envoyer de mail par lui même. (d'ailleur ton code est bien du VB)
    Il envoit je suppose l'information dans un POST au serveur
    et c'est le serveur qui lui l'envoi par SMTP
    Ce qui généralement la façon de faire.

    L'autre solution est que le Javascript se connecte à Outlook (sur le poste du client) et demande à Outlook de créer un mail et de l'envoyer.
    Là encore ce n'est pas IE ni le JS qui envoi le mail mais c'est Outlook.

    Tu semble confondre le déclenchement de l'opération d'envoi de mail qui est faite dans IE et l"envoi lui même qui est fait soit par le serveur soit par Outlook.

    Vu que tu n'explique pas la façon dont tout ça fonctionne il n'est pas possible de t'aider.

    Mes interventions n'ont pour but que de te faire comprendre que ce que tu exprime dans ta demande n'a aucun sens. Il te faut analyse plus précisément qui fait quoi
    et tu saura alors dans quel forum poster ta demande.
    Serveur IIS ASP/VB (envoi par le serveur HTTP) ou OLE/COM (utilisation d'Outlook)
    Mais ce n'est pas dans JavaScript que tu trouvera une solution.

    Le seul cas où JS peu envoyer un Mail c'est lorsque JS est utilisé côté Serveur avec Node.js par exemple.
    dans ce cas le forum est "JavaScript côté serveur"

    A+JYT

  7. #7
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Bah, je sais quand même ce que je fais : mon code est bien du JAVASCRIPT qui utilise l'activeX "CDO.Message".
    Ce code est appelé à partir d'un HTML et est situé dans une fichier JS inclus à mon fichier HTML.

    Ce code fonctionne parfaitement depuis des années, il y ajuste de temps en temps un saut de ligne ajouté dans le corps du message sans que l'on ne sache pourquoi.

    On ne se rend compte de ce saut de ligne qu'à l'arrivée de l'email, dans une machine configurée pour traiter les mails arrivant en brut.

    Je pensais (mal, a priori) qu'il pouvait s'agir d'une option, d'une instruction, à ajouter dans mon code, c'est pour cela que j'ai posté ma question dans cette section.

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Ton JavaScript utilise un ActiveX CDO.message
    celui-ci se connecte sur le service de messagerie de ton PC

    lorsque tu appelles la méthode Send ton JavaScript, envoie au service de messagerie une structure de donnée (propre à CDO.Message)
    Le service de messagerie transforme la structure de donnée qu'il a reçue en mail
    et l'envoie au serveur de messagerie en utilisant le protocole d'échange configuré sur ton PC
    (Si c'est exchange ce ne sera pas SMTP) et c'est le serveur de messagerie qui le route via SMTP s'il faut passer par les relais internet, ou directement dans le récipient du destinataire si celui-ci est hébergé sur le même serveur.

    Donc JavaScript n'envoie pas le Mail (JavaScript en est incapable). Il ne construit pas le message
    C'est le client de messagerie de ton PC qui fait ça via OLE/COM

    comme je le disais, il ne faut pas confondre le JavaScript qui déclenche l'action
    Et le service de messagerie, ou le serveur qui exécute l'action.

    Donc si tu veux de l'aide sur CDO.message l'endroit le plus approprié est la doc de Microsoft, les forums OLE/COM, et enfin les forums VB car c'est dans VB qu'on trouve le plus souvent l'usage d'activex.

    Si tu fais une recherche de CDO.message sur les forums tu vas trouver plein de choses dans macro VBA, dans VB, dans Windows. etc.

    A+JYT

  9. #9
    Membre actif Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 320
    Points : 286
    Points
    286
    Par défaut
    Ok, je comprends mieux, je vais creuser, merci.

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

Discussions similaires

  1. Eviter les sauts de ligne dans chaîne concaténée
    Par Carlozi dans le forum Langage
    Réponses: 7
    Dernier message: 06/08/2008, 14h45
  2. problème avec les sauts de ligne dans une string
    Par hexdoc dans le forum Langage
    Réponses: 6
    Dernier message: 02/05/2008, 15h28
  3. Comment supprimer les sauts de ligne dans un String ?
    Par pathfinder06 dans le forum Langage
    Réponses: 5
    Dernier message: 28/02/2008, 11h40
  4. ETAT - Ignorer les sauts de ligne dans un champ mémo
    Par superseba888 dans le forum Access
    Réponses: 4
    Dernier message: 14/08/2006, 02h27
  5. [VBA-E] Insertion d'un saut de ligne dans un mail automatique
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 10/05/2006, 17h58

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