#!/usr/bin/perl use MIME::Base64 qw(encode_base64); $mailprog ='/usr/sbin/sendmail'; open(MAIL, "|$mailprog -t") || die "Can't open $mailprog!\n)"; print MAIL "To: $ARGV[0] <$ARGV[0]\@yxz.de>\n"; print MAIL "From: $ARGV[1] \n"; print MAIL "Reply-to: muster\@xyz\n"; print MAIL "Subject: $ARGV[2] $ARGV[3] $ARGV[4]\n"; print MAIL "MIME-Version: 1.0\n"; # Trennerspezifikation für Attachements print MAIL "Content-Type: multipart/mixed;\n"; print MAIL "\tboundary=mail_attachement===============\n"; # Hinweis, wenn kein MIME-Standard unterstützt wird. print MAIL "This is a multi-part message in MIME format.\n"; print MAIL "\n"; print MAIL "\n"; # Abgrenzung der Email vom Header print MAIL "--mail_attachement===============\n"; # Trennerspezifikation Plaint Text mit HTML als Alternative print MAIL "Content-Type: multipart/alternative;\n"; print MAIL "\tboundary=plain_html===============\n"; # Abgrenzung der PLAIN von HTML #print MAIL "--plain_html===============\n"; #print MAIL "Content-Type: text/plain; charset=us-ascii\n"; #print MAIL "Content-Transfer-Encoding: quoted-printable\n"; #print MAIL "Alternative als Plain Text\n"; # neuer Content-Type sobald sich ein Bild im HTMLTEIL befindet print MAIL "--plain_html===============\n"; print MAIL "Content-Type: multipart/related;\n"; print MAIL "\tboundary=html_images===============\n"; # Abgrenzung der HTMLQUELLCODE vom Bild print MAIL "--html_images===============\n"; print MAIL "Content-Type: text/html; charset=us-ascii\n"; #print MAIL "Content-Transfer-Encoding: 7bit\n"; open(FILE, "$ARGV[7]/tmp/body.html"); read (FILE, $htmlfile, 60*57); print MAIL $htmlfile; close (FILE); # Einbinden des Bilds print MAIL "--html_images===============\n"; print MAIL "Content-Type: image/gif\n"; print MAIL "Content-ID: \n"; print MAIL "Content-Transfer-Encoding: base64\n"; print MAIL "Content-Disposition: inline; filename=\"image001.gif\"\n"; ### Kodierung auf base64 Basis open(FILE, "$ARGV[7]/image001.gif"); while (read(FILE, $buf, 60*57)) { print MAIL encode_base64($buf); } close(FILE); print MAIL "$ARGV[5]\n"; # Einbinden des Bilds print MAIL "--html_images===============\n"; print MAIL "Content-Type: image/gif\n"; print MAIL "Content-ID: \n"; print MAIL "Content-Transfer-Encoding: base64\n"; print MAIL "Content-Disposition: inline; filename=\"image002.gif\"\n"; ### Kodierung auf base64 Basis open(FILE, "$ARGV[7]/image002.gif"); while (read(FILE, $buf1, 60*57)) { print MAIL encode_base64($buf1); } close(FILE); print MAIL "\n"; # Abgrenzung der HTMLQUELLCODE vom Bild schließen print MAIL "--html_images===============--\n"; # Abgrenzung der PLAINTEXT vom HTMLTEIL schließen print MAIL "--plain_html===============--\n"; # Abgrenzung des TEXTTEIL vom ATTACHMENT print MAIL "--mail_attachement===============\n"; print MAIL "Content-Type: application/octet-stream; name=\"$ARGV[6]\"\n"; print MAIL "Content-ID: <$ARGV[6]>\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-Disposition: attachement; filename=\"$ARGV[6]\"\n"; open(FILE, "$ARGV[7]/tmp/$ARGV[6]") or die "Can't open data: '$ARGV[6]'!\n$!"; read(FILE, $buf2, 60*57); print MAIL $buf2; close(FILE); print MAIL "\n"; # Abgrenzung des TEXTTEIL vom ATTACHMENT schließen print MAIL "--mail_attachement===============--\n"; close (MAIL);