Hallo, hab nun schon zig Anleitungen, Formmailer angesehen, Bücher gewälzt etc. Ich bekomm es einfach nicht hin eine Email mit Anhang zu senden wo der Sender die Datei anhängt. Hier mal im Auszug was ich teste. Sieht jemand den Fehler?
Gruß Rainer
<?php
if(isset($_POST["FormSend"])){
$msg = "";
$absender = "from@example.com";
$absendername = "My Form";
$empfaenger = "$to@xample.com";
$subject = "Mail mit Anhang";
$boundary = "----=_".md5(uniqid(mt_rand(), 1))."";
$Header = "FROM:$absendername <$absender>\r\n";
$Header .= "MIME-Version: 1.0\r\n";
$Header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
$msg = "$boundary\r\n";
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: 7bit\r\n";
foreach($_POST as $key => $value)
{
$value = mysql_real_escape_string($value);
$value = htmlentities("$value", ENT_QUOTES);
if($key == "FormSend"){}else{
$msg .= "$key: $value\r\n";
}
}
$msg .= "".$boundary."--\r\n";
$msg .= "\r\n$boundary\r\n";
$msg .="Content-Type: application/octetstream; name=".$_FILES["Anhang"]["name"]."\r\n";
$msg .="Content-Transfer-Encoding: base64\r\n";
$msg .="Content-Disposition: attachment; filename=".$_FILES["Anhang"]["name"]."\r\n";
$zeiger_auf_datei=@fopen($_FILES["Anhang"]["tmp_name"],"rb");
$inhalt_der_datei=@fread($zeiger_auf_datei,filesize($_FILES["Anhang"]["name"]));
@fclose($zeiger_auf_datei);
$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
$msg .= $inhalt_der_datei;
$msg .= "".$boundary."--";
@mail($empfaenger,$subject,$msg,$Header);
}
?>
<form id="form-1" action="" enctype="multipart/form-data" method="post">
<fieldset>
<label id="label-2" for="Name">Name</label>
<input id="item-2" name="Name" type="text" value="" maxlength="" />
</fieldset>
<fieldset>
<label id="label-29" for="Anhang">Anhang</label>
<input name="Anhang" type="file" style="" />
</fieldset>
<button id="ButtonSend" name="FormSend" class="Button" type="submit">Absenden</button>
</form>