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

Modules Perl Discussion :

perl-MIME-Lite n'envoie plus d'e-mail : prérequis ?


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 57
    Points
    57
    Par défaut perl-MIME-Lite n'envoie plus d'e-mail : prérequis ?
    Bonjour,
    Pour démarrer en Perl, j'ai créé un petit script destiné à envoyé des mails. Aucun souci sous Mandrake 10.1.
    Je viens de réinstaller une nouvelle version de Linux (Mandriva 2006), et mon script "testmail.pl" ne marche plus.
    Il affiche "Sending e-mail..." plus plus rien.

    J'ai pourtant nstallé :
    - ActivePerl-5.8.7.815-i686-linux-2.2.17-gcc-211909.rpm (perl -v affiche "perl v5.87 built for i386-linux")
    - perl-MIME-Lite-3.01-6mdk.src.rpm

    J'étais convaincu que l'installation de "perl-MIME" suffisait pour envoyer des mails sous Perl, j'ai du louper quelque chose...
    J'ai donc ajouté deux packages Linux "ssmtp-2.60.7-2mdk.i586.rpm" et "sendmail-8.13.4-6mdk.i586.rpm" ,
    mais cela ne change rien.

    Pourriez-vous m'expliquer de quoi a besoin un script Perl avec MIME-Lite pour émettre des e-mails via smtp ?

    D'avance merci.

    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
     
    #!/usr/bin/perl -w
    use strict;
     
    # Perl modules
    use MIME::Lite;
     
    # Long options
    use Getopt::Long;
     
    our $From = ""; our $To = ""; our $Cc = ""; our $Subject =""; our $Line1 = "";
     
     
    #---------------------------------------------------------------------------
    # Fonctions
    #---------------------------------------------------------------------------
    sub Send_Mail_Simple; 
     
     
    #---------------------------------------------------------------------------
    # Main
    #---------------------------------------------------------------------------
     
    print "Sending e-mail...\n";
    $Subject = "Sujet";
    $Line1 = "1";			
    Send_Mail_Simple();
     
    exit;
     
    #---------------------------------------------------------------------------
    # Sub Send_MailSimple
    #---------------------------------------------------------------------------
    sub Send_Mail_Simple() {
    use MIME::Lite;
    my $Msg = new MIME::Lite	 
    	From	=>$From,
    	To	=>$To,
    	Cc	=>$Cc,
    	Subject	=>$Subject,
    	Type	=>'TEXT',
    	Data	=>$Line1;
    $Msg -> send;
    }

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    A priori, tu as besoin de sendmail, mais il faut aussi l'avoir configuré j'imagine, tu l'as fait ? Et as-tu essayé de désinstaller puis de réinstaller MIME-Lite après avoir installé Sendmail. Enfin as-tu vérifié que le nouveau Firewall de Mandrake ne bloque pas sendmail ?

    --
    Jedaï

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Jedai
    A priori, tu as besoin de sendmail, mais il faut aussi l'avoir configuré j'imagine, tu l'as fait ? Et as-tu essayé de désinstaller puis de réinstaller MIME-Lite après avoir installé Sendmail. Enfin as-tu vérifié que le nouveau Firewall de Mandrake ne bloque pas sendmail ?

    --
    Jedaï
    Bonsoir,
    Effectivement, le pb semble venir de sendmail dont le paramétrage est nok.
    Pour info, je n'utilise jamais sendmail => trop complexe à configurer.
    Ssous MDK 10.1 j'avais installé mailx, dont le sendmail fonctionnait sans pb.
    Mais sous Mandriva 2006, impossible de l'installer à cause d'un conflit avec nail...
    J'ai donc installé Postfix, et j'essaie de le configurer.

    Pour ceux qui n'envoient des mails que via un script Perl, est-il envisageable d'installer
    le module Perl-Sendmail, de manière à s'affranchir des packages "Postfix" ou "Sendmail" ?

    Merci.

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Moi personnellement j'utilise plutôt Net::SMTP pour envoyer mes mails. Et a priori, la doc de MIME::Lite indique clairement comment l'obliger à utiliser SMTP.

    --
    Jedaï

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Jedai
    Moi personnellement j'utilise plutôt Net::SMTP pour envoyer mes mails. Et a priori, la doc de MIME::Lite indique clairement comment l'obliger à utiliser SMTP.

    --
    Jedaï
    Effectivement Jedai, c'était bien dans la doc, mais je suis passé à côté
    Pour envoyer des mails avec MIME::Lite sans le support de packages type "postfix" ou "sendmail", il suffit d'ajouter
    cette ligne en début de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    use MIME::Lite;
    MIME::Lite->send('smtp', "monserveur.smtp", Timeout => 30);
    J'en ai profité pour essayer Net::SMTP qui fonctionne sans problème.
    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
     
    use Net::SMTP;
     
    my $smtp = Net::SMTP->new('192.168.200.1', Debug => 1, Timeout => 30);
    $smtp->mail('PCTEST');
    $smtp->to('desti@test.fr');
    $smtp->data();
    $smtp->datasend( <<'EOM' );
    From: PCTEST <test@test.fr>
    To: desti <desti@test.fr>
    Subject: testing mail from Perl!
     
    Ceci est un mail transmis par Perl.
    Module interne Net::SMTP
     
    signé : l'émetteur du msg.
    EOM
    $smtp->dataend();
    $smtp->quit();
    Dernière précision : j'ai testé Net::SMTP sans installer de module Perl supplémentaire.
    Comment savoir s'il s'agit d'une commande interne à Perl, ou s'il s'agit d'un module externe déjà
    installé par ma distribution Linux ?

    Merci.

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Net::SMTP est dans le Core, en général ActivePerl ne rajoute que les modules Win32 et Tk au Core. Mais pour en avoir le coeur net, voici une liste alphabétique des modules du Core : http://perldoc.perl.org/index-modules-A.html .

    Bien sûr cela signifie simplement que ces modules sont dans la distribution normale de Perl, il peut arriver que la version de Perl soit trop vieille ou que ce soit une version "allégée", mais pas dans les cas usuels.

    --
    Jedaï

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Jedai
    Net::SMTP est dans le Core, en général ActivePerl ne rajoute que les modules Win32 et Tk au Core. Mais pour en avoir le coeur net, voici une liste alphabétique des modules du Core : http://perldoc.perl.org/index-modules-A.html .

    Bien sûr cela signifie simplement que ces modules sont dans la distribution normale de Perl, il peut arriver que la version de Perl soit trop vieille ou que ce soit une version "allégée", mais pas dans les cas usuels.

    --
    Jedaï
    C'est plus clair. Une fois encore, merci pour la précision de tes réponses.

    A+

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

Discussions similaires

  1. qMail n'envoi plus à certaines adresses mail
    Par sami_c dans le forum OVH
    Réponses: 0
    Dernier message: 02/01/2012, 13h16
  2. perl mime lite
    Par donny dans le forum Langage
    Réponses: 1
    Dernier message: 30/10/2008, 10h51
  3. Envoi de mail avec le module MIME::Lite
    Par MikeMeilleur dans le forum Modules
    Réponses: 4
    Dernier message: 23/02/2008, 21h04
  4. Perl + module MIME::Lite et AIX
    Par kei-kun dans le forum Modules
    Réponses: 1
    Dernier message: 29/08/2007, 07h36
  5. Réponses: 6
    Dernier message: 16/03/2006, 12h17

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