Question

Je trouve difficile de croire que cette question n'existe pas, mais je ne pouvais pas trouver une instance ou un similaire pour Perl ....

De toute façon, ce module Perl dois-je utiliser pour joindre plusieurs fichiers à un courrier électronique?

À l'heure actuelle, je suis en utilisant ce code pour envoyer un e-mail avec une seule pièce jointe, mais je ne pouvais pas comprendre comment le modifier pour gérer plusieurs pièces jointes:

my $mail_fh = \*MAIL;
open $mail_fh, "|uuencode $attachment $attachment |mailx -m -s \"$subject\" -r $sender $recipient";
print $mail_fh $message;
close($mail_fh);

ce bloc de code peut être modifié pour gérer plusieurs pièces jointes? Ou dois-je utiliser un module spécial pour retirer ceci? Si oui, quel est le module et comment serait script que je sortir?

Merci pour toute aide!

Était-ce utile?

La solution

J'ai fini par aller avec un exemple en utilisant MIME::Lite trouvé ici

use MIME::Lite;
use Getopt::Std;

my $SMTP_SERVER = 'smtp.server.com';             #change
my $DEFAULT_SENDER = 'default@sender.com';       #change
my $DEFAULT_RECIPIENT = 'default@recipient.com'; #change

MIME::Lite->send('smtp', $SMTP_SERVER, Timeout=>60);

my (%o, $msg);

# process options

getopts('hf:t:s:', \%o);

$o{f} ||= $DEFAULT_SENDER;
$o{t} ||= $DEFAULT_RECIPIENT;
$o{s} ||= 'Files';

if ($o{h} or !@ARGV) {
    die "usage:\n\t$0 [-h] [-f from] [-t to] [-s subject] files ...\n";
}

# construct and send email

$msg = new MIME::Lite(
    From => $o{f},
    To   => $o{t},
    Subject => $o{s},
    Data => "Data",
    Type => "multipart/mixed",
);

while (@ARGV) {
  $msg->attach('Type' => 'application/octet-stream',
               'Encoding' => 'base64',
               'Path' => shift @ARGV);
}

$msg->send(  );
exemple

utilisation:

./notify_mime.pl -f cheese -t queso -s subject /home/id/cheeseconqueso/some_dir/example1.xls /home/id/cheeseconqueso/some_other_dir/*.xls

Autres conseils

Voir attach_file Email :: Stuff ou E-mail :: MIME si vous avez besoin de plus de contrôle.

En dépit de plus mitigé, j'ai trouvé Mail :: Sender (et il est pal mail :: Sender :: Facile ) bon darn et facile à utilisation et ressemble il peut gérer plusieurs pièces jointes.

Je trouve l'interface extrêmement gênant dans Mail: :. Internet

Tout devrait être mieux que ce que vous avez ci-dessus, cependant. : -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top