Jemand zu Hause?Leser: 21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
my $data_file="C:\\test\\test.txt";
open(DATA, $data_file) || die("Could not open the file");
my @file_content = DATA;
close(DATA);
my $smtp = Net::SMTP->new('company-smtp.net', Debug => 1, Timeout => 60) || print "couldn't create smtp obj: #$!";
$smtp->mail('ich@ich.com');
$smtp->to('ich@ich.com');
$smtp->data();
$smtp->datasend("To: Ich");
$smtp->datasend("From: Du");
$smtp->datasend("Subject: Testmail\n");
$smtp->datasend("MIME-Version: 1.0\n");
$smtp->datasend("Content-Disposition: attachment; filename=\"C:\\test\\test.txt\"\n");
$smtp->datasend("Content-Type: application/txt; name= test.txt ");
$smtp->datasend();
$smtp->datasend($file_content);
$smtp->dataend;
$smtp->quit;
MIME::Lite raten, da geht das mit den attachements etwas weniger umständlich.
use strict.
WasIsteinLexikalischerFileHandle kann auhc nicht schaden, ist aber erstmal nicht so dringend.
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem
MIME::Lite, dann kannst du auch die Mailheader und Anhänge korrekt erzeuigen.
Guest DanniFreue mich über jeden Tipp was ich da zwecks encoding machen muss für binäre Dateien.
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-ProblemGuest DanniFreue mich über jeden Tipp was ich da zwecks encoding machen muss für binäre Dateien.
1 2 3 4 5 6 7 8 9 10 11
sub BASE64_ENCODE { my $daten = shift; return '' unless $daten; use integer; my $out = join '', map( pack('u',$_)=~ /^.(\S*)/, ($daten =~/(.{1,45})/gs)); $out =~ tr|` -_|AA-Za-z0-9+/|; my $padding = (3 - length($daten) % 3) % 3; $out =~ s/.{$padding}$/'=' x $padding/e if $padding; $out =~ s/(.{1,76})/$1\n/g; $out; }
MIME::Base64, das ist seit 5.8 im core.
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ ack -cl MIME::Base64
lib/Net/SSH/Perl/Util/Hosts.pm:5
lib/Net/SSH/Perl/Key/RSA.pm:1
lib/Net/SSH/Perl/Key/DSA.pm:1
lib/Net/SSH/Perl/Key.pm:1
lib/Crypt/DSA/Signature.pm:2
lib/Crypt/DSA/Key/SSH2.pm:1
lib/Bundle/LWP.pm:1
lib/WWW/Mechanize/FAQ.pod:2
lib/HTTP/Message.pm:6
lib/HTTP/Headers.pm:3
lib/HTTP/Response.pm:3
lib/HTTP/Request/Common.pm:2
lib/URI/data.pm:1
lib/i486-linux-gnu-thread-multi/Digest/SHA.pm:2
lib/Module/CoreList.pm:18
lib/LWP/Authen/Basic.pm:2
lib/LWP/Authen/Ntlm.pm:1
lib/Convert/ASCII/Armour.pm:3
lib/Convert/PEM.pm:1
lib/Data/Dump.pm:4
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problemmy @file_content = DATA;
WasIsteinLexikalischerFileHandle an.my @file_content = <DATA>;
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-ProblemGuest DanniDas reicht aber leider nicht. Wenn ich das @file_content korrekt setze bekomme ich als Anhang an die Mail nicht mehr "test.txt" sondern "test.txt DATA"...komisch....aber auch diese Datei ist leer.
1 2 3 4
my $file_content = do { local $/; <DATA> }; # oder my @file_content = <DATA>; my $string = join '', @file_content;
QuoteZwecks MIME::LITE --> würde ich gerne nutze ist nur auf dem Server nicht drauf wo ich aktuell probiere. Und installieren kann ich da leider nichts
ModuleWieInstalliereIchEinModul
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem2010-05-27T17:29:18 pqwie lange programmierst du denn schon perl?
2010-05-27T17:29:18 pqMIME::Lite ist pureperl, es sollte also mit der kopier-variante funktionieren.