RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 perl send mail - fenêtre TK

Forum : PERL
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ PERL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM PERL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
hess_ch
Nouveau membre
Inscrit : 07/02/2010
Messages : 1
Message
#168387
Posté le 07/02/10 à 17:59
j'ai un problème avec l'envoie de mail avec "Lite" dans une interface graphique avec "TK".

Mon programme liste les fichier, dans un fichier, tout les fichiers qui se trouvent dans le dossier ainsi que les sous dossiers. Ce fichier est en suite envoyé par smtp aux destinataire que l'on désire via l'interface graphique.

voici le code:

#!/usr/local/bin/perl

use Tk; #Utilisation de Tk
use MIME::Lite;
#use Net::SMTP;

#Création de la fenêtre principale
$fen = MainWindow->new();

#Définition de la taille min de la fenêtre
$fen->minsize('500','400');

#Définition du title de la fenêtre
$fen->title("Interface Tk avec Perl");

#Création de la barre de menu
$barre_menu = $fen->Frame(-relief => 'groove' , -borderwidth => 2);

#Création de la barre du menu général
$menu_gen = $barre_menu->Menubutton(
-text => 'Application' ,
-font => '{Garamond} 10',
-tearoff => 0 ,
-menuitems => [
[ 'command' ]
]
);

#Affichage du menu général à gauche
$menu_gen->pack(-side => 'left');

#Affichage de la barre de menu en haut de la fenêtre
$barre_menu->pack(-side => 'top', -anchor => 'n', -fill => 'x');

#Création de notre barre de statut à l'aide d'un Label
$barre_statut = $fen->Label(-relief => 'groove', -text => "Hello World", -font => '{Garamond} 10');

# nom
$n01 = 'Christian';
$n02 = 'Marc';
$n03 = 'Cyril';

#Création d'un label qui affichera le résultat de la sélection
$fen->Label(
-relief => 'groove',
-textvariable => $selectValue, #Variable contenant l'option dans la liste de sélection
-font => '{Garamond} 10'
)->pack(
-fill => 'both',
-padx => '5',
-pady => '5'
);
#Création de la liste de sélection
$fen->Optionmenu(
-options => [ $n01, $n02, $n03, ],
-command => sub {
#print "choix : ", @_, "n"
nom(@_);
}, #procédure de nom
-textvariable => $selectValue #Définition de la variable qui récupère la sélection
)->pack();

#Ajout de notre bouton à la fenêtre
$fen->Button(
-text => 'Send', #Texte du bouton
-font => '{Garamond} 10', #Nom et taille de la police utilisée
-command => &clic #Action qui modifie notre variable
)->pack(
-pady => '5', #Marge externe du bouton
-padx => '5',
-ipady => '5', #Marge interne du bouton
-ipadx => '5',
);

# Create three Radiobuttons in Frame widget $f1
# Link them using $favcolor
foreach (qw/vtx bluewin free/) {
$fen->Radiobutton(-text => $_, -variable => $choixsmtp,
-value => $_)->pack(-fill => 'x', -expand=>1, -anchor => 'w');
}

#On l'ajoute en bas de la fenêtre afin de lui donner l'effet barre de statut
$barre_statut->pack( -side => 'bottom', -fill => 'both');

MainLoop;

#Définition de notre fonction de fermeture de l'application
sub Quitter
{
exit(0);
}

#Définition de notre fonction de fermeture de l'application
sub nom
{
#print "choix : ", @_, "n";
$nom = @_[0];
#print "choix : $nom n";
#$barre_statut -> configure ( -text => "nom") ;
#$barre_statut -> configure ( -text => $nom) ;

if( $nom == $n01 )
{
$barre_statut -> configure ( -text => $nom)
}
elsif( $nom == $n02 )
{
$barre_statut -> configure ( -text => $nom)
}
elsif( $nom == $n03 )
{
$barre_statut -> configure ( -text => $nom)
}
else
{
print "choix : de condition inconnuen";
}
print "choixsmtp : $choixsmtpn";
}

my $Repertoire = ".";
my @LesFichiers = ListersFichiers($Repertoire);

#liste
my $txtnom = "liste.txt";
open OUT, ">$txtnom" or die "$!";

my @liste;

my $taille = scalar(@liste);
my $i = 0;
my $ligne;

while ($i<$taille){
$ligne = $liste[$i];
#print "$lignen";
print OUT "$lignen";
$i++;
}

close OUT;

#smtp

my $smtpnom = 'smtp.vtxnet.ch'; # serveur smtp du réseau
my $smtpto = "xxx@gmail.com, xxx@hotmail.com"; # to
my $smtpcc = "xxx@vtxnet.ch"; # cc
my $smtpfrom = "xxx@vtxnet.ch"; # de
my $smtpsujet = "liste.txt";
my $smtptxt = $txtnom;

my $message_body = "ceci est la liste de mes fichiers du répertoire où est lancé l'application.";



#======================================================
# Nombre d'arguments : 1
# Argument(s) : un répertoire ($repertoire)
# Retourne : Tableau de fichier (@fichiers)
#======================================================
sub ListersFichiers {
my ( $repertoire ) = @_;
my @fichiers;

# Ouverture d'un répertoire
opendir (my $FhRep, $repertoire)
or die "impossible d'ouvrir le répertoire $repertoiren";

# Liste fichiers et répertoire sauf (. et ..)
my @Contenu = grep { !/^..?$/ } readdir($FhRep);

# Fermeture du répertoire
closedir ($FhRep);

# On récupère tous les fichiers
foreach my $nom ( @Contenu ) {
# Fichiers
if ( -f "$repertoire/$nom") {
push ( @fichiers, "$repertoire/$nom" );
push ( @liste, "$nom" );
}
# Repertoires
elsif ( -d "$repertoire/$nom") {
# recursivité
push ( @fichiers, ListersFichiers("$repertoire/$nom") );
}
}

return @fichiers;
}

#Définition de notre fonction de fermeture de l'application
sub clic
{

my $smtp;

### Create the multipart container
$smtp = MIME::Lite->new (
From => $smtpfrom,
To => $smtpto,
Cc => $smtpcc,
Subject => $smtpsujet,
Type =>'multipart/mixed'
) or die "Error creating multipart container: $!n";

### Add the text message part
$smtp->attach (
Type => 'TEXT',
Data => $message_body
) or die "Error adding the text message part: $!n";


### Add the text file
$smtp->attach (
Type => 'application/text',
Path => $smtptxt,
Filename => $smtptxt,
Disposition => 'attachment'
) or die "Error adding $smtptxt: $!n";


### Send the Message
MIME::Lite->send('smtp', $smtpnom, Timeout=>60);
$smtp->send("smtp");
$barre_statut -> configure ( -text => "Clic") ;
}


mon problème se situe dans la fonction clic au niveau de l'envoie du mail à la ligne:
$smtp->send("smtp");

J'ai essayé:
$smtp->send();

mais la non plus ça ne marche pas.

Alors je vous demande votre aide pour résoudre le problème.

D'avance Merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 


    PAGE : [1]



.: Site Web développé par Yann Pingot et l'équipe MPWG avec www.evolvia-web.com :.