Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3029 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  perl et envoi de mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

perl et envoi de mail

n°1533498
donny3
Posté le 26-03-2007 à 09:02:50  profilanswer
 

salut,
 
J'utilise se script perl pour envoyer un mail

Code :
  1. #!/usr/bin/perl
  2. sub email;
  3. email "from\@domaine.tld","to\@domaine.tld","test","ligne 1\nligne 2\n";
  4. # suivant votre configuration, il peut être nécessaire de changer le chemin vers
  5. sendmail (/usr/sbin/sendmail)
  6. sub email {
  7. my ($from,$to,$subject,$message)=@_;
  8.   eval{
  9.     open (MAIL, "|/usr/sbin/sendmail -t -oi -f \"$from\"" );
  10.     print MAIL ("To: $to\n" );
  11.     print MAIL ("From: $from\n" );
  12.     print MAIL ("Subject: $subject\n\n" );
  13.     print MAIL ("$message" );
  14.     close (MAIL);
  15.   };
  16. }


 
J'aurai voulu savoir si il etait possible de le modifier pour pouvoir joindre une pieces à mon mail ?
 
Merci à tous.

mood
Publicité
Posté le 26-03-2007 à 09:02:50  profilanswer
 

n°1533516
anapajari
s/travail/glanding on hfr/gs;
Posté le 26-03-2007 à 10:27:28  profilanswer
 

man sendmail [:spamafote]
option -attach pour une seul fichier ou -attachlist pour une list.
 
Mais perso je te recommanderais plutot d'utiliser des modules perl "qui vont bien" genre MIME::Lite ou Mail::Mailer

n°1533521
donny3
Posté le 26-03-2007 à 10:42:04  profilanswer
 

en faisant un man sendmail,
je ne vois pas -attach dans les options
j'ai modifier le code comme ceci mais rien ne se passe
???

Code :
  1. $attach="/home/temp/file.csv";
  2. email($from,$to,$subject,$message,$attach);
  3. #-attach
  4. sub email {
  5. my ($from,$to,$subject,$message,$attach)=@_;
  6.   eval{
  7.     open (MAIL, "|/usr/sbin/sendmail -t -oi -f -attach \"$from\"" );
  8.     print MAIL ("To: $to\n" );
  9.     print MAIL ("From: $from\n" );
  10.     print MAIL ("Subject: $subject\n\n" );
  11.     print MAIL ("$message" );
  12.     print MAIL ("Attach: $attach" );
  13.     close (MAIL);
  14.   };
  15. }


Message édité par donny3 le 26-03-2007 à 10:42:47
n°1533530
donny3
Posté le 26-03-2007 à 10:52:02  profilanswer
 

je viens d'essayer ne ligne de commande
et il ne reconnait pas les options
option -attach pour une seul fichier ou -attachlist pour une list

Citation :


/usr/sbin/sendmail: illegal option -- a

n°1533537
anapajari
s/travail/glanding on hfr/gs;
Posté le 26-03-2007 à 10:57:26  profilanswer
 

j'ai rien dit :o j'étais persuadé que tu avais l'option sur sendmail en fait non ...

 

Du coup tu es obligé de faire un truc dans le genre:

Code :
  1. uuencode "file to be attach" | sendmail ...


ou un truc dans le genre ...
Mais c'est vraiment pas un problème perl ton truc, à la limite tu auras plus de réponses dans OSA

 

edit: A moins que tu te décides à utiliser un module perl...


Message édité par anapajari le 26-03-2007 à 10:58:16
n°1533629
couak
Posté le 26-03-2007 à 13:13:06  profilanswer
 

un module perl sympa et simple à utiliser : mime::lite

n°1533649
donny3
Posté le 26-03-2007 à 13:30:26  profilanswer
 

ok
merci
le module perl j'en ai entendu parler
j 'ai vu des trucs dessus sur le net
mais la je peux pas l'installer
sinon dans mon cas j'ai essayer d'adapter le code perl
en y ajoutant cela
 
comme ceci

Code :
  1. open (MAIL, "uuencode '/home/temp/arc.csv'|/usr/sbin/sendmail -t -oi -f -attach \"$from\"" );


 
ça ne fonctionne pas trop
pour que ça fonctionne faudrait que je remodifie tout mon code
et n'utilise plus cette fonction
qui pourtant est bien pratique

n°1533666
anapajari
s/travail/glanding on hfr/gs;
Posté le 26-03-2007 à 13:42:39  profilanswer
 

