title image


Smiley SENDMAIL mit Attachments
Hier die Vorgehensweise bei Anhang einer lokalen (Binär)DateiMIME kodiert als Base 64-------use MIME::Base64;open(FILE, "$read_bytes = read(FILE, $file_buffer, $min_buffer_size);# $min_buffer_size fuer die wirklich minimal gebrauchte größe anpassen.# falls die Datei groesser sein sollte wird der Puffer angepasst.close(FILE);if (not defined $read_bytes) { warn "Fehler beim Lesevorgang";# Warn bricht nicht ab, die Mail geht also notfalls ohne Attachment raus.}$encoded = encode_base64($file_buffer);$BOUNDARY = "_-_New_Part_Starts_Here_-_";open(MAIL, "|/usr/sbin/sendmail -t") || die ("Could not send out email");print MAIL "From: $from_email \n";print MAIL "To: $to_email\n";print MAIL "Reply-To: $reply_email\n";print MAIL "Subject: EMAIL\n";print MAIL "MIME-Version: 1.0\n";print MAIL "Content-type: multipart/mixed;\n\tboundary=$BOUNDARY\n";print MAIL "\n";print MAIL "\n--$BOUNDARY\n";print MAIL "Content-type: text/plain; charset=US-ASCII\n";print MAIL "\n";print MAIL "Begleittext der mitgeschickt werden soll.\n";print MAIL "\n--$BOUNDARY\n";print MAIL "Content-Disposition: attachment; filename=\"$filename\"\n";print MAIL "Content-type: application/zip;\tname=\"$filename\"\n";print MAIL "Content-Transfer-Encoding: base64\n";print MAIL "\n";print MAIL $encoded;print MAIL "\n--$BOUNDARY--\n";close (MAIL);-------Die Leerzeilen MÜSSEN drinbleiben, sonst erkennt der Mail-Client dasEnde des Headers und den Datenanfang nicht (Outlook läßt grüßen).Hoffe es hilft dir... HeXa

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: