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

Langage PHP Discussion :

Problème d'envoie de mail (\n)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Par défaut Problème d'envoie de mail (\n)
    Bonjour,

    j'ai un code qui me permait d'evoyer un mail sous VB.net en appelant un fichier php:

    Sur ma form en vb.net:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim mailcorps As String
            mailcorps = Replace(TextCorps.Text, Chr(10), "\n")
     
            mailcorps = "message=" & mailcorps
     
            WebBrowser1.Navigate("http://www.example.com/mailsending.php?" & mailcorps)
        End Sub
    et dans "mailsending.php" :
    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
    <html>
    <BODY>
     
    <?php
     $to = "example@hotmail.com";
     $subject = "Test";
     $message = $_GET['message'] ;
     
     if (mail($to, $subject, $message)) {
    echo("<p>Message envoyé.</p>");
      } else {
       echo("<p>Un problème est survenu lors de l'envois du message...</p>");
      }
     ?>
    </BODY>
    </html>
    Le problème concerne les nouvelles lignes (Enter).
    Lorsque je reçois le mail, au lieu d'obtenir ceci
    Boujour
    Test
    j'obtiens cela:
    Bonjour\\nTest
    Savez-vous comment régler ce problème?

    Merci d'avance.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    normale tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailcorps = Replace(TextCorps.Text, Chr(10), "\n")

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Par défaut
    Si je ne fais pas cette ligne de code, il va simplement supprimer les Enter.
    J'ai besoin de voir les Enter.

    J'ai aussi remarqué que quand j'écris un ' (ex.: j'ai), ça me donne \'

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par Eric_M Voir le message
    Si je ne fais pas cette ligne de code, il va simplement supprimer les Enter.
    J'ai besoin de voir les Enter.

    J'ai aussi remarqué que quand j'écris un ' (ex.: j'ai), ça me donne \'
    c'est pas \n mais %0A si tu veux faire un saut de ligne via GET, pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive, sois tu fait un stripslashes (je te conseil la 1er option), tu devrais plutot utiliser POST que GET, il faudrais d'ailleur que toute ta valeur soit encoder suivant la norme RFC 3986 avec Uri.EscapeDataString

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    c'est pas \n mais %0A
    Merci beaucoup, ça fonctionne maintenant.
    Pour un ' et un &, c'est quoi les codes (s'ils existent)

    Citation Envoyé par stealth35 Voir le message
    si tu veux faire un saut de ligne via GET, pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive,
    Comment on désactive ça?

    Citation Envoyé par stealth35 Voir le message
    tu devrais plutot utiliser POST que GET,
    Pour utiliser POST, on ne fait que changer $erreur = $_GET['erreur'] ; pour $erreur = $_POST['erreur'] ;?
    Si c'est cela, ça ne marche pas pour moi.

    Citation Envoyé par stealth35 Voir le message
    il faudrais d'ailleur que toute ta valeur soit encoder suivant la norme RFC 3986 avec Uri.EscapeDataString
    Quand j'utilise Uri.EscapeDataString() (Avec GET), il n'y a pas de texte.

  6. #6
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Citation Envoyé par Eric_M
    Pour un ' et un &, c'est quoi les codes ?
    & = %26

    ' = %27

    Citation Envoyé par Eric_M
    Citation Envoyé par stealth35
    pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive, sois tu fait un stripslashes (je te conseil la 1er option)
    Comment on désactive ça ?
    Voir la documentation PHP Désactiver les guillemets magiques

    Citation Envoyé par stealth35
    tu devrais plutot utiliser POST que GET
    +1

    Pour utiliser POST, on ne fait que changer $erreur = $_GET['erreur'] ; pour $erreur = $_POST['erreur'] ; ?
    Pour la récupération des données oui.

    Par contre, concernant l'envoi de ces données en utilisant la méthode POST avec VB.NET, je ne saurais te répondre... Je ne connais pas ce langage.

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

Discussions similaires

  1. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 17h45
  2. Réponses: 3
    Dernier message: 12/02/2007, 19h39
  3. Réponses: 3
    Dernier message: 11/10/2006, 11h50
  4. Problème avec envoi de mail et fichier joint
    Par LFC dans le forum Modules
    Réponses: 5
    Dernier message: 20/05/2006, 21h59

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