c'est pas une fonction mais un appel à un programme installé sur le serveur, tu es donc forcément limité au fonctionnement de celui-ci [:spamafote]

n°1538790
donny3
Posté le 05-04-2007 à 09:34:31  profilanswer
 

pour MIME si jamais l'envoi de mail plante;
il se passe quoi ?
MIME envoi un message d'erreur sur le shell ?
j'ai la possibilité de recuperer le code retour de MIME ?
 
MErci

n°1538818
anapajari
s/travail/glanding on hfr/gs;
Posté le 05-04-2007 à 10:21:01  profilanswer
 

http://search.cpan.org/~yves/MIME- [...] _just_text

Citation :

send HOW, HOWARGS...
...
As an instance method with no arguments, sends the message by the default mechanism set up by the class method. Returns whatever the mail-handling routine returns: this should be true on success, false/exception on error:

Code :
  1. $msg = MIME::Lite->new(From=>...);
  2. $msg->send || die "you DON'T have mail!";



RTFM [:dawak]

Message cité 1 fois
Message édité par anapajari le 05-04-2007 à 10:21:57
mood
Publicité
Posté le 05-04-2007 à 10:21:01  profilanswer
 

n°1538853
Aricoh
gentil mais fo po pousser
Posté le 05-04-2007 à 11:39:28  profilanswer
 


Et en français : LCPDM  :D  


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°1546834
donny3
Posté le 23-04-2007 à 07:47:45  profilanswer
 

LCPDM ah ah
mais si je souhaite utiliser log4perl
le die ne peut etre utiliser

n°2143825
Lucie12345
Posté le 27-05-2012 à 10:25:05  profilanswer
 

Salut,
 
J'aurais besoin d'aide sur ton msg stp . J'ai collé ton msg sur gedit puis nommé le fichier test.pl, je l'ai compilé perl test.pl. J'ai vérifié que Sendmail chargé par les paquets synaptiques était dans sbin, j'ai changé les adresses dans email "*****\@hotmail.com". Mais quand je compile , ca me met un temps d'attente puis revient à la normal mais je recois rien dans ma boite mail. Je ne comprends pas je ne sais pas si j'ai oublié de faire quelque chose avant.  
 
Je te remercie de ton aide , c'est important pour moi
 
 
 

donny3 a écrit :

salut,
 
J'utilise se script perl pour envoyer un mail

Code :
  1. #!/usr/bin/perl
  2. sub email;
  3. email "from\@domaine.tld","to\@domaine.tld","test","ligne 1\nligne 2\n";
  4. # suivant votre configuration, il peut être nécessaire de changer le chemin vers
  5. sendmail (/usr/sbin/sendmail)
  6. sub email {
  7. my ($from,$to,$subject,$message)=@_;
  8.   eval{
  9.     open (MAIL, "|/usr/sbin/sendmail -t -oi -f \"$from\"" );
  10.     print MAIL ("To: $to\n" );
  11.     print MAIL ("From: $from\n" );
  12.     print MAIL ("Subject: $subject\n\n" );
  13.     print MAIL ("$message" );
  14.     close (MAIL);
  15.   };
  16. }


 
J'aurai voulu savoir si il etait possible de le modifier pour pouvoir joindre une pieces à mon mail ?
 
Merci à tous.


n°2143832
gilou
Modérateur
Modzilla
Posté le 27-05-2012 à 12:48:23  profilanswer
 

Avec le eval, il y a peu de chances que tu saches pourquoi ça échoue.
 
Il peut y avoir plusieurs causes:
- pas de login/password
- FAI qui bloque les mails de ses clients lorsque ceux-ci ne sont pas envoyés avec l'adresse qu'il a fourni (c'est le cas avec Orange)
- ?
 
Déjà, commences par utiliser un package de mail plus adapté comme Mail::Sendmail ou MIME::Lite.
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  perl et envoi de mail

 

Sujets relatifs
Probleme fonction mailComment générer une page PDF à partir d'un script Perl?
comment envoyer un mail HTML ?Aide script perl
Signature Mailcomment envoyer un mail (local en, easy PHP)sans nom de domaine..etc
[C] Client/Serveur : tchat, envoi à tous les clientsEnvoi de mail en ASP
[HTML/CGI] Formulaire avec envoi mail sans mailto: 
Plus de sujets relatifs à : perl et envoi de mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR