Ich arbeite mit Perl unter Windows. Ich werde versuchen, Mails zu senden mit E-Mail::Absender Modul. Aber ich konnte das Modul nicht installieren für E-Mail::Absender .
Antworten
Zu viele Anzeigen?Ich nehme an, Sie meinen das CPAN-Modul Email::Sender
(Perl unterscheidet zwischen Groß- und Kleinschreibung) und nicht ein anderes Modul, das nicht in CPAN enthalten ist, dann verwenden Sie den Paketinstaller, der mit Ihrer Perl-Distribution geliefert wurde.
In den meisten Fällen wird dies der Fall sein:
cpan Email::Sender
Es gibt mehr Details und Methoden verlinkt aus dem Abschnitt "Erste Schritte" auf der CPAN-Homepage .
Ich habe cpan Email::Sender
Befehl, und die Ausgabe ist dann wie folgt:
CPAN: Storable loaded ok
Going to read /home/user name/.cpan/Metadata
Database was generated on Wed, 04 Apr 2012 09:59:04 GMT
Running install for module Email::Sender
Running make for R/RJ/RJBS/Email-Sender-0.110005.tar.gz
CPAN: Digest::MD5 loaded ok
CPAN: Compress::Zlib loaded ok
Checksum for /home/user name/.cpan/sources/authors/id/R/RJ/RJBS/Email-Sender
-0.110005.tar.gz ok
Scanning cache /home/user name/.cpan/build for sizes
sh: /home/user: No such file or directory
/bin/tar: This does not look like a tar archive
/bin/tar: Exiting with failure status due to previous errors
Uncompressed /home/user name/.cpan/sources/authors/id/R/RJ/RJBS/Email-Sender
-0.110005.tar.gz successfully
Using Tar:/bin/tar xvf /home/user name/.cpan/sources/authors/id/R/RJ/RJBS/Em
ail-Sender-0.110005.tar:
/bin/tar: /home/user: Cannot open: No such file or directory
/bin/tar: Error is not recoverable: exiting now
Couldn't untar /home/user name/.cpan/sources/authors/id/R/RJ/RJBS/Email-Send
er-0.110005.tar
Obwohl Email::Sender
eine schöne und einfache Befehlsstruktur hat, ist es nicht Teil der Standard-Perl-Installation. Wie auch immer, Netz::SMTP ist.
Ja, Net::SMTP
ist etwas komplizierter zu benutzen, aber Sie haben es wahrscheinlich schon installiert, und wenn Ihre Perl-Skripte auf verschiedenen Rechnern benutzt werden - auch auf Rechnern, auf denen die Installation von CPAN-Modulen nicht möglich ist - ist es eine Komplikation weniger, mit der Sie sich auseinandersetzen müssen.
Wenn Sie wirklich lieber Email::Sender
können Sie es installieren, je nachdem, welche Art von Perl-Installation Sie haben. Wenn Sie ActiveState haben, können Sie den Perl-Paketmanager (im Startmenü unter ActiveState) verwenden, um die Email::Sender
für Sie.
Versuchen Sie anhand Ihrer Fehlermeldungen zunächst, Folgendes zu installieren Archive::Tar
y Compress::Zlib
und sehen Sie, ob das bei der Installation von Email::Sender
.
Wenn nicht, und Sie haben 7Zip installiert ist, gehen Sie zum /home/user name/.cpan/sources/authors/id/R/RJ/RJBS
und dekomprimieren Sie die Datei manuell Em ail-Sender-0.110005.tar
mit 7Zip. Wenn das nicht funktioniert, gehen Sie auf die CPAN-Seite für E-Mail::Absender Laden Sie den gepackten Tar-Ball manuell herunter und entpacken Sie ihn mit 7Zip.
Sobald dies geschehen ist, müssen Sie die folgenden Befehle manuell ausführen:
C> perl Makefile.PL
C> nmake
1
C> nmake test
C> nmake install
Das ist schließlich die Aufgabe von CPAN.
Noch etwas: Werfen Sie einen Blick auf meine svn-watch.pl Programm. Um Zeile #767 herum befindet sich ein aktuelles Beispiel für die Verwendung von Net::SMTP
. Ich verwende auch Mail::Sendmail
das ein weiteres Perl-E-Mail-Modul ist, da einige Websites Probleme mit Net::SMTP
Ich gebe ihnen also die Möglichkeit, die Mail::Sendmail
stattdessen. Sie können die Logik sehen, die ich verwende, um zu bestimmen, ob Mail::Sendmail
installiert ist, und wenn ja, diese zu verwenden. Wenn Mail::Sendmail
nicht installiert ist, verwende ich standardmäßig Net::SMTP
. Diese Testlogik befindet sich in den Zeilen 739 bis 742.
Ich hoffe, das hilft.
1. Der Befehl kann entweder nmake
o make
abhängig von Ihrer Perl-Distribution.