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 Perl Discussion :

Problème Variable lors de l'envoi d'email par script


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème Variable lors de l'envoi d'email par script
    Bonjour,

    J'ai un souci lors de l'interprétation du @ dans une variable.

    J'exécute une sub pour l'envoi d'emails dans de mes scripts :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sub sendemail
    {
    	my ($to, $from, $subject, $message) = @_;
    	my $sendmail = '/usr/sbin/exim4';
    	open(MAIL, "|$sendmail -oi -t");
    	print MAIL "From: $from\n";
    	print MAIL "To: $to\n";
    	print MAIL "Subject: $subject\n\n";
    	print MAIL "$message\n";
    	close(MAIL);
    }
    Voici la commande qui exécute la sub :
    &sendemail($useremail, 'toto@toto.ch', "subject 2", "test2");

    Le problème c'est que le @ dans ma variable $useremail est interprété comme un array... Ce qui est normal ... Comment faire pour qu'il soit interpréter comme un simple caractère ?

    Salutations

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 211
    Points
    211
    Par défaut
    Les déclarations suivantes fonctionnent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $usermail = 'toto@unendroit.fr';
    my $usermail = "toto\@unendroit.fr";
    'expression' inhibe l'évaluation de expression avant l'exécution proprement dire.
    \ "escape" le caractère suivant et évite qu'il soit interprété en tant que caractère spécial..

    Sinon dans un de tes appels avant tu veux "escaper" ton @, tu peux utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $usermail =~ s/\@/\\\@/;
    Bref, ça dépend d'où vient ta variable $usermail.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2014, 13h20
  2. Réponses: 2
    Dernier message: 04/02/2009, 20h50
  3. Erreur de variable lors de l'envoi du form
    Par Lenezir dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/02/2009, 15h54
  4. probléme d'idIMAP et idSMTP (envoi d'email)
    Par touf35 dans le forum C++Builder
    Réponses: 0
    Dernier message: 28/12/2008, 23h38
  5. Problème aléatoire lors de l'envoi d'un mail
    Par exclusif dans le forum VB.NET
    Réponses: 7
    Dernier message: 31/07/2007, 18h55

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