Hallo Forum,
wieder einmal melde ich mich mit folgendem Problem. Ich hab hier ein Script, das ich von einem Freund bekommen hab. Es dient dazu Emails mit Alternativetext und Anhang zu versenden. Soweit klappt das auch, nur wenn ich mit Anhang versende, bekomm ich keine vernüftige Endung zustande, wenn ich eine Variable (siehe Inputfeld) zum auslesen angebe.
Vielleicht kennt sich jemand damit aus. Bin da ein bisschen unerfahren, was dieses Header-Dingens angeht. Danke.
Variable:
wieder einmal melde ich mich mit folgendem Problem. Ich hab hier ein Script, das ich von einem Freund bekommen hab. Es dient dazu Emails mit Alternativetext und Anhang zu versenden. Soweit klappt das auch, nur wenn ich mit Anhang versende, bekomm ich keine vernüftige Endung zustande, wenn ich eine Variable (siehe Inputfeld) zum auslesen angebe.
Vielleicht kennt sich jemand damit aus. Bin da ein bisschen unerfahren, was dieses Header-Dingens angeht. Danke.
PHP-Code:
<?php
function validate_email($email){
if ( !eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email) ) {
return false;
} else {
return true;
}
}
function send_MIME_email( $email ){
if( empty($email["recip"]) || empty($email["sender"]) || empty($email["subject"]) ) {
echo "Empfänger, Absender und/oder Betreff wurde(n) nicht eingegeben!";
return false;
}
if( !validate_email($email["recip"]) || !validate_email($email["sender"]) ) {
echo "Die Email Adressen von Sender und/oder Empfänger ist ungültig!";
return false;
}
if( empty($email["content"]["plain"]) && empty($email["content"]["html"]) ) {
echo "Es wurde weder Text-Inhalt noch HTML-Inhalt angegeben!";
return false;
}
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From: ".$email["sender"];
$mail_header .= "\nMIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/alternative; boundary=".$boundary;
$mail_header .= "\n\nThis is a multi-part message in MIME format";
if( !empty($email["content"]["plain"]) ){
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$email["content"]["plain"];
}
if( !empty($email["content"]["html"]) ){
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: text/html";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$email["content"]["html"];
}
if( !empty($email["attachment"]) ){
$file = $email["attachment"];
$filename = basename( $file );
if( @is_file($file) && @is_readable($file) ){
$fp = @fopen( $file, "rb" );
if( $fp ){
$buffer = fread( $fp, filesize($file) );
$buffer = base64_encode( $buffer );
$buffer = chunk_split( $buffer, 72 );
fclose($fp);
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: application/octet-stream; name=\"".$filename."\n\n\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$filename."\n\n\"";
$mail_header .= "\n\n".$buffer;
} else {
echo "Die Datei konnte nicht geöffnet werden!";
}
}
}
if( !@mail($email["recip"],$email["subject"],"",$mail_header) ) {
return false;
} else {
return true;
}
}
$MIME_email = array();
$MIME_email["recip"] = "$empfaenger";
$MIME_email["sender"] = "$absend";
$MIME_email["subject"] = "$betreff";
$MIME_email["content"] = array();
$MIME_email["content"]["plain"] = "$msg1";
$MIME_email["content"]["html"] = "<HTML><HEAD><TITLE>Newsletter</TITLE></HEAD>"
."<BODY bgcolor='#ffffff' text='#000000'>$msg</BODY></HTML>";
$MIME_email["attachment"] = "$datei";
if( !send_MIME_email( $MIME_email ) ){
echo "Email konnte nicht versendet werden!<br><br>";
} else {
echo "Email wurde versandt!<br><br>";
}
?>
PHP-Code:
<input type=file name=datei>
Kommentar