Howdie Folks,
Ich soll für jemanden ein Script installieren, das Dateien vom Webspace als Mailanhang verschickt. Das funktioniert auf meinem Webspace und localhost (PHP > 4.2) einwandfrei, nur leider nicht da wo es soll (PHP 4.0.6).
Hier mal die Info: PHP-Info des Servers
Lasse ich mir von dort eine Datei schicken, wird bei meinen Mailprogrammmen(StarMail, Postme) alles korrekt angezeigt. Bei Outlook kommt angeblich nix (hab´ ich leider oder Gott sei dank nicht installiert), bei Webmail von t-online erscheint der Absender und folgende Botschaft:
Da ist es egal ob ich HTML aktiviere oder nicht, die Botschaft bleibt die gleiche.
Ich vermute das hat irgendwas mit den Boundaries zu tun, habe aber schon verschiedenes ausprobiert und krieg es einfach nicht gebacken.
Hier ist mal das Skript, Ihr könnt es aber auch auf dem Webspace testen und euch das komplette Skript (4 kB) zuschicken lassen. Kuckst Du hier!
Ich bin froh über alle Tips, da ich langsam keine Haare zum Raufen mehr habe
Schonmal Danke für alles was hilfetechnisch von euch rüberkommt.
So long,
Cowboy
Ich soll für jemanden ein Script installieren, das Dateien vom Webspace als Mailanhang verschickt. Das funktioniert auf meinem Webspace und localhost (PHP > 4.2) einwandfrei, nur leider nicht da wo es soll (PHP 4.0.6).
Hier mal die Info: PHP-Info des Servers
Lasse ich mir von dort eine Datei schicken, wird bei meinen Mailprogrammmen(StarMail, Postme) alles korrekt angezeigt. Bei Outlook kommt angeblich nix (hab´ ich leider oder Gott sei dank nicht installiert), bei Webmail von t-online erscheint der Absender und folgende Botschaft:
Die eMail enthält keine Textteile. Für die Anzeige von HTML-Inhalten wählen Sie bitte in den Einstellungen 'HTML-Anhänge direkt anzeigen'
Ich vermute das hat irgendwas mit den Boundaries zu tun, habe aber schon verschiedenes ausprobiert und krieg es einfach nicht gebacken.
Hier ist mal das Skript, Ihr könnt es aber auch auf dem Webspace testen und euch das komplette Skript (4 kB) zuschicken lassen. Kuckst Du hier!
Ich bin froh über alle Tips, da ich langsam keine Haare zum Raufen mehr habe
Schonmal Danke für alles was hilfetechnisch von euch rüberkommt.
So long,
Cowboy
PHP-Code:
<?php
require("./config_inc.php");
if(!empty($HTTP_POST_VARS["vorname"]) && !empty($HTTP_POST_VARS["name"]) && preg_match("/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})/",$HTTP_POST_VARS["email"]) && !empty($HTTP_POST_VARS["datei"])) {
$ip = $_SERVER["REMOTE_ADDR"];
$bo = strtoupper(md5(uniqid(time())));
/********************/
while(list($key,$val) = each($HTTP_POST_VARS['datei'])) {
$body_2 .= "\r\n\r\n" . ($key + 1) . ". Anhang: " . $val;
$body_2 .= "\r\nDateigröße: " . number_format((filesize($ordner . $val) / 1024),2,",",".") . " KB";
$ex = array_pop(preg_split("/[.]/",basename($val)));
$ct = array();
require("./content_type.php");
$fp = fopen($ordner . $val,$ct[0]);
$anhang = fread($fp,filesize($ordner . $val));
fclose($fp);
$anhang = chunk_split(base64_encode($anhang));
$dat .= "\r\n------=_NextPart_" . $bo;
$dat .= "\r\nContent-Type: " . $ct[1] . ";";
$dat .= "\r\n name=\"" . $val . "\"";
$dat .= "\r\nContent-Transfer-Encoding: " . $ct[2];
$dat .= "\r\nContent-Disposition: attachment;";
$dat .= "\r\n filename=\"" . $val . "\"\r\n\r\n";
$dat .= $anhang;
}
/********************/
$head = "From: \"" . $abs_name . "\" <" . $abs_email . ">";
$head .= "\r\nMIME-Version: 1.0";
$head .= "\r\nContent-Type: multipart/mixed;";
$head .= "\r\n boundary=\"----=_NextPart_" . $bo . "\";";
$head .= "\r\nX-Mailer: PHP/" . phpversion();
$head .= "\r\nX-Sender-IP: " . $ip;
$body_1 = "\r\n\r\nHallo " . $HTTP_POST_VARS["vorname"] . " " . $HTTP_POST_VARS["name"] . ",\r\n";
$body_3 = "\r\n\r\n\r\nGruß";
$body_3 .= "\r\n" . $abs_name;
$inha = "This is a multi-part message in MIME format.";
$inha .= "\r\n\r\n------=_NextPart_" . $bo;
$inha .= "\r\nContent-Type: text/plain;";
$inha .= "\r\n charset=\"iso-8859-1\"";
$inha .= "\r\nContent-Transfer-Encoding: quoted-printable";
$inha .= imap_8bit($body_1 . $body_2 . $body_3) . "\r\n";
$inha .= $dat;
$inha .= "\r\n------=_NextPart_" . $bo . "--";
/********************/
mail($HTTP_POST_VARS["email"],"Ihre Datei(en)",$inha,$head);
header("Location: " . $seit_end);
exit;
} else {
echo <<<code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="de">
<title>E-Mail mit Anhang</title>
<link rel="stylesheet" href="./email_anhang.css" type="text/css">
</head>
<body>
<table align="center" border="0" cellspacing="5" cellpadding="3">
<form name="formular" action="{$PHP_SELF}" method="post">
<tr>
<td>Vorname:</td>
<td><input name="vorname" type="text" size="15" value="{$HTTP_POST_VARS["vorname"]}"></td>
<td>Name:</td>
<td><input name="name" type="text" size="15" value="{$HTTP_POST_VARS["name"]}"></td>
</tr>
<tr>
<td>E-Mail:</td>
<td colspan="3"><input class="inp" name="email" type="text" size="30" value="{$HTTP_POST_VARS["email"]}"></td>
</tr>
<tr>
<td class="wich" colspan="4">Bitte wählen Sie die Datei(en) aus!</td>
</tr>
<tr>
<td colspan="4"><select class="inp" name="datei[]" size="5" multiple>
code;
/********************/
$folder = opendir($ordner);
while($_file = readdir($folder)) {
if(!is_dir($ordner . $_file) && $_file != "." && $_file != ".." && $_file != ".htaccess" && $_file != ".htpasswd") {
echo " <option value=\"" . $_file . "\">" . $_file . "</option>\r\n";
}
}
closedir($geheim);
/********************/
echo <<<code
</select></td>
</tr>
<tr align="center">
<td colspan="4"><input type="Submit" value="Schick mir das!"></td>
</tr>
</form>
</table>
</body>
</html>
code;
}
?>
Kommentar