net::smtp

Le
kurtz_le_pirate
bonjour,

je n'arrive pas à mettre plusieurs destinataires à un mail.
les quelques lignes du script :

use constant SMTP_SERVER => 'monserveur.mondomaine.com'; # mailServer
use constant SMTP_FROM => 'moi@mondomaine.com'; # mailFrom
use constant SMTP_TO => 'toi@mondomaine.com'; # mailTo
use constant SMPT_SUBJECT => 'snapshots en cours'; # mailSubject


my $mySmtp = Net::SMTP->new(SMTP_SERVER) or die "Net::SMTP->new()
error : $!";
$mySmtp->mail(SMTP_FROM);
$mySmtp->to(SMTP_TO);
$mySmtp->data();

$mySmtp->datasend("From: ",SMTP_FROM,"");
$mySmtp->datasend("To: ",SMTP_TO,"");
$mySmtp->datasend("Subject: ",SMPT_SUBJECT,"");
$mySmtp->datasend("");



une seule adresse dans SMTP_TO marche bien. deux ou plus, plus rien
:((
j'ai essayé les virgules, point-vrigules, les angles rien n'y fait
et je n'ai trouvé aucun exemple de destinataires multiples sur le web.


une idée ?
merci

--
klp
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jogo
Le #145057
Sur fr.comp.lang.perl, kurtz_le_pirate disait :

j'ai essayé les virgules, point-vrigules, les angles... rien n'y fait
et je n'ai trouvé aucun exemple de destinataires multiples sur le web.


une idée ?


C'est dommage que tu ne nous donnes que la version pour un destinataire
et pas celle qui te pose problème.

Mon idée c'est :

use constant SMTP_TO => qw( );
...
$mySmtp->to(SMTP_TO);
...
$mySmtp->datasend("To: ",join(","SMTP_TO),"n");

Mais je n'ai pas testé.

--
A wife lasts only for the length of the marriage, but an ex-wife is
there *for the rest of your life*.
-- Jim Samuels*

kurtz_le_pirate
Le #145055
"Jogo"
Sur fr.comp.lang.perl, kurtz_le_pirate disait :

j'ai essayé les virgules, point-vrigules, les angles... rien n'y
fait
et je n'ai trouvé aucun exemple de destinataires multiples sur le
web.


une idée ?


C'est dommage que tu ne nous donnes que la version pour un
destinataire
et pas celle qui te pose problème.


j'ai essayé :
use constant SMTP_TO => ', ';
use constant SMTP_TO => ' use constant SMTP_TO => '; ';



Mon idée c'est :

use constant SMTP_TO => qw(
);
...
$mySmtp->to(SMTP_TO);
...
$mySmtp->datasend("To: ",join(","SMTP_TO),"n");

Mais je n'ai pas testé.


je vais essayer. merci


kurtz_le_pirate
Le #144947
"Jogo"

Mon idée c'est :

use constant SMTP_TO => qw(
);
...
$mySmtp->to(SMTP_TO);
...
$mySmtp->datasend("To: ",join(","SMTP_TO),"n");

Mais je n'ai pas testé.


effectivement, ton idée corrigée :
$mySmtp->datasend("To: ",join(",",SMTP_TO,"n"));

fonctionne mais cela n'explique pas pourquoi :
SMTP_TO => ",,";

ne fonctionne pas !!!

--
klp

Patrick Mevzek
Le #144945
fonctionne mais cela n'explique pas pourquoi :
SMTP_TO => ",,";

ne fonctionne pas !!!


Parce que le @ joue un rôle particulier (les tableaux !) et qu'il est
interpolé dans les chaînes entre ".
Un use strict vous préviendra :

perl -e 'use strict; print ""'
Global symbol "@titi" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.

Changez les " en ' et cela fonctionnera.

--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
Dépêches sur le nommage
Patrick Texier
Le #144944
Le Thu, 31 May 2007 15:49:51 +0200, kurtz_le_pirate a écrit :

fonctionne mais cela n'explique pas pourquoi :
SMTP_TO => ",,";

ne fonctionne pas !!!


Et en testant l'erreur à la fin ?

kurtz_le_pirate
Le #144943
Patrick Mevzek" message de news:
fonctionne mais cela n'explique pas pourquoi :
SMTP_TO => ",,";

ne fonctionne pas !!!


Parce que le @ joue un rôle particulier (les tableaux !) et qu'il
est
interpolé dans les chaînes entre ".
Un use strict vous préviendra :

perl -e 'use strict; print ""'
Global symbol "@titi" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.


??? ci dessous le début de mon script :
#!/usr/bin/perl
use strict;
use warnings;

use Net::SMTP;

...
...

j'utilise déjà (toujours) le strict+warnings et je n'ai pas ce genre
d'erreur qui remonte


Changez les " en ' et cela fonctionnera.
déjà essayé et ne fonctionne pas.



--
klp


Jogo
Le #144942
Sur fr.comp.lang.perl, kurtz_le_pirate disait :

effectivement, ton idée corrigée fonctionne


Désolé. Je l'avais vue, mais je n'ai pas de supersedes sur Sylpheed :(

mais cela n'explique pas pourquoi :
SMTP_TO => ",,";
ne fonctionne pas !!!


Pour la même raison que :
perl -e 'use constant FL => "un,deux" ; print join(":",FL)'
n'affiche pas la même chose que :
perl -e 'use constant FL => un,deux ; print join(":",FL)'

--
Like the ski resort of girls looking for husbands and husbands looking
for girls, the situation is not as symmetrical as it might seem.
-- Alan McKay

Publicité
Poster une réponse
Anonyme