Commande sendmail et pieces jointes

Commande sendmail et pieces jointes - Perl - Programmation

Marsh Posté le 04-09-2006 à 10:33:16    

Bonjour,
 
Nous avons un petit problème avec la commande sendmail. Nous aimerions envoyer des mails avec pieces jointes à des destinataires. Pour envoyer vers l'exterieur, nous sommes obligé de redéfinir le champ From:  
(il faut un destinataire connu)
 
La commande sendmail suivante fonctionne avec piece jointe :
 

Code :
  1. uuencode test.js test.xls | sendmail -t toto@mail.com <mailto:tata@mail.fr>


 
Pour redéfinir le From: et afin d'intégrer ça dans un shell, nous avons fait un perl, le suivant :

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. my $from = "Un_Utilisateur";
  4. my $sendmail = "/usr/lib/sendmail -t -f $from";
  5. open(MAIL, "| $sendmail" ) or die "Can't open $sendmail: $!\n";
  6. print MAIL "From: <$from>\n";
  7. print MAIL "Reply-to: $from\n";
  8. print MAIL "To: $ENV{TO_MESSAGE}\n";
  9. print MAIL "Cc: $ENV{COPY_MESSAGE}\n";
  10. print MAIL "Subject: $ENV{SUJET_MESSAGE}\n";
  11. print MAIL "\n";
  12. print MAIL "$ENV{MESSAGE}.";
  13. close(MAIL);
  14. exit;


 
Les variables d'environnement SUJET_MESSAGE, TO_MESSAGE et COPY_MESSAGE sont instanciées dans le shell appelant le perl. Ici, je ne vois pas comment intégrer le uuencode dans le perl.
 
Auriez vous une idée sur comment intégrer le uuencode par rapport au perl ? Y a t-il moyen de faire plus simple en shell ?
 
Merci

Reply

Marsh Posté le 04-09-2006 à 10:33:16   

Reply

Marsh Posté le 06-09-2006 à 13:12:03    

Merci pour votre aide...

Reply

Marsh Posté le 07-09-2006 à 15:09:28    

Tu peux peut être essayer de passer par le module Mime::Lite.

Reply

Marsh Posté le 11-09-2006 à 10:50:33    

gen2 a écrit :

Tu peux peut être essayer de passer par le module Mime::Lite.


 
Perso, j'utilise Mail::Sender qui marche très bien


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed