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;
Guest DanniFreue mich über jeden Tipp was ich da zwecks encoding machen muss für binäre Dateien.
Guest 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; }
1
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
my @file_content = DATA;
my @file_content = <DATA>;
Guest 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
2010-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.